about summary refs log tree commit diff
path: root/src/comp/syntax
AgeCommit message (Collapse)AuthorLines
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
2011-08-19Pretty-print constrained types correctlyBrian Anderson-1/+6
2011-08-19Pretty-print parens around more things that need disambiguationBrian Anderson-7/+17
Ridiculous stuff like (ret 0) == (log "error")
2011-08-19Teach the pretty-printer to disambiguate 'if ret { }' et. alBrian Anderson-3/+15
2011-08-19Do better at preserving blank lines during pretty-printingBrian Anderson-1/+5
2011-08-19Don't pretty-print extra blank lines after anon object methodsBrian Anderson-2/+5
2011-08-18Don't pretty-print trailing whitespace for blank lines inside block commentsBrian Anderson-2/+10
2011-08-18Try harder to disambig blocks followed by various exprs in pprust. Closes #840Brian Anderson-15/+74
As it turns out, it's not just unops we need to worry about. Also tuples and anything that requires parens.
2011-08-18CommentsTim Chevalier-1/+2
2011-08-18Kill another case of a spurious blank line. Closes #809.Graydon Hoare-1/+1
2011-08-18More misc ivec->vec renamingBrian Anderson-3/+3
2011-08-18Change ast::ty_ivec, ty::ty_ivec to ty_vecBrian Anderson-6/+6
2011-08-18Remove ast::ty_vecBrian Anderson-3/+0
2011-08-18Remove seq_kind from ast::expr_vecBrian Anderson-21/+21
2011-08-18Pretty-print ivecs as []Brian Anderson-5/+1
2011-08-18Remove or _-prefix all unused function argumentsMarijn Haverbeke-73/+70
This should make the compilation process a bit less noisy.
2011-08-17Stop parsing old-style vec typesBrian Anderson-5/+0
2011-08-17Allow multiple imports in a single statementBrian Anderson-2/+55
Like so: import foo::{bar, baz}; Issue #817
2011-08-17Refactor ast::view_item to differentiate between [ident]s and pathsBrian Anderson-2/+6
2011-08-17Allow multiple exports in a single export statement. Issue #817Brian Anderson-10/+15
2011-08-16Remove dead send/recv operator tokens.Graydon Hoare-6/+0
2011-08-16Remove support for expr[T] syntax.Erick Tryzelaar-11/+1