about summary refs log tree commit diff
path: root/src/comp/syntax
AgeCommit message (Collapse)AuthorLines
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
2011-08-27Convert ast::ident to istr. Issue #855Brian Anderson-112/+154
2011-08-27Convert std::map::new_str_hash to istrs. Issue #855Brian Anderson-72/+92
2011-08-27Convert std::generic_os to istrs. Issue #855Brian Anderson-2/+5
2011-08-27Convert std::io to istrs. Issue #855Brian Anderson-19/+24
2011-08-27Convert std::fs to istrs. Issue #855Brian Anderson-7/+12
2011-08-27Convert std::int to istrs. Issue #855Brian Anderson-10/+18
2011-08-27Convert std::uint to istrs. Issue #855Brian Anderson-3/+5
2011-08-27Don't output bogus spans when reporting a message without one.Brian Anderson-3/+3
Emacs gets confused by <input>:0:0:0:0:
2011-08-27Output error spans that don't confuse emacs compilation mode. Closes #845Brian Anderson-2/+2
2011-08-26Revert "Revert "Use typestate constraints for trans_be""Tim Chevalier-2/+2
This reverts commit b0db13956f4f106c4bf5a9210c7df439b34506a4. (Should work now that we have a new snapshot)
2011-08-25Remove remaining use of 'pred' and make 'pred' a non-reserved word. Huzzah\!Tim Chevalier-6/+0
2011-08-25Remove typestate workaround that's no longer necessaryTim Chevalier-4/+1
2011-08-25Support unchecked blocksTim Chevalier-10/+42
This patch supports the syntax unchecked { ... } to disable purity checking within a block. Presumably it will only be used within a declared "pure fn". However, there is no checking that it doesn't occur elsewhere, and it would be harmless for it to do so. I went with Lindsey's suggestion for the syntax, but it's subject to change. This allows you to write code that uses predicates that call arbitrary Rust functions, but you must declare your intentions by wrapping it in an unchecked { ... } block. The test case run-pass/unchecked-predicates.rs demonstrates how to do that.
2011-08-25Change "pred" to "pure fn" within the compiler.Tim Chevalier-2/+2
2011-08-25Move ast::pat_id_map to ast::utilBrian Anderson-2/+2
2011-08-24hmm, this should have been in the last commit. Oops.Tim Chevalier-0/+1
2011-08-24Change "pred" to "pure fn" (but still accept "pred")Tim Chevalier-6/+10
This is part 1 of changing the "pred" keyword to "pure fn". Right now, the compiler accepts both "pred" and "pure fn".
2011-08-23Add kind-checking for assign-op, copy, ret, be, fail exprs. Fix caught ↵Graydon Hoare-3/+3
kinding-violations in rustc and libstd.
2011-08-23Fix pretty-printing of istr literals. Issue #855Brian Anderson-2/+13
2011-08-22Move functions from syntax::ast to syntax::ast_utilBrian Anderson-227/+235
This leaves syntax::ast just defining the AST, which strikes me as somewhat nicer
2011-08-22Remove ast::spawn_domBrian Anderson-2/+0
2011-08-22Implement pattern guardsMarijn Haverbeke-3/+18
The syntax is alt x { mypat where mycond { ... } } The condition may refer to any of the variables bound by the pattern. When a guard fails, pattern-matching continues with the next pattern. Closes #857
2011-08-22Drop arguments on the caller side, not the calleeMarijn Haverbeke-2/+2
This makes it easier for the caller to optimize the take/drop away for temporary values, and opens up new possibilities for alias handling. Breaks tail calls.
2011-08-20Stop parsing ~[] vector syntaxBrian Anderson-8/+0
2011-08-20Stop parsing .() indexesBrian Anderson-7/+0
2011-08-20ReformatBrian Anderson-922/+857
This changes the indexing syntax from .() to [], the vector syntax from ~[] to [] and the extension syntax from #fmt() to #fmt[]
2011-08-19Pretty-print new index syntaxBrian Anderson-3/+2
2011-08-19Parse x[y] as indexesBrian Anderson-0/+7
2011-08-19Getting rid of superfluous log statement.Lindsey Kuper-2/+0