Brian Anderson
e824775d53
Remove std::str. Issue #855
2011-09-01 16:09:15 -07:00
Brian Anderson
498e38b705
Convert uses of #fmt to #ifmt. Issue #855
2011-08-31 11:44:06 -07:00
Brian Anderson
5f57a508af
Convert misc compiler bits to istrs. Issue #855
2011-08-27 18:05:59 -07:00
Brian Anderson
54691f9a6c
Convert rustc::metadata to istrs. Issue #855
2011-08-27 15:54:45 -07:00
Brian Anderson
f09ef6ec66
Convert rest of the AST to istrs. Issue #855
2011-08-27 15:54:45 -07:00
Brian Anderson
afe27d461c
Convert crate_ctxt to istrs. Issue #855
2011-08-27 15:54:45 -07:00
Brian Anderson
a58bfced3c
Convert back::link to istrs. Issue #855
2011-08-27 15:54:44 -07:00
Brian Anderson
03119fe269
Convert ast::ident to istr. Issue #855
2011-08-27 15:54:44 -07:00
Brian Anderson
b2408d57f0
Convert portions of rustc to istrs. Recover a lot of performance.
...
Issue #855
2011-08-27 15:54:43 -07:00
Brian Anderson
fcc031c5b4
Convert std::io to istrs. Issue #855
2011-08-27 15:54:43 -07:00
Brian Anderson
18576e55f7
Resolve a number of FIXMEs
2011-08-23 18:55:37 -07:00
Brian Anderson
152cbaade7
Move functions from syntax::ast to syntax::ast_util
...
This leaves syntax::ast just defining the AST, which strikes me as somewhat
nicer
2011-08-22 10:44:04 -07:00
Marijn Haverbeke
10269dfaeb
Replace &ty::t with ty::t throughout the compiler
...
Type handles are uints, passing them by reference only causes
unnecessary spilling.
2011-08-22 14:06:17 +02:00
Brian Anderson
518dc52f85
Reformat
...
This changes the indexing syntax from .() to [], the vector syntax from ~[] to
[] and the extension syntax from #fmt() to #fmt[]
2011-08-20 11:04:00 -07:00
Erick Tryzelaar
af21a27002
Port the compiler to the expr foo::<T> syntax.
2011-08-16 15:05:56 -07:00
Erick Tryzelaar
4abc471390
Port the compiler to foo<T> decl syntax.
2011-08-16 15:05:56 -07:00
Erick Tryzelaar
e4a0f997fb
Port the compiler to the typaram foo<T> syntax.
2011-08-16 15:05:56 -07:00
Brian Anderson
f05a91a0dc
Rename std::ivec to std::vec
2011-08-16 10:36:19 -07:00
Lindsey Kuper
f91351aaf6
The wonky for...in... whitespace was bothering me. Sorry!
2011-08-15 22:19:50 -07:00
Brian Anderson
0fed53921f
Remove ebmlivec module
2011-08-12 12:14:06 -07:00
Brian Anderson
7625ed52ee
Remove vecs from std::sort
2011-08-12 12:14:06 -07:00
Brian Anderson
7d05da96f7
Rename std::ioivec to std::io
2011-08-12 12:08:27 -07:00
Brian Anderson
119f43e0c7
Rename str::connect_ivec to str::connect
2011-08-12 12:08:27 -07:00
Brian Anderson
2e7e58812b
Remove vec version of str::bytes, rename bytes_ivec to str::bytes
2011-08-12 12:08:26 -07:00
Erick Tryzelaar
8b15045224
Port the compiler to the ivec type [T] syntax.
2011-08-09 15:53:26 -07:00
Patrick Walton
b079e1adbb
rustc: Parse "inline". Also write it into metadata.
2011-08-05 13:59:27 -07:00
Patrick Walton
59e9b629c0
Revert "rustc: Introduce the concept of inline to the AST"
...
This reverts commit 9b9170f9fe
.
2011-08-05 11:38:06 -07:00
Patrick Walton
9b9170f9fe
rustc: Introduce the concept of inline to the AST
2011-08-05 11:33:48 -07:00
Graydon Hoare
59c441a66a
Encode, decode, and thread through typechecking all the param kinds, not just the counts.
2011-07-29 16:40:30 -07:00
Marijn Haverbeke
df7f21db09
Reformat for new syntax
2011-07-27 15:54:33 +02:00
Marijn Haverbeke
aea537779e
Remove all uses of tuples from the compiler and stdlib
2011-07-26 14:06:02 +02:00
Marijn Haverbeke
e949aab10a
Remove some rustboot-isms
...
Closes #464
2011-07-25 15:07:48 +02:00
Michael Sullivan
3b2d23b2cd
Move a bunch of trans into trans_common, including the context structures.
...
Probably more should be moved or split off into other files. My algorithm
was something along the lines of: move the contexts and their transitive
dependencies along with some functions to work with them. I stopped when
I was going to have to start pulling glue generation, which really
should go into a trans_glue file.
2011-07-21 17:39:06 -07:00
Patrick Walton
1a6419bd73
rustc: Move metadata::encoder over to interior vectors
2011-07-14 15:39:35 -07:00
Patrick Walton
be489ee9e2
rustc: Move much of metadata reading over to interior vectors
2011-07-14 12:00:48 -07:00
Brian Anderson
e494e73cdd
Use more encapsulation for metadata::cstore
2011-07-10 15:44:11 -07:00
Brian Anderson
3070439c00
Encode/decode a crate's externel dependencies. Issue #632
...
The encoding is very simple right now, just the crate name. Ultimately this
won't be enough for our versioning needs, but it should fill our immediate
need of being able to correlate encoded crate numbers to actual crates.
2011-07-08 11:34:15 -07:00
Brian Anderson
d0a432f4bb
Don't export tyencode from the metadata module
...
This involves pulling the type_abbrev cache out of crate_ctxt
2011-07-08 09:37:01 -07:00
Patrick Walton
e1b107d74e
rustc: Remove all exterior vectors from the AST
2011-07-07 18:39:05 -07:00
Brian Anderson
6ee1ffe4ac
Rename encoder::ty_str to encoded_str
2011-07-07 13:31:12 -07:00
Brian Anderson
de88739350
Don't expert def_to_str from metadata::encoder
2011-07-07 13:31:12 -07:00
Brian Anderson
7d26d1d67b
Move tyencode::ty_str to metadata::encoder
2011-07-07 13:31:12 -07:00
Brian Anderson
e29ef1bec2
Refactor a few things in the metadata module
...
Rename metadata::tags to metadata::common. Move some utility functions from
metadata::encoder to metadata::common.
2011-07-07 13:31:11 -07:00
Brian Anderson
b723082cdb
Rename hash_def_id to hash_node_id
2011-07-07 13:31:11 -07:00
Brian Anderson
d2362599d6
Remove metadata::encoder's dependence on trans::node_id_type
2011-07-07 13:31:11 -07:00
Patrick Walton
0e2fff5337
rustc: Change lots of AST nodes to use interior vectors
2011-07-07 12:53:17 -07:00
Patrick Walton
401b6362d7
rustc: Make meta items into interior vectors
2011-07-06 15:46:03 -07:00
Brian Anderson
2cb129355b
Change ast::meta_name_value to accept any literal, not just string
...
This isn't useful for much of anything yet, since metadata::encoder doesn't
know how to handle the non-string variants.
Issue #611
2011-07-05 17:25:18 -07:00
Marijn Haverbeke
6fd6fdea93
Move everything syntax-related to syntax/, break deps on rest of compiler
...
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-05 15:57:21 +02:00
Brian Anderson
70a28dc238
Cleanup attribute code. Issue #487
2011-07-01 10:45:30 -07:00