about summary refs log tree commit diff
path: root/src/comp/syntax
AgeCommit message (Collapse)AuthorLines
2012-01-16Don't evaluate discriminator value constants when parsing.Kevin Atkinson-43/+8
Remove disr_val from ast::variant_ and always use ty::variant_info when the value is needed. Move what was done during parsing into other passes, primary typeck.rs. This move also correctly type checks the disr. value expression; thus, fixing rustc --pretty=typed when disr. values are used.
2012-01-16Be more careful about pretty-printing literalsMarijn Haverbeke-12/+19
Before, literal printing would basically get derailed completely when a literal was encountered that did not end up being printed. This caused the strangeness seen in #1532. Also cleans up pretty-printing of discriminants a little. Closes #1510 Closes #1532
2012-01-16Update pretty printer to print out disr. values.Kevin Atkinson-0/+8
Partly fixes issue #1510. "rustc --pretty=typed" fails.
2012-01-16Properly print u suffix for uint literalsMarijn Haverbeke-1/+1
Issue #1532
2012-01-15rustc: Parse fn inner attributes. Closes #1506Brian Anderson-30/+109
2012-01-15rustc: Extract comman parts of view parsingBrian Anderson-7/+13
2012-01-13rustc: Rename the lexer's err message to fatal and make it failBrian Anderson-17/+12
2012-01-13rustc: Replace the lexer's error handling with diagnostic implBrian Anderson-10/+22
2012-01-13rustc: Replace parser's error handling with diagnostic implBrian Anderson-9/+10
2012-01-13rustc: Extract driver::diagnostic from syntax::codemapBrian Anderson-137/+7
2012-01-13rustc: Some more codemap refactoringBrian Anderson-74/+67
2012-01-13rustc: Refactor codemap::emit_* functionsBrian Anderson-24/+25
A codemap is only needed when we have a span so put them both into the option.
2012-01-13Change builtin macro defs to use #macro()Graydon Hoare-4/+4
2012-01-13distinguish "any closure" and "stack closure" (block)Niko Matsakis-15/+23
2012-01-13make blocks fn& and fn stand for "any closure"Niko Matsakis-16/+20
2012-01-13make "native fn" the type for bare functions, remove fn exprsNiko Matsakis-4/+11
2012-01-13deprecate fn exprs and the fn() type, preferring fn@ and native fnNiko Matsakis-25/+36
2012-01-13Obj system? What obj system?Marijn Haverbeke-251/+10
Removes the obj system from the compiler. Closes #1484
2012-01-13Remove all remaining uses of objs from the compilerMarijn Haverbeke-202/+207
2012-01-13Convert the objects used in the lexer and parser to records + implsMarijn Haverbeke-484/+435
2012-01-12make parser disambiguate fn~ at top level correctlyNiko Matsakis-1/+12
2012-01-12Make driver::session::session no longer an objectMarijn Haverbeke-5/+5
Rather, it is now a struct where properties like opts are accessed directly, and the error-reporting methods are part of a static impl (with the same name as the type).
2012-01-12Cleanups to previous commits for issue #1393.Kevin Atkinson-3/+5
2012-01-11Major clean-up of std::ioMarijn Haverbeke-14/+15
Use ifaces instead of objs, stop wrapping everything in two (or three) layers of no-value-added indirection, and remove some of the more pointless/outdated idioms from the code.
2012-01-11add a log_str() function and allow '%?' in fmt strings to use itNiko Matsakis-0/+2
2012-01-10Fold and re-evaluate expr in tag discriminant.Graydon Hoare-4/+17
2012-01-10Support explicit discriminant numbers on tag variants.Kevin Atkinson-4/+46
Addresses issue #1393. For now disallow disr. values unless all variants use nullary contractors (i.e. "enum-like"). Disr. values are now encoded in the crate metadata, but only when it will differ from the inferred value based on the order.
2012-01-10rustc: Accept "enum" in addition to "tag"Patrick Walton-4/+5
2012-01-10replace lambda with fn@Niko Matsakis-1/+5
2012-01-10rename sendfn to fn~, lambda to fn@Niko Matsakis-13/+16
2012-01-09Remove support for 'when' in alt-patterns from parserAustin Seipp-5/+1
Issue #1396
2012-01-09Change all uses of 'when' in alt-patterns to 'if'Austin Seipp-4/+4
Issue #1396
2012-01-09Remove proto_sugar and 'lambda' as keyword, commit to fn@.Graydon Hoare-15/+9
2012-01-09Make the parser accept 'if' as an alternative to 'when' in alt patterns.Austin Seipp-2/+6
Also fix the pretty printer, making it output 'if' instead of 'when'. Issue #1396
2012-01-06Fix pretty-printing of ty params in iface methodsMarijn Haverbeke-3/+5
2012-01-05fix pretty printer to correctly insert parens for disambNiko Matsakis-35/+5
2012-01-05require a non-semi expr acting as a stmt to have unit return typeNiko Matsakis-15/+28
2012-01-05make parser handle parenthesized block-sugar exprs properlyNiko Matsakis-81/+114
2012-01-05Switch to new param kind bound syntaxMarijn Haverbeke-16/+14
And remove support for the old syntax
2012-01-05Fix bad spans for ast::ty parsingMarijn Haverbeke-9/+6
The span would be pointing after the actual text.
2012-01-04Add visit_ty_params to visit.rsMarijn Haverbeke-7/+16
And use it to make typechecking of bounds less error-prone.
2012-01-03Allow tail expressions even in no_value blocks. Type checkerNiko Matsakis-30/+46
will guarantee they have unit type.
2012-01-03extend parser so that expressions that do not require semi-colonsNiko Matsakis-2/+2
to be statements are not considered expressions in the tail position
2012-01-03rewrite to put blk as 2nd argNiko Matsakis-1/+1
2012-01-03minimal changes to permit fn blocks in exprNiko Matsakis-68/+64
2012-01-03Make syntax for impls less magicalMarijn Haverbeke-23/+18
The trick of interpreting parameters to the iface type as parameters to the impl was just too magical. Issue #1227
2011-12-30add cap clause to pretty printer, with a testNiko Matsakis-2/+34
2011-12-29split proto from fn_decl, as not all fn_decls know the proto.Niko Matsakis-85/+89
this will address the (crashing) new test added.
2011-12-29Add support in lexer for utf8 identifiers. No NFKC logic in char yet.Graydon Hoare-2/+4
2011-12-28Merge pull request #1389 from erickt/masterGraydon Hoare-1/+1
misc standard library additions