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
49b3c52843
implement parser support for function types.
...
Swift SVN r50
2010-07-22 02:11:49 +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
b1d25371e3
type things as VarDecl instead of as Decl, return things by value from
...
void parse methods.
Swift SVN r48
2010-07-22 00:47:53 +00:00
Chris Lattner
aa126e87f9
add a new SemaType module, add parser support for tuples.
...
Add lexer support for ->. Expand the testcase.
Swift SVN r47
2010-07-21 07:17:43 +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
cea9a29739
fix some include guards and an uninitialized member
...
Swift SVN r43
2010-07-19 06:11:19 +00:00
Chris Lattner
a3795e1540
actually invoke the ast consumer.
...
Swift SVN r42
2010-07-19 05:53:48 +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
c5e54442b4
make the parser actually create VarDecl AST nodes.
...
Swift SVN r38
2010-07-19 05:08:21 +00:00
Chris Lattner
340a7faa01
stub out Decl AST's.
...
Swift SVN r37
2010-07-19 04:59:13 +00:00
Chris Lattner
9eb6733531
Exprs have types.
...
Swift SVN r36
2010-07-19 04:42:58 +00:00
Chris Lattner
a3164a1a1a
add void type.
...
Swift SVN r35
2010-07-19 04:40:47 +00:00
Chris Lattner
9e8489a042
make the parser build type asts.
...
Swift SVN r34
2010-07-19 04:37:51 +00:00
Chris Lattner
f36e4aa921
introduce Type ast node.
...
Swift SVN r33
2010-07-19 04:33:59 +00:00
Chris Lattner
a63671f116
add binary expression ast node.
...
Swift SVN r31
2010-07-19 00:57:54 +00:00
Chris Lattner
17aad28720
set up expression kinds, add ParenExpr ast node.
...
Swift SVN r30
2010-07-19 00:51:28 +00:00
Chris Lattner
a39a7ec6a2
make the sema methods be prefixed with ActOn
...
Swift SVN r29
2010-07-19 00:46:09 +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
d6edeb7a8b
thread Expr* results through the parser and SemaExpr.
...
Swift SVN r27
2010-07-19 00:15:02 +00:00
Chris Lattner
910f84b6ae
thread astcontext from the driver, down through Sema.
...
Swift SVN r26
2010-07-19 00:07:47 +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
Chris Lattner
b45fe8abf5
set up semaexpr and sema base. Give SemaExpr a couple trivial methods.
...
Swift SVN r24
2010-07-18 23:54:47 +00:00
Chris Lattner
c02e462b58
wire sema up to the Parser.
...
Swift SVN r22
2010-07-18 23:00:47 +00:00
Chris Lattner
68a2d3a33c
stub out the Sema object.
...
Swift SVN r21
2010-07-18 22:59:13 +00:00
Chris Lattner
66fe17ffdb
parse some trivial binary expression, like:
...
var x3 = 4+5*4+12/97;
Swift SVN r20
2010-07-18 22:55:11 +00:00
Chris Lattner
3e53d83874
implement support for parenthesized expressions.
...
Swift SVN r19
2010-07-18 22:36:34 +00:00
Chris Lattner
9460c31203
implement enough parser support to parse:
...
var x : int;
var x2 = 4;
Swift SVN r16
2010-07-18 21:31:34 +00:00
Chris Lattner
5450892284
Set up trivial parser support stuff and sketch out a few
...
productions. We can now get this far:
simple.swift:4:5: error: expected a top level declaration
var x : int;
^
simple.swift:5:5: error: expected a top level declaration
var x2 = 4;
^
Yay for amazing error recovery!
Swift SVN r14
2010-07-18 21:00:30 +00:00
Chris Lattner
05f5028b7a
stub out a parser hook.
...
Swift SVN r13
2010-07-18 20:17:04 +00:00
Chris Lattner
3cd9e46705
add numeric constant support, we can now lex exciting stuff
...
like this:
// Comment.
var x : int;
var x2 = 4;
var x3 = 4+5;
Swift SVN r11
2010-07-18 19:01:18 +00:00
Chris Lattner
6236deaabc
implement lexer support for identifiers and our 2 keywords so far.
...
Swift SVN r10
2010-07-18 18:57:12 +00:00
Chris Lattner
80ba9c7e66
add some more punctuator characters and // comments.
...
Swift SVN r9
2010-07-18 01:44:13 +00:00
Chris Lattner
461f41edb1
start lexing trivial tokens, discard whitespace between them.
...
Swift SVN r8
2010-07-18 01:32:14 +00:00
Chris Lattner
db8e1301ff
Start setting up the lexer object.
...
Swift SVN r7
2010-07-18 01:14:09 +00:00
Chris Lattner
874badb51b
consolidate lexer stuff into the Parser lib.
...
Swift SVN r6
2010-07-18 00:50:29 +00:00
Chris Lattner
5e88a21755
sketch out lexer and token interfaces.
...
Swift SVN r5
2010-07-18 00:48:07 +00:00