about summary refs log tree commit diff
path: root/src/comp/front/eval.rs
AgeCommit message (Collapse)AuthorLines
2011-07-05Move everything syntax-related to syntax/, break deps on rest of compilerMarijn Haverbeke-125/+0
src/comp/syntax is currently just a sub-module of rustc, but it will, in the near future, be its own crate. This includes: - The AST data structure - The parser - The pretty-printer - Visit, walk, and fold - The syntax extension system - Some utility stuff that should be in the stdlib* *) Stdlib extensions currently require a snapshot before they can be used, and the win build is very broken right now. This is temporary and will be cleaned up when one of those problems goes away. A lot of code was moved by this patch, mostly towards a more organized layout. Some package paths did get longer, and I guess the new layout will take some getting used to. Sorry about that! Please try not to re-introduce any dependencies in syntax/ on any of the other src/comp/ subdirs.
2011-07-01Export only what's in use from front::eval. Issue #604Brian Anderson-0/+2
2011-07-01Remove unused imports from front::evalBrian Anderson-7/+0
2011-07-01Remove remaining unused eval methods. Issue #604Brian Anderson-46/+0
2011-07-01Remove the concept of crate directive let statements. Issue #604Brian Anderson-92/+0
2011-07-01Remove the concept of crate directive expressions. Issue #604Brian Anderson-60/+0
2011-07-01Remove the environment concept from front::evalBrian Anderson-41/+26
This is the old method of conditional compilation. It is going away. Issue #489
2011-06-29More fixes to fast-check.Graydon Hoare-2/+10
2011-06-28Support attaching attributes to modules via the crate file. Issue #487Brian Anderson-4/+6
2011-06-21Move expr ids into the expr record typeMarijn Haverbeke-7/+7
This simplifies the tag variants a bit and makes expr_node_id obsolete.
2011-06-20Get rid of def_ids and anns in AST nodes, use single node_idMarijn Haverbeke-16/+14
This reduces some redundancy in the AST data structures and cruft in the code that works with them. To get a def_id from a node_id, apply ast::local_def, which adds the local crate_num to the given node_id. Most code only deals with crate-local node_ids, and won't have to create def_ids at all.
2011-06-19rustc: Rename session.span_err -> span_fatal, err -> fatalBrian Anderson-20/+23
Issue #440
2011-06-19Revert previous 6 commits. Hopefully put out Windows fire.Brian Anderson-23/+20
Revert "rustc: Export only what's needed from middle::ty" This reverts commit 4255d58aa5db2a05362c4435a0e807205e1b8ed7. Revert "rustc: Make name resolution errors less fatal" This reverts commit b8ab9ea89c16c60237e7660804f4321f59ae0435. Revert "rustc: Make import resolution errors less fatal" This reverts commit 92a8ae94b971206bf0502da3dc5f416fcb24cc36. Revert "rustc: Export only what's used from middle::resolve" This reverts commit 4539a2cf7ad99851a165c98ed2f4e4a475cffd7d. Revert "rustc: Re-introduce session.span_err, session.err" This reverts commit 7fe9a88e31ae07f2fd89f6715efedd7e3edf49e6. Revert "rustc: Rename session.span_err -> span_fatal, err -> fatal" This reverts commit c394a7f49ac29a099994e243017065de2ff97f2a.
2011-06-19rustc: Rename session.span_err -> span_fatal, err -> fatalBrian Anderson-20/+23
Issue #440
2011-06-18rustc: Remove the meta keywordBrian Anderson-1/+0
Issue #487
2011-06-17rustc: Remove metadata from the session.Brian Anderson-3/+1
This mechanism was not being used for anything. Issue #487.
2011-06-16rustc: Parse attributes in crate filesBrian Anderson-2/+2
Issue #487
2011-06-16rustc: Parse inner items of file-level modules linked from crate filesBrian Anderson-4/+8
Issue #487
2011-06-16Reformat a bunch of recent churn.Graydon Hoare-4/+6
2011-06-16rustc: Parse inner attributes of modulesBrian Anderson-1/+1
Issue #487
2011-06-16Refactor ast::item representationMarijn Haverbeke-4/+4
Most of the fields in an AST item were present in all variants. Things could be simplified considerably by putting them in the rec rather than in the variant tags.
2011-06-15Reformat source tree (minus a couple tests that are still grumpy).Graydon Hoare-171/+69
2011-06-15rustc: Make room in item_mod for metadataBrian Anderson-2/+2
Issue #487
2011-06-15rustc: Modernize front::evalBrian Anderson-37/+26
2011-06-10Implement meta tag matching in creader. Start using it in rustc.rc. Close ↵Graydon Hoare-3/+0
#459. Close #457.
2011-06-09rustc: Annotate vector and string literals in the AST with their uniqueness ↵Patrick Walton-1/+1
or lack thereof
2011-06-07More work on proper linkage name-mangling. Almost right, aside from version ↵Graydon Hoare-2/+7
numbers.
2011-05-31rustc: Remove unneeded type params from alt patternsBrian Anderson-5/+5
2011-05-17Finally rename std::_xxx to std::xxxMarijn Haverbeke-9/+9
Except for _task, which is still a keyword.
2011-05-16Rewrite everything to use [] instead of vec() in value position.Graydon Hoare-5/+5
2011-05-12Downcase std modules again, move to :: for module dereferencingMarijn Haverbeke-85/+85
This should be a snapshot transition.
2011-05-12Keep resolve data in external hash table, rather than embedded defsMarijn Haverbeke-3/+6
One step closer to removing fold and having a single, immutable AST. Resolve still uses fold, because it has to detect and transform expr_field expressions. If we go through on our plan of moving to a different syntax for module dereferencing, the parser can spit out expr_field expressions, and resolve can move to walk. (I am truly sorry for the things I did in typestate_check.rs. I expect we'll want to change that to walk as well in the near future, at which point it should probably pass around a context record, which could hold the def_map.)
2011-05-11Remove mod indices from the ASTMarijn Haverbeke-31/+15
They are now created by the resolve pass, which is the only pass that needs them, and kept internal to that pass.
2011-05-06Rename std modules to be camelcasedMarijn Haverbeke-15/+15
(Have fun mergining your stuff with this.)
2011-05-03Start sketching --depend support in rustc.Graydon Hoare-0/+12
2011-04-19Remove effect system from src.Graydon Hoare-5/+5
2011-04-18collect crate meta info and ext crate namesMarijn Haverbeke-1/+4
2011-04-09Move to single-uint file-position representation.Marijn Haverbeke-61/+61
This makes passing them around cheaper. There is now a table (see front/codemap.rs) that is needed to transform such an uint into an actual filename/line/col location. Also cleans up the span building in the parser a bit.
2011-03-25Another go at changing compile-command, this time using RBUILD env var.Graydon Hoare-1/+1
2011-03-25Revert "Bulk-edit compile commands in emacs chatter to point to assumed ↵Graydon Hoare-1/+1
build/ dir off src root." This reverts commit 846f2e2ba994268725f38c36fa12f1a09f21615c.
2011-03-25Bulk-edit compile commands in emacs chatter to point to assumed build/ dir ↵Graydon Hoare-1/+1
off src root.
2011-03-16Switch all vases of vec += elt to vec += vec. Prohibit former in rustboot. ↵Graydon Hoare-4/+3
Tweak std lib vec fns in process.
2011-03-14Merge remote branch 'brson/recursive-elseif'Graydon Hoare-18/+11
2011-03-14Add basic file-system functionalityMarijn Haverbeke-2/+2
std.fs.list_dir will list the files in a directory, std.fs.file_is_dir will, given a pathname, determine whether it is a directory or not.
2011-03-13Merge branch 'master' into recursive-elseifBrian Anderson-3/+6
Conflicts: src/comp/middle/typeck.rs
2011-03-10Update the current id when we create sub parsers.Rafael Ávila de Espíndola-2/+5
2011-03-10Fix eval typo (caught by Martin Hock).Graydon Hoare-1/+1
2011-03-07Merge branch 'master' into recursive-elseifBrian Anderson-0/+436
Conflicts: src/Makefile src/comp/front/ast.rs src/comp/front/parser.rs src/comp/middle/fold.rs src/comp/middle/trans.rs
2011-03-01Populate default compilation environment as in rustboot.Graydon Hoare-1/+1
2011-02-25Fix typo in crate directive evaluator.Graydon Hoare-1/+1