about summary refs log tree commit diff
path: root/src/comp/syntax/ast.rs
AgeCommit message (Collapse)AuthorLines
2011-08-15Tuple types back, not constructable yetMarijn Haverbeke-0/+2
2011-08-12Rename str::connect_ivec to str::connectBrian Anderson-1/+1
2011-08-10Introduce a ty_infer ast node and use it instead of option::t[ty].Michael Sullivan-2/+6
This actually basically makes things worse, since we get less nice type system guarentees but it will make doing type inferred blocks a fair deal less painful. I'm not /really/ happy about this...
2011-08-10Eliminate the last vestiges of init_recv.Michael Sullivan-1/+1
2011-08-10Some trivial cleanup.Michael Sullivan-30/+1
2011-08-09Port the compiler to the ivec type [T] syntax.Erick Tryzelaar-48/+48
2011-08-08Add new arg-passing mode 'move' denoted with '-T'. Translate as ↵Graydon Hoare-1/+1
pass-by-value, doesn't deinit source yet nor get proper analysis in typestate, alias passes.
2011-08-05rustc: Add inlineness to the fn decl insteadPatrick Walton-0/+3
2011-08-05Revert "rustc: Introduce the concept of inline to the AST"Patrick Walton-3/+1
This reverts commit 9b9170f9fe2e4701255a5bd0630c203409d8e934.
2011-08-05rustc: Introduce the concept of inline to the ASTPatrick Walton-1/+3
2011-08-03Make ast::pat_bindings an iteratorMarijn Haverbeke-15/+21
And use it to get rid of some repetetive code
2011-08-01Partially implement destructuring localsMarijn Haverbeke-7/+25
You can now say let {bcx, val} = some_result_returner(); Similar for loop variables. Assigning to such variables is not safe yet. Function arguments also remain a TODO.
2011-07-29Remove unreachable statementsMarijn Haverbeke-1/+0
2011-07-29Remove support for obj dtorsMarijn Haverbeke-11/+4
2011-07-28The names 'outer' and 'inner' make more sense than 'self' and 'with'.Lindsey Kuper-3/+2
(Also, some formatting and long-string cleanup.)
2011-07-28Thread kinds into the type system. Don't quite activate yet, since it breaks ↵Graydon Hoare-2/+2
stdlib and snapshot isn't ready to compile modified stdlib.
2011-07-28Change macro syntax to accept a single expr, not a sequence of exprs.Paul Stansifer-1/+1
2011-07-28Parse, store and print type parameter kind constraints.Graydon Hoare-1/+1
2011-07-27Remove vestiges of "layers", insert skeletal do-nothing "kind" pass plus ↵Graydon Hoare-1/+1
cached calculation of kind for each type.
2011-07-27Reformat for new syntaxMarijn Haverbeke-230/+230
2011-07-26Add block and closure protos and parse/pp block and lambda exprs.Michael Sullivan-1/+1
2011-07-26Remove tuple support from the compilerMarijn Haverbeke-2/+0
2011-07-26Remove all uses of tuples from the compiler and stdlibMarijn Haverbeke-4/+6
2011-07-25Rename the block type to be blk also. Sorry.Michael Sullivan-14/+14
2011-07-22Add a "fake" def_upvar and mechanisms to create it.Michael Sullivan-0/+6
2011-07-22Start adding support for multiple variable declarations per stmtMarijn Haverbeke-1/+1
This adds parser support and most of the machinery for auto x = 10, y = 20; However, the above still goes wrong somewhere in typestate, causing the state checker to believe only the last variable in the list is initialized after the statement. Tim, if you have a moment, could you go over the changes to the tstate code in this patch and see where I'm going wrong? Multi-var-decls without the typestate extension Add a loop
2011-07-21Consolidate obj_field_from_anon_obj_field().Lindsey Kuper-0/+5
2011-07-21Remove vestiges of typarams from anon objs.Lindsey Kuper-1/+1
2011-07-19Beginnings of support for constrained typesTim Chevalier-21/+18
Programs with constrained types now parse and typecheck, but typestate doesn't check them specially, so the one relevant test case so far is XFAILed. Also rewrote all of the constraint-related data structures in the process (again), for some reason. I got rid of a superfluous data structure in the context that was mapping front-end constraints to resolved constraints, instead handling constraints in the same way in which everything else gets resolved.
2011-07-18Support x86 stdcall conventionBrian Anderson-0/+1
This allows rust to call the Win32 API
2011-07-13Prohibit trailing whitespace under 'tidy' script. Clean up all caught cases.Graydon Hoare-1/+1
2011-07-13box patterns, expect for the trans partMarijn Haverbeke-0/+2
2011-07-11So... I can't spell 'ellipsis'.Paul Stansifer-1/+1
2011-07-11Add elipses, reorganize the macro components into their own AST node.Paul Stansifer-1/+12
2011-07-11Move macro expansion to a separate phase, change macro syntax, and add ↵Paul Stansifer-1/+1
parse_sess to session.
2011-07-11Add nodes for embedding types and blocks in expressions for macros.Paul Stansifer-1/+0
2011-07-11rustc: Implement explicit global scope resolution via leading "::"; add a ↵Patrick Walton-1/+1
test case
2011-07-11Implement record patternsMarijn Haverbeke-0/+6
Closes #469.
2011-07-11Implement or-patterns in case clausesMarijn Haverbeke-1/+20
You can now say expr_move(?dst, ?src) | expr_assign(?dst, ?src) { ... } to match both expr_move and expr_assign. The names, types, and number of bound names have to match in all the patterns. Closes #449.
2011-07-09Track the path as we fold over the AST looking for unit tests. Issue #428Brian Anderson-1/+3
2011-07-07rustc: Remove all exterior vectors from the ASTPatrick Walton-7/+6
2011-07-07rustc: Change lots of AST nodes to use interior vectorsPatrick Walton-22/+22
2011-07-06rustc: Make constraint args in the AST interior vectorsPatrick Walton-1/+1
2011-07-06rustc: Move AST constraints to interior vectorsPatrick Walton-4/+4
2011-07-06rustc: Migrate core AST types to interior vectorsPatrick Walton-4/+4
2011-07-06rustc: Make AST tuple types use interior vectorsPatrick Walton-1/+1
2011-07-06rustc: Make meta items into interior vectorsPatrick Walton-3/+3
2011-07-06rustc: Move crate directives over to interior vectorsPatrick Walton-2/+2
2011-07-06rustc: Convert attribute in the AST to interior vectorsPatrick Walton-5/+5
2011-07-06rustc: Make AST paths use interior vectorsPatrick Walton-5/+7