Erick Tryzelaar
93c2ebf994
syntax: convert ast::spanned into a struct
2013-01-09 08:55:36 -08:00
Patrick Walton
2db3abddcd
librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc
2013-01-08 22:02:35 -08:00
Patrick Walton
44ab00ee37
Revert "librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc"
...
This reverts commit a8d37af247
.
2013-01-08 19:29:16 -08:00
Patrick Walton
a8d37af247
librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc
2013-01-08 19:27:57 -08:00
Lindsey Kuper
816cb8c535
Rename identifiers that still use 'alt' to use 'match'
...
This'll be less confusing for anyone who works on match in future.
2013-01-08 14:31:58 -05:00
Patrick Walton
57c599914a
librustc: Terminate name searches at the nearest module scope for paths that contain at least two components. r=graydon
2012-12-27 10:02:54 -08:00
Patrick Walton
4c2e4c37ce
librustc: Make use
statements crate-relative by default. r=brson
2012-12-13 13:05:22 -08:00
Patrick Walton
b8cfd5c414
librustc: Long lines. rs=rustbot
2012-12-04 21:13:02 -08:00
Patrick Walton
33c1e47c1b
librustc: Implement moves based on type. r=nmatsakis
2012-12-04 15:38:04 -08:00
Patrick Walton
56ece46f7d
librustc: Remove all legacy pattern bindings from libsyntax and librustc. rs=refactoring
2012-12-04 14:19:19 -08:00
Graydon Hoare
00c856c0b1
Update license, add license boilerplate to most files. Remainder will follow.
2012-12-03 17:12:14 -08:00
Paul Stansifer
7051d622c0
Properly sync macro_parser.rs after it escapes out to the Rust parser. Closes #3201 .
2012-11-29 12:09:11 -08:00
Paul Stansifer
9814e58815
No longer parse the delimiters of the RHS of a macro as part of the expansion.
2012-11-29 12:09:10 -08:00
Paul Stansifer
cf26a7d7b9
Make it possible to expand stmt macros.
2012-11-29 12:09:10 -08:00
Paul Stansifer
fca52554e7
Make it possible to invoke item macros without passing identifier arguments.
2012-11-29 12:09:10 -08:00
Paul Stansifer
9845a4be5a
Allow macro_rules!
macros to expand to expressions or items.
2012-11-29 12:09:10 -08:00
Brian Anderson
371be3c6c4
Remove unused file_type enum from the parser
2012-11-18 18:09:41 -08:00
Brian Anderson
81d20156cd
Change spans to use byte offsets instead of char offsets
2012-11-16 12:06:44 -08:00
Brian Anderson
f67bfe9738
Add types for character position and byte position in the codemap
2012-11-14 15:18:29 -08:00
Brian Anderson
4c68084963
Convert most codemap types from records to structs
2012-11-12 16:21:39 -08:00
Tim Chevalier
48c8d1fecd
Remove uses of binary move in the compiler
2012-10-23 12:10:04 -07:00
Patrick Walton
91ae5412d8
rustc: Merge module and type namespaces. r=brson
2012-10-15 15:35:36 -07:00
Tim Chevalier
335e5ca33b
Add a colon, make an error message clearer
2012-10-12 20:43:37 -07:00
Niko Matsakis
21519bc7e0
demode vec
2012-09-28 13:27:45 -07:00
Niko Matsakis
67a8e7128a
Demode vec::push (and convert to method)
2012-09-26 18:02:07 -07:00
Erick Tryzelaar
b96af73159
turn ast::ident into a struct
...
This will help with the auto_serialize2 migration. We have to change
ident from a type alias to uint into a unique type. We need to use
a struct instead of a "enum ident = token::str_num" because structs
support constants, but newtypes do not.
2012-09-26 16:20:24 -07:00
Erick Tryzelaar
dd502fc6e4
Allow hashmaps to infer their types
2012-09-26 16:20:24 -07:00
Niko Matsakis
3d59ac3a19
De-mode vec::map, vec::eachi, vec::rev_each, vec::rev_eachi
2012-09-21 19:13:55 -07:00
Niko Matsakis
cfed923600
demode the each() method on vec and other iterables.
2012-09-19 17:03:01 -07:00
Graydon Hoare
1ffd90edbc
Remove redundant hashmap constructor functions.
2012-09-19 15:51:44 -07:00
Tim Chevalier
f8b3eaae82
Make all moves explicit in libsyntax
2012-09-10 18:28:47 -07:00
Brian Anderson
cb7a5395dd
Convert std::map to camel case
2012-09-10 17:08:36 -07:00
Patrick Walton
8ff18acc82
libsyntax: "import" -> "use"
2012-09-04 11:43:23 -07:00
Brian Anderson
161a82e433
Camel case various core constructors
2012-08-27 17:22:18 -07:00
Brian Anderson
8337fa1a54
Camel case the option type
2012-08-26 15:56:16 -07:00
Paul Stansifer
18180fd5da
"earley_parser" -> "macro_parser" Let's be less confusing.
2012-08-24 18:20:17 -07:00
Paul Stansifer
e54acbf848
Document the macro parser a little more.
2012-08-24 18:20:17 -07:00
Niko Matsakis
a8f1bee457
fix some unused pattern binding warnings
2012-08-24 15:37:21 -07:00
Paul Stansifer
29f32b4a72
m1!{...}
-> m1!(...)
2012-08-23 11:14:14 -07:00
Paul Stansifer
1153b5dcc8
intern identifiers
2012-08-22 14:59:25 -07:00
Paul Stansifer
9a7890d73a
Centralize ident interner generation.
2012-08-22 14:59:24 -07:00
Patrick Walton
fe9d07dda6
rustc: "as Trait" can now be written "as @Trait".
...
There is also code for ~Trait and &Trait, but these are currently (incorrectly)
synonyms for "as @Trait" and "as &Trait".
2012-08-15 16:20:31 -07:00
Brian Anderson
74c69e1053
Convert more core types to camel case
2012-08-15 14:14:20 -07:00
Eric Holk
1e96099918
Add trace_macros!
2012-08-15 11:45:32 -07:00
Graydon Hoare
1d3b5478fa
Silence unused-variable warning.
2012-08-14 12:15:00 -07:00
Eric Holk
4ec1dd9914
Got the select macro working.
2012-08-13 16:20:23 -07:00
Eric Holk
b354fe2a91
report local ambiguity errors earlier
2012-08-10 12:23:16 -07:00
Brian Anderson
6a0720b439
Convert impls to new syntax
2012-08-08 18:19:24 -07:00
Brian Anderson
2772b2e5c7
syntax: Make match arm parsing more restrictive again
...
Require comma separators for all expression types except the plain block
2012-08-07 12:23:43 -07:00
Brian Anderson
ecaf9e39c9
Convert alt to match. Stop parsing alt
2012-08-06 15:36:30 -07:00
Eric Holk
517ad983f9
Handle interpolated paths in pattern parsing. Fixes #3007 .
...
We might need to use is_ident_or_path in a for other places too.
2012-08-06 13:25:34 -07:00
Brian Anderson
025d86624d
Switch alts to use arrows
2012-08-05 22:08:09 -07:00
Patrick Walton
a805a1fb37
rustc: Add the notion of inherited visibility
2012-08-03 15:02:53 -07:00
Paul Stansifer
7129883b51
Allow interpolations of all the nt_*s.
2012-08-02 11:58:16 -07:00
Brian Anderson
b355936b4d
Convert ret to return
2012-08-01 19:16:06 -07:00
Graydon Hoare
7f60c56c3e
Clean out transitional lint.
2012-08-01 13:35:40 -07:00
Patrick Walton
b414db041b
rustc: Parse by-reference pattern bindings with the "ref" keyword
2012-07-31 19:26:25 -07:00
Paul Stansifer
a9cc5066ee
Change syntax extension syntax: #m[...]
-> m!{...}
.
2012-07-30 18:38:15 -07:00
Paul Stansifer
a28812cfd6
Improve some documentation.
2012-07-30 18:04:19 -07:00
Paul Stansifer
be3b733c49
Let's give that binder a name that's not incredibly confusing.
2012-07-30 18:04:19 -07:00
Graydon Hoare
e11e90f31c
Make macro-system type and constructor names more uniform; more comments.
2012-07-27 19:14:46 -07:00
Graydon Hoare
1d9f01cb42
Comments in the new macro system, reflecting conversation with pauls.
2012-07-27 17:42:42 -07:00
Paul Stansifer
7f5fbd4f9d
Allow old-style syntax extensions to be called with new syntax.
2012-07-26 09:52:21 -07:00
Paul Stansifer
9103e43909
Bugfix: enable transcription to deal with zero-repetition cases.
2012-07-24 11:44:58 -07:00
Paul Stansifer
e20c5e7596
Improve an error message a little.
2012-07-24 11:44:58 -07:00
Paul Stansifer
f785cccf0f
Bugfix: make the parser handle the case where zero repetitions occur, by handling parse results on the basis of what names the matcher expects to bind, not on what names are actually bound.
2012-07-24 11:44:58 -07:00
Patrick Walton
db020ab63c
rustc: Implement and enforce instance coherence
2012-07-17 15:46:43 -07:00
Michael Sullivan
92743dc2a6
Move the world over to using the new style string literals and types. Closes #2907 .
2012-07-14 01:03:43 -07:00
Michael Sullivan
985b52be6d
Support prefix notation for vstore strings. Closes #2906 .
2012-07-13 17:03:49 -07:00
Tim Chevalier
ea5f19206c
Comments only: TODOs to FIXMEs; annotate
2012-07-12 18:09:31 -07:00
Michael Sullivan
2ea9c8df0f
Accept prefix notation for writing the types of str/~ and friends.
2012-07-12 16:52:26 -07:00
Paul Stansifer
1bdcba3d74
'cont' -> 'again' in straggler code
2012-07-09 17:44:46 -07:00
Paul Stansifer
54741b9427
Allow defining token tree macros. They should work now!
2012-07-09 17:44:46 -07:00
Paul Stansifer
caa83b41bb
Add support for matchers nonterminals.
2012-07-09 17:44:46 -07:00
Eric Holk
fa4134611d
Fixing an infinite type, updating code to match new Early parser, remembering to add protocol parser.
2012-07-06 10:42:40 -07:00
Eric Holk
d09bcc0131
Adding token tree nonterminals to earley parser.
2012-07-06 10:42:40 -07:00
Paul Stansifer
a8112f3b34
Allow soft failure of the macro parser.
2012-07-05 18:09:31 -07:00
Paul Stansifer
7f9b1fbe35
Add new syntax for interpolation and repetition, and allow the transcription of separators.
2012-07-05 18:09:31 -07:00
Paul Stansifer
62db5706e6
Start letting the parser catch interpolated ASTs.
2012-07-05 18:09:31 -07:00
Paul Stansifer
0c6fe6470e
Macro By Example transcription of token trees with interpolations and dotdotdots.
2012-07-05 18:09:31 -07:00
Paul Stansifer
f4fb975e4e
Store some span information for stride mismatches errors in MBE TT macros.
2012-07-05 18:09:31 -07:00
Paul Stansifer
534270551e
Move earley_parser.rs to a more appropriate place
2012-07-05 18:09:31 -07:00
Paul Stansifer
39590d81f0
Some rearranging in perparation for MBE-style TT transcription.
2012-07-05 18:09:31 -07:00