Commit Graph

1828 Commits

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