Chris Lattner
9d33ef3616
add infrasturctuer for binding to "named anonymous" arguments.
...
Swift SVN r108
2010-07-27 21:37:29 +00:00
Chris Lattner
874421d4ce
Implement AST and Sema support for auto-closures. We now parse:
...
var closure1 : () -> int = 4; // Function producing 4 whenever it is called.
var closure2 : (int,int) -> int = 4; // Has some (dead) arguments.
into:
(vardecl 'closure1' type='() -> int'
(closure_expr type='() -> int'
(integer_literal type='int' value=4)))
(vardecl 'closure2' type='(int, int) -> int'
(closure_expr type='(int, int) -> int'
(integer_literal type='int' value=4)))
Swift SVN r101
2010-07-27 06:27:02 +00:00
Chris Lattner
8562512be0
test commit
...
Swift SVN r97
2010-07-27 05:39:40 +00:00
Chris Lattner
da8a6af90a
add a new expression to model sequences instead of hacking up braceexpr to do it.
...
Swift SVN r94
2010-07-25 23:22:29 +00:00
Chris Lattner
a6b810b3e6
Enforce type rules in SemaExpr::ActOnBinaryExpr, validating that proper types are passed into the LHS/RHS of the operator.
...
Swift SVN r92
2010-07-25 23:04:03 +00:00
Chris Lattner
fa78da101b
implement lazy construction of canonical types, ala clang. This only affect tuples at the moment, but will affect type aliases someday.
...
Swift SVN r90
2010-07-25 22:41:05 +00:00
Chris Lattner
7e0123c768
Kill off add/sub/mul/div as special AST nodes. Instead, + is just yet-another identifier token and BinaryExpr is a generalized infix call expression.
...
Swift SVN r88
2010-07-25 19:16:45 +00:00
Chris Lattner
12fa92e146
Add a new ApplyExpr expression AST node for function application.
...
Swift SVN r85
2010-07-25 05:37:45 +00:00
Chris Lattner
9b42d1b273
enhance parenexpr to be tupleexpr. The grouping paren case is just a special case of a tuple literal with one child.
...
Swift SVN r81
2010-07-24 21:24:44 +00:00
Chris Lattner
2bafb0e8fb
Introduce new NamedDecl and FuncDecl classes. The difference between the two is syntactic sugar, so most clients want NamedDecl. This doesn't implement FuncDecl yet, which isn't a high prio for me in the short term.
...
Swift SVN r77
2010-07-24 19:09:09 +00:00
Chris Lattner
64ecbb8a9c
Implement AST and trivial Sema support for brace expressions.
...
Swift SVN r70
2010-07-23 19:39:51 +00:00
Chris Lattner
58185415a1
now that we have name lookup, we can implement references to
...
other values. crazzay.
Swift SVN r67
2010-07-23 05:48:20 +00:00
Chris Lattner
ed1be4f17a
add printing support for Identifier, switch VarDecl to have an
...
identifier instead of a stringref.
Swift SVN r63
2010-07-23 03:50:09 +00:00
Chris Lattner
8bf327b648
add a new AST/Identifier class which represents a uniqued string.
...
Add support to ASTContext to unique strings into identifiers.
Swift SVN r62
2010-07-23 03:40:02 +00:00
Chris Lattner
a860fe44db
implement support for printing types, add them to -ast-dump
...
Swift SVN r58
2010-07-22 06:33:03 +00:00
Chris Lattner
34602d5d22
Make Expr::Kind public.
...
Swift SVN r57
2010-07-22 06:10:31 +00:00
Chris Lattner
d6c8f0b621
make the AST representation of void just be ().
...
Swift SVN r53
2010-07-22 05:49:57 +00:00
Chris Lattner
fba7359c9c
eliminate a #include from ASTContext.h
...
Swift SVN r52
2010-07-22 05:47:33 +00:00
Chris Lattner
842821d541
add FunctionType, have sema create it and have ASTContext
...
unique it.
Swift SVN r51
2010-07-22 05:44:17 +00:00
Chris Lattner
c363b58ea1
Introduce TupleType, an AST representation of tuples.
...
Swift SVN r49
2010-07-22 01:58:01 +00:00
Chris Lattner
f7c8e53359
implement isa/dyncast and dumping support for exprs.
...
We can now parse and print this:
var x3 = 4+5*4+12/97;
into:
(vardecl 'x3'
(binary_expr
(binary_expr
(integer_literal 4)
(binary_expr
(integer_literal 5)
(integer_literal 4)))
(binary_expr
(integer_literal 12)
(integer_literal 97))))
Swift SVN r46
2010-07-19 06:52:08 +00:00
Chris Lattner
547b2a8003
implement vardecl dumping and Casting.h support for decls.
...
Swift SVN r45
2010-07-19 06:39:56 +00:00
Chris Lattner
669c129ab0
introduce new ASTConsumer interface, have parser invoke methods
...
on it.
Swift SVN r41
2010-07-19 05:50:41 +00:00
Chris Lattner
2eeee5faca
give ASTContext a SourceMgr reference, add diagnostic hooks to SemaBase.
...
Swift SVN r39
2010-07-19 05:13:55 +00:00
Chris Lattner
340a7faa01
stub out Decl AST's.
...
Swift SVN r37
2010-07-19 04:59:13 +00:00
Chris Lattner
a3164a1a1a
add void type.
...
Swift SVN r35
2010-07-19 04:40:47 +00:00
Chris Lattner
f36e4aa921
introduce Type ast node.
...
Swift SVN r33
2010-07-19 04:33:59 +00:00
Chris Lattner
66199fa090
implement a new IntegerLiteral ast node, add plumbing for
...
allocation of exprs from ASTContext.
Swift SVN r28
2010-07-19 00:42:30 +00:00
Chris Lattner
d3756f2627
Sketch out the new AST library, lets start with expressions.
...
Swift SVN r25
2010-07-19 00:05:11 +00:00