about summary refs log tree commit diff
path: root/src/comp/syntax
AgeCommit message (Collapse)AuthorLines
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
2011-09-01Make #fmt and #ifmt synonymous. Issue #855Brian Anderson-13/+15
2011-09-01Rename std::istr to std::str. Issue #855Brian Anderson-79/+79
2011-09-01Parse "",str as istrs. Pretty print istrs as "",str. Issue #855Brian Anderson-11/+4
2011-09-01Remove std::str. Issue #855Brian Anderson-10/+0
2011-09-01Allow istrs as patterns. Issue #855Brian Anderson-0/+16
2011-09-01Remove various istr conversions. Issue #855Brian Anderson-10/+9
2011-09-01Remove the estr #fmt. Issue #855Brian Anderson-365/+0
2011-09-01Make resolve recognize upvarsMarijn Haverbeke-7/+11
Upvars are now marked with def_upvar throughout, not just when going through freevars::lookup_def. This makes things less error-prone. One thing to watch out for is that def_upvar is used in `for each` bodies too, when they refer to a local outside the body.
2011-09-01Move mutability checking into its own pass.Marijn Haverbeke-5/+5
Having it in the alias pass was slightly more efficient (finding expression roots has to be done in both passes), but further muddled up the already complex alias checker. Also factors out some duplication in the mutability-checking code.
2011-09-01Store arg mode and objfield mutability in their defMarijn Haverbeke-4/+4
2011-08-31Remove a few more usages of std::str from rustc. Issue #855Brian Anderson-5/+5
2011-08-31Convert uses of #fmt to #ifmt. Issue #855Brian Anderson-76/+72
2011-08-30Convert #env to istrs. Temporarily disable usage in rustc. Issue #855Brian Anderson-1/+1
2011-08-30Add #ifmt extension, like #fmt but for istrs. Issue #855Brian Anderson-0/+364
2011-08-30Remove the %S istr conversion from #fmtBrian Anderson-2/+0
I want to do the #fmt transition a different way. Issue #855
2011-08-30Stop relying on klunky hack in alias.rsMarijn Haverbeke-1/+1
It assumed node_ids increased monotonically for locals, but macros make this no longer the case, and it was a dubious assumption anyway. It now numbers locals itself and uses that to determine which precede which.
2011-08-29Implement non-internal ivecsMarijn Haverbeke-4/+2
Vectors are now similar to our old, pre-internal vectors, except that they are uniquely owned, not refcounted. Their name should probably change too, then. I've renamed them to vec in the runtime, will do so throughout the compiler later.
2011-08-27Convert misc compiler bits to istrs. Issue #855Brian Anderson-47/+47
2011-08-27Convert rustc::syntax::ext::base to istrs. Issue #855Brian Anderson-82/+87
2011-08-27Convert rustc::driver::session to istrs. Issue #855Brian Anderson-5/+8
2011-08-27Convert rustc::syntax::codemap to istrs. Issue #855Brian Anderson-36/+36
2011-08-27Convert rustc::syntax::ast_util to istrs. Issue #855Brian Anderson-47/+47
2011-08-27Convert pretty-printer to istrs. Issue #855Brian Anderson-319/+329
2011-08-27Convert parser to istrs. Issue #855Brian Anderson-211/+219
2011-08-27Convert rustc::syntax::eval to istrs. Issue #855Brian Anderson-14/+15
2011-08-27Convert rustc::syntax::token to istrs. Issue #855Brian Anderson-75/+79
2011-08-27Convert lexer to istrs. Issue #855Brian Anderson-101/+133
2011-08-27Convert rest of the AST to istrs. Issue #855Brian Anderson-32/+41
2011-08-27Support istrs in #fmt. Issue #855Brian Anderson-0/+2
The format string may be an istr and istr args may be used with %S
2011-08-27Remove ast::identistr. Issue #855Brian Anderson-8/+6