about summary refs log tree commit diff
path: root/src/comp/syntax/parse
AgeCommit message (Collapse)AuthorLines
2011-07-15rustc: Remove a bunch of exterior vectorsPatrick Walton-108/+69
2011-07-14rustc: Move much of metadata reading over to interior vectorsPatrick Walton-6/+6
2011-07-13Prohibit trailing whitespace under 'tidy' script. Clean up all caught cases.Graydon Hoare-11/+11
2011-07-13Parse nullary ret correctlyTim Chevalier-9/+7
ret is similar to fail: if not followed by an expression, it should be parsed as a ret without an argument. The old version would fail if ret was followed by a close paren (for example). Fixed it. Closes #676.
2011-07-13Add some missing cases to token::can_begin_exprTim Chevalier-0/+4
2011-07-13box patterns, expect for the trans partMarijn Haverbeke-3/+8
2011-07-12rustc: Complete the transition of pprust to interior vectorsPatrick Walton-13/+12
2011-07-11Fix pretty-printing of literals again. Issue #672Brian Anderson-1/+6
The pos variable is one character beyond where I thought it was.
2011-07-11Make the parser add correct spans to view_itemsTim Chevalier-30/+19
Closes #650.
2011-07-11So... I can't spell 'ellipsis'.Paul Stansifer-3/+3
2011-07-11Change "etc" syntax for record patterns from `{a:b ...}` to `{a:b, _}`.Paul Stansifer-5/+6
2011-07-11Add elipses, reorganize the macro components into their own AST node.Paul Stansifer-6/+31
2011-07-11Move macro expansion to a separate phase, change macro syntax, and add ↵Paul Stansifer-49/+10
parse_sess to session.
2011-07-11Add nodes for embedding types and blocks in expressions for macros.Paul Stansifer-28/+40
2011-07-11Add parser::parse_crate_from_source_strBrian Anderson-0/+18
The fuzzer wants to be able to do stuff like this
2011-07-11Pull lexer creation out of new_parserBrian Anderson-15/+20
This will allow custom lexers to be injected into the parser (for fuzzing)
2011-07-11Pull file reading out of the lexerBrian Anderson-10/+11
2011-07-11rustc: Implement explicit global scope resolution via leading "::"; add a ↵Patrick Walton-6/+18
test case
2011-07-11The lexer's get_mark_str should slice by byte position, not char. Closes #654Brian Anderson-3/+4
2011-07-11Implement record patternsMarijn Haverbeke-0/+39
Closes #469.
2011-07-11Implement or-patterns in case clausesMarijn Haverbeke-11/+23
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-07rustc: Remove all exterior vectors from the ASTPatrick Walton-29/+27
2011-07-07rustc: Change lots of AST nodes to use interior vectorsPatrick Walton-60/+62
2011-07-06rustc: Make constraint args in the AST interior vectorsPatrick Walton-2/+3
2011-07-06rustc: Move AST constraints to interior vectorsPatrick Walton-6/+6
2011-07-06rustc: Migrate core AST types to interior vectorsPatrick Walton-5/+5
2011-07-06rustc: Make AST tuple types use interior vectorsPatrick Walton-2/+2
2011-07-06rustc: Make meta items into interior vectorsPatrick Walton-7/+35
2011-07-06rustc: Move crate directives over to interior vectorsPatrick Walton-9/+8
2011-07-06rustc: Convert attribute in the AST to interior vectorsPatrick Walton-48/+44
2011-07-06rustc: Make AST paths use interior vectorsPatrick Walton-7/+18
2011-07-06Simplify AST for expr_anon_obj.Lindsey Kuper-3/+2
2011-07-06rustc: Revert the conversion to interior vectors due to heap corruptionPatrick Walton-103/+69
2011-07-06Temp commit on the way to making meta_item into an interior vectorPatrick Walton-7/+35
2011-07-06rustc: Move crate directives over to interior vectorsPatrick Walton-9/+8
2011-07-06rustc: Convert attribute in the AST to interior vectorsPatrick Walton-48/+44
2011-07-06rustc: Make AST paths use interior vectorsPatrick Walton-7/+18
2011-07-06Support paren-free and lightweight-case syntaxMarijn Haverbeke-21/+10
(The old syntax is still supported as well, for now.) It is now possible to leave out the parens around if, while, and do/while conditions, and around alt expressions. Cases in an alt block can now leave off the case keyword and parens around the pattern. After the next snapshot, we can start migrating our code to use the new alt syntax, probably with a pretty-printer pass. The paren-free syntax will remain optional (you may always parenthesize expressions), but the old case syntax will no longer be supported in the future.
2011-07-06Remove temporary stdlib placeholders, use actual stdlib functionsMarijn Haverbeke-2/+2
(Possible now that a snapshot took place.)
2011-07-05Change ast::meta_name_value to accept any literal, not just stringBrian Anderson-11/+3
This isn't useful for much of anything yet, since metadata::encoder doesn't know how to handle the non-string variants. Issue #611
2011-07-05Remove unused eval function. Issue #604Brian Anderson-17/+0
2011-07-05Parse attributes for native items. Closes #609Brian Anderson-10/+30
2011-07-05Move everything syntax-related to syntax/, break deps on rest of compilerMarijn Haverbeke-0/+3552
src/comp/syntax is currently just a sub-module of rustc, but it will, in the near future, be its own crate. This includes: - The AST data structure - The parser - The pretty-printer - Visit, walk, and fold - The syntax extension system - Some utility stuff that should be in the stdlib* *) Stdlib extensions currently require a snapshot before they can be used, and the win build is very broken right now. This is temporary and will be cleaned up when one of those problems goes away. A lot of code was moved by this patch, mostly towards a more organized layout. Some package paths did get longer, and I guess the new layout will take some getting used to. Sorry about that! Please try not to re-introduce any dependencies in syntax/ on any of the other src/comp/ subdirs.