aboutsummaryrefslogtreecommitdiff
path: root/src/comp/middle/fold.rs
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Allow the else part of an expr_if to be either expr_if or expr_blockBrian Anderson2011-02-011-5/+5
| | | |
* | | | Reorganize evaluation of expr_send/recv to put them closer to expr_assign, ↵Brian Anderson2011-03-141-29/+30
| | | | | | | | | | | | | | | | to which they are similar
* | | | Add folding and type checking for ports and chansBrian Anderson2011-03-141-0/+53
| | | |
* | | | Fold ty_chan and ty_portBrian Anderson2011-03-141-0/+21
| |_|/ |/| |
* | | Preserve crate directives in the parsed crate.Graydon Hoare2011-03-111-4/+10
| | |
* | | reindex the block index.Rafael Ávila de Espíndola2011-03-111-3/+5
| | |
* | | Fold exports.Graydon Hoare2011-03-091-0/+13
| | |
* | | rustc: Fold over the paths in tag patterns so that we can resolve type ↵Patrick Walton2011-03-081-1/+4
| |/ |/| | | | | variables in them
* | Permit view items in native modules.Graydon Hoare2011-03-071-1/+8
| |
* | Make ret and fail stmts have 0 out-edges, Closes #250.Graydon Hoare2011-03-051-2/+2
| |
* | Make the expanded expression in expr_ext not optionalBrian Anderson2011-03-021-5/+4
| |
* | Add fold, typecheck and trans for expr_extBrian Anderson2011-03-021-0/+24
| |
* | Parse (and ignore) dtors on objs.Graydon Hoare2011-03-011-5/+14
| |
* | There are no native iterators (or at least they are not going to be supportedRafael Ávila de Espíndola2011-02-251-8/+9
| | | | | | | | soon.).
* | Parse the abi in native modules.Rafael Ávila de Espíndola2011-02-231-0/+1
| |
* | Make a tag for iterness / fnness, teach many places about it.Graydon Hoare2011-02-181-17/+21
| |
* | More typechecking for native types and the needed plumbing in codegen.Rafael Avila de Espindola2011-02-161-6/+6
| |
* | Add basic front-end support for 'for each' loops.Graydon Hoare2011-02-141-0/+19
| |
* | Add basic front-end support for expr_put.Graydon Hoare2011-02-141-0/+20
| |
* | Move all non-decl/non-expr stmts to exprs.Graydon Hoare2011-02-141-64/+72
| |
* | Expand expr_rec to take its optional trailing 'with' parameter.Graydon Hoare2011-02-141-6/+15
| |
* | Add support to pat_lit to fold.Graydon Hoare2011-02-101-0/+11
| |
* | Parse 'be' statement. Pass tailcall tests. No actual tailcalls yet.Brian Anderson2011-02-101-0/+13
| |
* | Add missing fold of native functions.Rafael Avila de Espindola2011-02-101-1/+2
| |
* | Parse function declarations.Rafael Ávila de Espíndola2011-02-041-14/+46
| |
* | Add most of the plumbing for native items and add support for parsing native ↵Rafael Ávila de Espíndola2011-02-021-1/+44
| | | | | | | | type declarations.
* | Add very minimal support for native modules. For now they must be empty.Rafael Ávila de Espíndola2011-02-011-2/+29
| |
* | Implement 'else if'Graydon Hoare2011-02-011-4/+17
|/
* Teach rustc to failBrian Anderson2011-01-281-0/+4
|
* Correctly handle "import foo = bar.zed;".Rafael Ávila de Espíndola2011-01-281-10/+10
|
* First step for supporting "case (foo.bar(?zed))": Change the ast ofRafael Ávila de Espíndola2011-01-271-5/+5
| | | | pat_tag to hold a path.
* Teach AST, parser, folder about iter items.Graydon Hoare2011-01-211-3/+6
|
* Fix typo in fold.Graydon Hoare2011-01-201-1/+1
|
* Adjust AST encoding, teach fold about linear for loops.Graydon Hoare2011-01-201-0/+18
|
* Fold function output and argument types. With this change we fail to compileRafael Ávila de Espíndola2011-01-191-3/+15
| | | | | | | type lteq[T] = fn(&T a) -> bool; with "unresolved name: T". Before we would silently get to the type checker and assert in a unresolved ty_path.
* One last refactoring of the import handling:Rafael Ávila de Espíndola2011-01-181-6/+8
| | | | | | | | | | | | | * Create an import resolving stage. Currently this involves a copy of the ast, we can probably revisit this once we revisit doing full copies of the ast in general. * Don't repeat work. Once we resolve a import, put it on a hash table and use it next time we are asked for it. This solves a O(n^2) behaviour in degenerated cases. * Once import resolution is done, the target of an import is stored on the import itself.
* Change single-ident expr_ident to greedy/fat multi-ident expr_path, to ↵Graydon Hoare2011-01-131-25/+21
| | | | handle the module-path/value-indexing distinction.
* Change mod_index_entry to point directly to items and view_items.Rafael Ávila de Espíndola2011-01-121-3/+7
|
* Add sufficient import support to compile some simple single-crate programs.Rafael Ávila de Espíndola2011-01-071-4/+4
| | | | | This is likely not the final solution. It does repetitive work and doesn't produce errors for invalid but unused imports. In any case, I think it is a useful step.
* Add the boilerplate for folding view items.Rafael Ávila de Espíndola2011-01-061-1/+65
|
* Fix fold bug on expr_bind.Graydon Hoare2011-01-031-0/+3
|
* Update method-fold env with fake item_fn representing the method.Graydon Hoare2010-12-311-1/+12
|
* Teach fold about ty_obj.Graydon Hoare2010-12-301-0/+24
|
* rustc: Add bind expressions to the ASTPatrick Walton2010-12-201-0/+25
|
* Teach fold about objs.Graydon Hoare2010-12-141-0/+57
|
* rustc: Add a definition ID to tag patternsPatrick Walton2010-12-121-5/+6
|
* rustc: Resolve pattern bindingsPatrick Walton2010-12-101-1/+1
|
* rustc: Add update_env_for_arm to fold; we'll need it to resolve pattern bindingsPatrick Walton2010-12-101-4/+15
|
* rustc: Add def ids to pattern bindingsPatrick Walton2010-12-101-6/+7
|
* First sketch of support for const items, not including most of trans.Graydon Hoare2010-12-091-0/+17
|