about summary refs log tree commit diff
path: root/src/libsyntax/parse/mod.rs
AgeCommit message (Collapse)AuthorLines
2013-08-11libsyntax: Update from `@Object` to `@mut Object` as requiredNiko Matsakis-4/+4
2013-07-29New naming convention for ast::{node_id, local_crate, crate_node_id, ↵Michael Woerister-5/+5
blk_check_mode, ty_field, ty_method}
2013-07-25syntax: Fix #6416 by aborting on errors after test parse.Graydon Hoare-4/+2
2013-07-22Ast spanned<T> refactoring, renaming: crate, local, blk, crate_num, crate_cfg.Michael Woerister-18/+18
`crate => Crate` `local => Local` `blk => Block` `crate_num => CrateNum` `crate_cfg => CrateConfig` Also, Crate and Local are not wrapped in spanned<T> anymore.
2013-07-20syntax: modernise attribute handling in syntax::attr.Huon Wilson-3/+3
This does a number of things, but especially dramatically reduce the number of allocations performed for operations involving attributes/ meta items: - Converts ast::meta_item & ast::attribute and other associated enums to CamelCase. - Converts several standalone functions in syntax::attr into methods, defined on two traits AttrMetaMethods & AttributeMethods. The former is common to both MetaItem and Attribute since the latter is a thin wrapper around the former. - Deletes functions that are unnecessary due to iterators. - Converts other standalone functions to use iterators and the generic AttrMetaMethods rather than allocating a lot of new vectors (e.g. the old code would have to allocate a new vector to use functions that operated on &[meta_item] on &[attribute].) - Moves the core algorithm of the #[cfg] matching to syntax::attr, similar to find_inline_attr and find_linkage_metas. This doesn't have much of an effect on the speed of #[cfg] stripping, despite hugely reducing the number of allocations performed; presumably most of the time is spent in the ast folder rather than doing attribute checks. Also fixes the Eq instance of MetaItem_ to correctly ignore spaces, so that `rustc --cfg 'foo(bar)'` now works.
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-8/+6
2013-07-17librustc: Add a lint mode for unnecessary `copy` and remove a bunch of them.Patrick Walton-6/+2
2013-07-17Made ast::blk not use spanned<T> anymore.Michael Woerister-20/+19
2013-07-07auto merge of #7615 : Aatch/rust/syntax-deshare, r=graydonbors-15/+15
In an ideal world, the AST would be completely sendable, this gets us a step closer. It removes the local heap allocations for `view_item`, `Path`, `Lifetime` `trait_ref` `OptVec<TyParamBounds>` and `Ty`. There are also a few other smaller changes I made as things went along.
2013-07-07Fix broken testsJames Miller-5/+5
2013-07-07De-managed ast::PathJames Miller-10/+10
2013-07-04libsyntax: fix infinite loop when recursively including modulesPhilipp Brüschweiler-0/+4
Fixes #7276
2013-06-26Infer default static/Owned bounds for unbounded heap fns/traits (#7264)Ben Blum-2/+2
2013-06-25great renaming propagation: syntaxCorey Richardson-7/+3
2013-06-23Parse and typecheck (not kindcheck) bounds on trait paths.Ben Blum-2/+2
2013-06-13Use @str instead of @~str in libsyntax and librustc. Fixes #5048.Huon Wilson-40/+40
This almost removes the StringRef wrapper, since all strings are Equiv-alent now. Removes a lot of `/* bad */ copy *`'s, and converts several things to be &'static str (the lint table and the intrinsics table). There are many instances of .to_managed(), unfortunately.
2013-06-09remove unused import warningsHuon Wilson-2/+1
2013-06-05add hygiene support functionsJohn Clements-22/+12
2013-06-05remove unused get_ident_interner'sJohn Clements-1/+2
2013-06-05removed unused imports (and one unused argument)John Clements-3/+1
2013-06-05remove interner field from string_readerJohn Clements-3/+1
2013-06-05remove interner from tt_readerJohn Clements-1/+0
2013-06-05interner just uses uints, not idents with syntax contextJohn Clements-2/+2
2013-06-05removed some interner fieldsJohn Clements-6/+0
2013-06-05just use TLS internerJohn Clements-2/+2
2013-06-05change to newer macro escape mechanism, using uints in more placesJohn Clements-11/+17
2013-06-01syntax: move callee_id into the expr_ variantsErick Tryzelaar-11/+6
2013-05-30Fix parser testNiko Matsakis-1/+1
2013-05-30Remove copy bindings from patterns.Niko Matsakis-3/+3
2013-05-22librustc: Change `std` to `extra` throughout libsyntax and librustcPatrick Walton-4/+4
2013-05-20getting rid of interner_key! macroJohn Clements-21/+22
2013-05-20hygiene infrastructure.John Clements-19/+14
- added a hash table to memoize rename and mark operations. - added rename, mark, and resolve fold fns
2013-05-20detect unused attrs in one more place, allow parsing to continue for allJohn Clements-0/+16
changed a bunch of fatal()'s into err()'s, to allow parsing to proceed.
2013-05-20refactoring test functionsJohn Clements-70/+7
2013-05-19Use assert_eq! rather than assert! where possibleCorey Richardson-1/+1
2013-05-14Fix test fallout from removing vecs_implicitly_copyableAlex Crichton-7/+6
2013-05-12librustc: Make `self` and `static` into keywordsPatrick Walton-2/+4
2013-05-09Use a specialized string interner to reduce the need for owned stringsBjörn Steinbrink-6/+6
&str can be turned into @~str on demand, using to_owned(), so for strings, we can create a specialized interner that accepts &str for intern() and find() but stores and returns @~str.
2013-05-05auto merge of #6208 : sanxiyn/rust/accurate-span, r=sanxiynbors-2/+2
2013-05-06Fix span testsSeo Sanghyeon-2/+2
2013-05-02librustc: Update the serializer to work properly with INHTWAMA, removing ↵Patrick Walton-1/+2
mutable fields in the process
2013-05-02More cases of [cfg(test)] instead of [test].Felix S. Klock II-1/+1
2013-05-02Remove 'Local Variable' commentsBrendan Zabarauskas-10/+0
2013-05-01remove some warningsErick Tryzelaar-1/+1
2013-04-29libstd: Fix merge fallout.Patrick Walton-16/+14
2013-04-28get rid of prec.rsJohn Clements-3/+0
prec.rs no longer had much to do with precedence; the token->binop function fits better in token.rs, and the one-liner defining the precedence of 'as' can go next to the other precedence stuff in ast_util.rs
2013-04-28comments, helper function for tests, more informative error messageJohn Clements-1/+6
2013-04-28refactoring mod.rsJohn Clements-111/+377
2013-04-19syntax: de-mode and prepare for de-modeing rustcAlex Crichton-21/+21
2013-04-03auto merge of #5559 : jbclements/rust/change-to-tt-based-parsing, r=jbclementsbors-3/+49
Changes the parser to parse all streams into token-trees before hitting the parser proper, in preparation for hygiene. As an added bonus, it appears to speed up the parser (albeit by a totally imperceptible 1%). Also, many comments in the parser. Also, field renaming in token-trees (readme->forest, cur->stack).