about summary refs log tree commit diff
path: root/src/libsyntax/parse/token.rs
AgeCommit message (Collapse)AuthorLines
2013-05-30Remove unnecessary 'use' formsDaniel Farina-3/+1
Fix a laundry list of warnings involving unused imports that glutted up compilation output. There are more, but there seems to be some false positives (where 'remedy' appears to break the build), but this particular set of fixes seems safe.
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-0/+6
2013-05-29libsyntax: Make `drop` no longer a keywordPatrick Walton-2/+0
2013-05-28Remove unnecessary allocations flagged by lintSeo Sanghyeon-5/+5
2013-05-25Use an enum for keywords and intern them to improve parser performanceBjörn Steinbrink-45/+156
Currently, keywords are stored in hashsets that are recreated for every Parser instance, which is quite expensive since macro expansion creates lots of them. Additionally, the parser functions that look for a keyword currently accept a string and have a runtime check to validate that they actually received a keyword. By creating an enum for the keywords and inserting them into the ident interner, we can avoid the creation of the hashsets and get static checks for the keywords. For libstd, this cuts the parse+expansion part from ~2.6s to ~1.6s.
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+2
to libextra
2013-05-20Remove all unnecessary allocations (as flagged by lint)Alex Crichton-2/+2
2013-05-20getting rid of interner_key! macroJohn Clements-10/+19
2013-05-19Register snapshotsBrian Anderson-8/+0
2013-05-16syntax: deprecate #[auto_{en,de}code] in favour of #[deriving({En,De}codable)].Huon Wilson-9/+3
Replace all instances of #[auto_*code] with the appropriate #[deriving] attribute and remove the majority of the actual code, leaving stubs to refer the user to the new syntax.
2013-05-14Add inlining for iter_bytes for types used as hashmap keysBjörn Steinbrink-0/+2
Not inlining these affects the hash table performance quite badly.
2013-05-14Use static string with fail!() and remove fail!(fmt!())Björn Steinbrink-1/+1
fail!() used to require owned strings but can handle static strings now. Also, it can pass its arguments to fmt!() on its own, no need for the caller to call fmt!() itself.
2013-05-12librustc: Make `self` and `static` into keywordsPatrick Walton-18/+9
2013-05-10auto merge of #6223 : alexcrichton/rust/issue-6183, r=pcwaltonbors-0/+7
Closes #6183. The first commit changes the compiler's method of treating a `for` loop, and all the remaining commits are just dealing with the fallout. The biggest fallout was the `IterBytes` trait, although it's really a whole lot nicer now because all of the `iter_bytes_XX` methods are just and-ed together. Sadly there was a huge amount of stuff that's `cfg(stage0)` gated, but whoever lands the next snapshot is going to have a lot of fun deleting all this code!
2013-05-10auto merge of #6329 : sonwow/rust/issue-6306, r=ILyoanbors-2/+2
Fix for #6306
2013-05-10syntax: Use the new `for` protocolAlex Crichton-0/+7
2013-05-10Move core::task::local_data to core::local_dataYoungsoo Son-2/+2
2013-05-09Use a specialized string interner to reduce the need for owned stringsBjörn Steinbrink-41/+41
&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-02Remove 'Local Variable' commentsBrendan Zabarauskas-8/+0
2013-05-01auto merge of #6148 : erickt/rust/remove-drop, r=pcwaltonbors-75/+70
The drop block has been deprecated for quite some time. This patch series removes support for parsing it and all the related machinery that made drop work. As a side feature of all this, I also added the ability to annote fields in structs. This allows comments to be properly associated with an individual field. However, I didn't update `rustdoc` to integrate these comment blocks into the documentation it generates.
2013-05-01syntax: remove parse::token::{dtor,literally_dtor}Erick Tryzelaar-75/+70
2013-05-01Revert rename of Div to QuotBrendan Zabarauskas-1/+1
2013-04-28get rid of prec.rsJohn Clements-0/+28
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-28refactoring mod.rsJohn Clements-49/+57
2013-04-27only use #[no_core] in libcoreDaniel Micay-6/+0
2013-04-19librustc: Fix botched merge. rs=mergePatrick Walton-4/+4
2013-04-19librustc: Optimize metadata::decoder::item_name.Patrick Walton-0/+22
2013-04-16added MTWT functionsJohn Clements-40/+40
2013-04-16move interner_key macroJohn Clements-10/+0
2013-04-10path -> PathJohn Clements-1/+1
2013-04-03rename Linear{Map,Set} => Hash{Map,Set}Daniel Micay-9/+9
2013-04-03hashmap: rm linear namespaceDaniel Micay-1/+1
2013-03-26syntax: Removing uses of HashMapAlex Crichton-28/+26
2013-03-22librustc: Remove the `const` declaration form everywherePatrick Walton-38/+38
2013-03-22libsyntax: Introduce the new `assert!` macro; make `assert` no longer a keywordPatrick Walton-1/+1
2013-03-22librustc: Remove `pure` from libsyntax and librustc.Patrick Walton-7/+7
2013-03-22syntax: replace uses of old deriving attribute with new oneAndrew Paseltiner-3/+3
2013-03-11Remove the log keyword (by renaming it to __log)Brian Anderson-1/+1
We can't quite remove logging from the language, but this hides the keyword.
2013-03-07add deriving_eq for tokensJohn Clements-273/+2
2013-03-03libsyntax: add &self to parser methodsErick Tryzelaar-4/+4
2013-02-27Merge remote-tracking branch 'remotes/origin/incoming' into incomingErick Tryzelaar-1/+3
2013-02-26libsyntax: add explicit copiesErick Tryzelaar-7/+7
2013-02-26Macros now leave scopeJohn Clements-1/+3
Macro scope is now delimited by function, block, and module boundaries, except for modules that are marked with #[macro_escape], which allows macros to escape.
2013-02-26libsyntax: change binop_to_str to be pureErick Tryzelaar-1/+1
2013-02-26libsyntax: change token fns to take &TokenErick Tryzelaar-18/+18
2013-02-26libsyntax: change token::to_str to take &TokenErick Tryzelaar-2/+2
2013-02-25libsyntax: change flip_delimiter to take a &token::TokenErick Tryzelaar-2/+2
2013-02-19libsyntax: convert interner into a modern structErick Tryzelaar-2/+2
2013-02-15libsyntax: Remove move as a keyword.Luqman Aden-1/+1
2013-02-14librustc: Replace `impl Type : Trait` with `impl Trait for Type`. ↵Patrick Walton-1/+1
rs=implflipping