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
315107d5c6
Use the new NullablePtr<> class to allow better error recovery when parsing invalid expressions.
...
Swift SVN r74
2010-07-24 18:48:37 +00:00
Chris Lattner
1103ff5227
Implement basic parser support for brace expressions.
...
Swift SVN r69
2010-07-23 18:33:49 +00:00
Chris Lattner
d8c6da6a3c
tweak comments. void is no longer in the AST, but it shouldn't even
...
be a keyword
Swift SVN r61
2010-07-22 06:51:03 +00:00
Chris Lattner
ac1200cda5
rename Token::getLocation() to Token::getLoc()
...
Swift SVN r54
2010-07-22 05:55:04 +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
cea9a29739
fix some include guards and an uninitialized member
...
Swift SVN r43
2010-07-19 06:11:19 +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
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
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
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
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