about summary refs log tree commit diff
path: root/src/comp/syntax
AgeCommit message (Collapse)AuthorLines
2011-09-24Vectors containing pinned kinds become pinnedBrian Anderson-9/+11
Otherwise they could be copied
2011-09-23Add missing case for pat_uniq to syntax::visitBrian Anderson-0/+1
Issue #409
2011-09-23Begin to support pattern matching on unique boxesBrian Anderson-0/+10
Issue #409
2011-09-23Remove backward-compatible support for 'mutable' before type.Marijn Haverbeke-8/+0
Closes #966
2011-09-21Revert "Implement pattern ranges for all numeric types."Marijn Haverbeke-18/+3
This reverts commit ce0f054f9d56df4e60291fc2e1b89ce979cf374f.
2011-09-21Implement pattern ranges for all numeric types.Josh Matthews-3/+18
2011-09-20Represent unique creation as a unop in the AST instead of its own exprBrian Anderson-10/+15
Like the box unop. Issue #409
2011-09-20Parse unique box typesBrian Anderson-0/+8
Issue #409
2011-09-19Break fold's circular reference during unwindingBrian Anderson-5/+7
This converts the AST fold into a resource that breaks it's own circular reference (just a temporary workaround until GC), so that failure during fold will unwind correctly. Issue #936
2011-09-16Require body of else-less if expressions to be a value-less blockMarijn Haverbeke-10/+14
For consistency with other constructs that could not possibly return a value (say, loops).
2011-09-16Change convention for specifying referenced argumentMarijn Haverbeke-2/+5
It is now 1-based, rather than 0 based. (Seems more natural, and allows 0 to be used to refer to self and maybe to closure.) Also allows non-referenced args to be implicitly copied again. Issue #918
2011-09-15Add parens, as needed, around else-if conditions.Jesse Ruderman-1/+1
2011-09-15Prevent binary expressions from parsing when lhs is non-value blockMarijn Haverbeke-0/+1
2011-09-15Require the parameter that will be referenced to be notedMarijn Haverbeke-8/+29
Issue #918
2011-09-15Forbid assignment to by-reference bindingsMarijn Haverbeke-2/+2
Issue #918
2011-09-15Add representation for by-ref let bindingsMarijn Haverbeke-8/+17
Issue #918
2011-09-15Ensure parens are wrapped around composite exprs in call/index/field posMarijn Haverbeke-5/+10
This is needed to fix the second example in issue #919
2011-09-15More thorough check for (.. 10).x in pretty-printerMarijn Haverbeke-5/+21
Closes #919
2011-09-15Also handle fail and put in print_maybe_parens_discrimMarijn Haverbeke-2/+5
Closes #920
2011-09-15Remove maybe_protect_block kludge from pretty-printerMarijn Haverbeke-86/+0
It is no longer needed.
2011-09-15Introduce new semicolon rulesMarijn Haverbeke-71/+44
- Loop bodies and resource constructors aren't allowed to have trailing expressions anymore. - An expression that ends* in a block without trailing expression can can not be called, indexed, or subscripted. - Only expression-statements that end* in a block without trailing expression can omit their semicolon. *) 'Ending in a trailing expression' is defined as being a block or construct-ending-in-a-block (if, alt) that either ends in an expression itself, or ends in another block-like expression that has a trailing expression (by these same rules).
2011-09-15Insert omitted semicolons for statementsMarijn Haverbeke-3/+2
2011-09-14Add syntax and representation for return-by-mutably-rooted-refMarijn Haverbeke-4/+17
This will be used in the near future to decide what can safely be done with the returned reference. Issue #918
2011-09-14Make most of the compiler aware of return-by-referenceMarijn Haverbeke-3/+6
tyencode/tydecode still don't know about it. return_ref will be extended to take arguments anyway.
2011-09-14Refactor parse_ret_ty, start parsing by-alias return specsMarijn Haverbeke-51/+24
2011-09-14Rename ast::controlflow to ast::ret_styleMarijn Haverbeke-18/+20
It will include information about returning by alias.
2011-09-14Add support for negative literals.Josh Matthews-6/+25
2011-09-13Improve lexing of float literalsMarijn Haverbeke-39/+36
Closes #575
2011-09-13Properly pretty-print 10.xMarijn Haverbeke-1/+9
Closes #890
2011-09-13Make pretty-printer wrap fail/ret/put in parens in call/index/field posMarijn Haverbeke-10/+14
Closes #764 Closes #891
2011-09-13Be more strict about what constitutes a block expressionMarijn Haverbeke-6/+35
Blocks (or statements involving blocks) that end in a semicolon are no longer considered the block-expression of their outer block. This used to be an expression block, but now is a statement block: { if foo { ret 1; } else { ret 10; } } This helps clear up some ambiguities in our grammar.
2011-09-12Kill trailing whitespace.Graydon Hoare-1/+1
2011-09-12Factor imports mindlessly.Graydon Hoare-131/+45
2011-09-12Remove backwards-compatibility with old arg-mode syntaxMarijn Haverbeke-3/+0
2011-09-12Pretty-print for new arg-mode syntaxMarijn Haverbeke-24/+41
2011-09-12Switch pretty-printer to new arg-mode syntaxMarijn Haverbeke-2/+2
2011-09-12Accept {|| ... } for argument-less block syntaxMarijn Haverbeke-4/+8
Closes #880
2011-09-12Reformat for new mode syntax, step 1Marijn Haverbeke-679/+689
Long lines were fixed in a very crude way, as I'll be following up with another reformat in a bit.
2011-09-12Make the names of the arg mode tag reflect their (revised) meaningMarijn Haverbeke-15/+12
2011-09-10Fuzzer: move tys around in addition to exprsJesse Ruderman-0/+1
2011-09-09Add missing arm, so pretty-printing the statement 'copy 1;' does not die.Jesse Ruderman-0/+1
2011-09-09Make the pretty printer disambiguatae blocks followed by vec expressions.Jesse Ruderman-2/+4
Semicolons are needed here now that postfix [] is used for vec indexing (the syntax change made in rev 518dc52f85c2efb67aaa1208c02e9a7e0bdaca49).
2011-09-02Rename ty_istr to ty_str. Issue #855Brian Anderson-4/+4
2011-09-02Stop parsing transitional istr forms. Issue #855Brian Anderson-24/+1
2011-09-02Reformat. Issue #855Brian Anderson-1018/+888
2011-09-02Remove rustc::syntax::untyped_ast. Dead codeBrian Anderson-816/+0
2011-09-02Rename ivecs to vecs in the compilerMarijn Haverbeke-2/+2
2011-09-01Remove lots of estr code from rustc. Issue #855Brian Anderson-18/+9
2011-09-01Remove #ifmt. Issue #855Brian Anderson-2/+0
2011-09-01Convert all uses of #ifmt to #fmt. Issue #855Brian Anderson-34/+34