about summary refs log tree commit diff
path: root/src/comp/syntax/parse/parser.rs
AgeCommit message (Collapse)AuthorLines
2012-03-02Move src/comp to src/rustcGraydon Hoare-2747/+0
2012-02-29optionally enforce local variable mutabilityNiko Matsakis-8/+8
2012-02-24Encode/decode AST into metadata, re-instantiate inlined itemsNiko Matsakis-3/+0
2012-02-22rustc: Don't ignore attributes inside empty mods. Closes #1655Brian Anderson-1/+7
2012-02-22Remove preconditions from librariesMarijn Haverbeke-1/+0
Closes #1805
2012-02-22Clean up small things in syntax submodulesMarijn Haverbeke-2/+2
2012-02-20Further work on resolving and typechecking classesTim Chevalier-3/+8
Class tests aren't working yet, but they fail a little later :-) Also, make the parser correctly set a constructor's result type to its enclosing class type.
2012-02-17Refactor view_path to parse (but not yet process) export globs, unify code ↵Graydon Hoare-119/+64
paths.
2012-02-15make mut a keyword synonymous with mutableNiko Matsakis-18/+23
first step towards issue #1273
2012-02-15Support 'alt check' syntaxMarijn Haverbeke-2/+4
It is only a way to flag an alt as intentionally non-exhaustive right now. Issue #1679
2012-02-14When parsing a source string, fail when the entire string is not parsed.Kevin Atkinson-0/+3
(For now only fail when parse_from_source_str is used to avoid possible compatibility problems; parse_expr_from_source_str still does not check.)
2012-02-14Change file_substr to allow for external strings.Kevin Atkinson-3/+3
2012-02-14rustc: Parse crust functionsBrian Anderson-1/+4
2012-02-13Track purity/unsafety of iface and impl methodsMarijn Haverbeke-17/+16
Closes #1807
2012-02-11make bind syntax unnecessary: just use _ for one of the argumentsNiko Matsakis-11/+20
2012-02-10Don't allow binding patterns to bind keywordsMarijn Haverbeke-5/+14
Closes #1586
2012-02-10Remove a vestige of return-by-referenceMarijn Haverbeke-18/+5
2012-02-09Remove some pointless importsMarijn Haverbeke-2/+0
2012-02-09Increase precedence of as operatorMarijn Haverbeke-3/+3
Closes #1717
2012-02-08A bit more WIP on classes, and some cleanup in resolveTim Chevalier-10/+9
2012-02-07Minor class-related tweaks to the ASTTim Chevalier-3/+5
2012-02-06Make keyword table in reference reflect reality more closelyMarijn Haverbeke-6/+6
And remove the part about reserved words.
2012-02-06Handle built-in typenames in the resolve pass, rather than in parserMarijn Haverbeke-53/+18
Closes #1728 Comments out a section of debuginfo.rs. This code was already broken (only being called when --xg was passed, and only working on trivial programs).
2012-02-06Removed sendfn from badwords and made the precedence of XOR between that of ↵Ian D. Bollinger-2/+2
OR and AND.
2012-02-06Allow non-semicolon-requiring expressions to be followed by .fieldMarijn Haverbeke-22/+22
There is no valid expression that starts with a dot token (.5 is a number token), so this introduces no ambiguities. Issue #1716
2012-02-05Remove support for $(...) form of quasi-quotes, use #ast{...} instead.Kevin Atkinson-6/+0
2012-02-05infer modes rather than overwriting with expected tyNiko Matsakis-10/+15
2012-02-03Beginnings of front-end support for classesTim Chevalier-1/+105
Added class support to the parser, prettyprinter, fold, and visit. (See Issue 1726.) This is WIP -- the test case is xfailed, and attempting to compile it will error out in resolve.
2012-02-03Allow anti-quotes to also be ast::ty rather than just ast::expr.Kevin Atkinson-0/+7
2012-02-03Implement quasi-quoting of multiple syntatic categories.Kevin Atkinson-2/+2
2012-02-03Store info about file "substr".Kevin Atkinson-9/+11
That is when a string that is part of a file needs to be parsed for a reason, record that the string is a substr of the file rather than using "<anon>" or "-" as the file name. This will eventually allow pointing to the right location, for now it just uses a more meaningful string for the filename.
2012-02-03Implement quasi-quotes in more macro form: #ast{...}.Kevin Atkinson-1/+13
The #(...) form is still supported for now.
2012-02-03Make macro arg optional in syntax, again untested.Kevin Atkinson-8/+14
2012-02-03Add support for recognizing macro body, completely untested.Kevin Atkinson-1/+18
2012-02-03Implement anti-quotes.Kevin Atkinson-2/+13
2012-02-03Add support for parsing quasi-quotes, doesn't do anything useful yet.Kevin Atkinson-0/+19
2012-02-01make boxes self-describing (fixes #1493)" (take 2)Niko Matsakis-0/+2
this will be used to generate a new snapshot.
2012-02-01Revert "make boxes self-describing (fixes #1493)" until a newNiko Matsakis-2/+0
snapshot is prepared.
2012-02-01make boxes self-describing (fixes #1493)Niko Matsakis-0/+2
2012-02-01Remove support for native typesMarijn Haverbeke-15/+1
Issue #1673
2012-01-31Change option::t to optionTim Chevalier-11/+11
Now that core exports "option" as a synonym for option::t, search-and- replace option::t with option. The only place that still refers to option::t are the modules in libcore that use option, because fixing this requires a new snapshot (forthcoming).
2012-01-31Require alts to be exhaustiveTim Chevalier-12/+7
middle::check_alt does the work. Lots of changes to add default cases into alts that were previously inexhaustive.
2012-01-30rustc: Allow attributes on methods. Closes #1709Brian Anderson-3/+6
2012-01-30Remove ternary operatorPaul Woolcock-14/+1
`expr_ternary`, `ternary_to_if`, and all parses & lexer definitions have been removed.
2012-01-30Change all ternary ops to if/then/elsePaul Woolcock-10/+34
All the files below had at least one instance of the ternary operator present in the source. All have been changed to the equivalent if/then/else expression.
2012-01-30Revert self typesMarijn Haverbeke-3/+2
2012-01-27Use the method name 'unary-' for overloading negationMarijn Haverbeke-1/+5
It's less likely to clash with something than 'neg'. Issue #1520
2012-01-26Use operator names for operator methodsMarijn Haverbeke-2/+11
The methods used to implement operators now simply use the name of the operator itself, except for unary -, which is called min to not clash with binary -. Index is called []. Closes #1520
2012-01-26Allow operator overloading of the indexing operatorMarijn Haverbeke-0/+1
The method `op_index` (which takes a single argument) is used for this. Issue #1520
2012-01-26First stab at operator overloadingMarijn Haverbeke-0/+4
When no built-in interpretation is found for one of the operators mentioned below, the typechecker will try to turn it into a method call with the name written next to it. For binary operators, the method will be called on the LHS with the RHS as only parameter. Binary: + op_add - op_sub * op_mul / op_div % op_rem & op_and | op_or ^ op_xor << op_shift_left >> op_shift_right >>> op_ashift_right Unary: - op_neg ! op_not Overloading of the indexing ([]) operator isn't finished yet. Issue #1520