Commit Graph

3024 Commits

Author SHA1 Message Date
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