Commit Graph

1827 Commits

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