rust/src/comp/front
Tim Chevalier 046c25dbc0 Handle fail as an argument; parse fail expressions unambiguously
An expression like:

foo(1, fail, 2)

was failing to parse, because the parser was interpreting the comma
as the start of an expression that was an argument to fail, rather
than recognizing that the fail here has no arguments

Fixed this by using can_begin_expr to determine whether the next
token after a fail token suggests that this is a nullary fail or a
unary fail.

In addition, when translating calls, check before translating each
argument that the block still isn't terminated. This has the effect
that if an argument list includes fail, the back-end won't keep trying
to generate code for successive arguments and trip the !*terminated
assertion.
2011-07-03 11:51:47 -07:00
..
ast.rs Allow any string expression to be used with fail. 2011-07-02 00:06:58 -07:00
attr.rs Add some FIXMEs for issue #607 2011-07-01 12:51:46 -07:00
codemap.rs Reformat source tree (minus a couple tests that are still grumpy). 2011-06-15 11:19:50 -07:00
config.rs Use attributes for conditional compilation in std.rc 2011-06-30 14:13:49 -07:00
eval.rs Export only what's in use from front::eval. Issue #604 2011-07-01 10:46:59 -07:00
ext.rs '#simplext' -> '#macro' 2011-06-28 15:02:12 +00:00
extenv.rs Add simple syntax extension (#simplext) 2011-06-28 15:02:12 +00:00
extfmt.rs Add simple syntax extension (#simplext) 2011-06-28 15:02:12 +00:00
extsimplext.rs Add simple syntax extension (#simplext) 2011-06-28 15:02:12 +00:00
fold.rs Remove the concept of crate directive let statements. Issue #604 2011-07-01 10:45:30 -07:00
lexer.rs Preserve hard \n\n pairs from source when pretty-printing, as explicit formatting control from users. 2011-06-30 17:25:20 -07:00
parser.rs Handle fail as an argument; parse fail expressions unambiguously 2011-07-03 11:51:47 -07:00
token.rs Add a predicate that determines whether a token can begin an expression 2011-07-03 11:51:46 -07:00