Chris Lattner
6fbe70dd87
convert TokenKind to a scoped enum, eliminating the old c++'98 hackaround to
...
emulate it.
Swift SVN r442
2011-07-24 19:28:36 +00:00
Chris Lattner
7275ca527a
pull in StringRef and Twine.
...
Swift SVN r422
2011-07-19 06:00:20 +00:00
Chris Lattner
e647b29339
stop the llvm-namespace-qualification-insanity by caving in and
...
adding a new swift/AST/LLVM.h file which forward declares and imports
common llvm classes, starting with SMLoc.
Swift SVN r420
2011-07-19 05:49:43 +00:00
Chris Lattner
504ee85c0e
introduce a 'meth' keyword.
...
Swift SVN r414
2011-07-19 04:19:40 +00:00
Chris Lattner
b9e7823656
Implement lexing and parsing support for a proper if expression. There
...
is no AST building or typechecking support yet. Document the intended
semantics in LangRef. This is clearly subject to change, but is a starting
point.
Swift SVN r393
2011-06-05 02:03:48 +00:00
Chris Lattner
de094d7cde
Introduce i1/i8/i16/i64 types, and switch int to be 64-bit.
...
Swift SVN r390
2011-05-31 03:48:36 +00:00
Chris Lattner
d23c2f26f3
Document and implement lexer and parser support for trivial import decls. No Sema/AST support yet.
...
Swift SVN r285
2011-03-18 22:52:48 +00:00
Chris Lattner
3bd8a85784
Fix weirdness in the lang spec by making $123 be a special type of implementation identifier token, handling it uniformly in the grammar in the few places that it is valid.
...
Swift SVN r215
2010-11-11 22:27:39 +00:00
Chris Lattner
906ba908fd
Rename 'data' to 'oneof', resolving a fixme in the spec. Yay for CLU!
...
Swift SVN r212
2010-11-11 01:20:36 +00:00
Chris Lattner
f92a3d56d7
Implement parser support for structs, improve datadecl dumping.
...
Swift SVN r192
2010-10-10 06:38:24 +00:00
Chris Lattner
43f2d1dfa5
wire up parser and basic sema support for scoped identifier expressions (X::Y).
...
Swift SVN r180
2010-10-09 23:01:17 +00:00
Chris Lattner
09a023c3cd
Now that we have simple user defined data types, remove the __builtin_else_hack type. woot.
...
Swift SVN r179
2010-10-09 22:06:13 +00:00
Chris Lattner
17c36aa749
add parser support for simple data declarations
...
Swift SVN r170
2010-10-09 18:42:54 +00:00
Chris Lattner
d2abfde434
introduce a new builtin type to represent the result of the else binary operator (which is a temporary hack until we get user defined types).
...
Use it to define ife/else. Fix some precedence/parsing bugs that implementing else exposed.
Swift SVN r162
2010-08-08 22:37:56 +00:00
Chris Lattner
e1e335610f
int is no longer a keyword, it is a type alias for the new __builtin_int32_type type.
...
Swift SVN r146
2010-08-04 05:27:45 +00:00
Chris Lattner
69133a6ed2
now that we have type aliases, eliminate void as a keyword.
...
Swift SVN r145
2010-08-04 05:16:37 +00:00
Chris Lattner
8f86874c19
add parser support for typealiases, we have to be able to exercise the canonical type system somehow.
...
Swift SVN r143
2010-08-04 04:42:13 +00:00
Chris Lattner
04f7a08621
add support for tuple field access with ".", e.g.:
...
var a : (int, var f : int, int);
var b = a.field0+a.field1+a.f;
This also eliminates TupleConvertExpr.
Swift SVN r137
2010-08-03 06:55:08 +00:00
Chris Lattner
fef3e71b42
stub out parsing of func declarations.
...
Swift SVN r95
2010-07-27 05:32:16 +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
94110869e0
add support for parsing attribute lists, and add the first attribute, infix=42. It is now parsed and slammed into the AST, but not used.
...
Swift SVN r79
2010-07-24 20:44:56 +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
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
a3164a1a1a
add void type.
...
Swift SVN r35
2010-07-19 04:40: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
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
874badb51b
consolidate lexer stuff into the Parser lib.
...
Swift SVN r6
2010-07-18 00:50:29 +00:00