128 Commits

Author SHA1 Message Date
Eric Holk
d74fb9875b Refactoring pipes to allow implementing bounded protocols. 2012-07-25 12:12:25 -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
3ac5b4a86f syntax: Parse multiple trait refs in a single implementation 2012-07-18 16:05:17 -07:00
Eric Holk
7b8171ef2d Added liveness analysis for protocols, and removed warnings about empty states. 2012-07-17 17:46:31 -07:00
Eric Holk
ee855caa5d Don't ICE when protocol steps to invalid mesasge. 2012-07-17 17:46:31 -07:00
Patrick Walton
b71a8827e3 rustc: Fix coherence errors in the build 2012-07-17 16:49:54 -07:00
Patrick Walton
db020ab63c rustc: Implement and enforce instance coherence 2012-07-17 15:46:43 -07:00
Eric Holk
c8739cb0bc Error checking for protocols. We'll need spans though. 2012-07-17 10:35:59 -07:00
Eric Holk
d39f6fc676 Add support for terminal states (issue #2862) 2012-07-16 14:50:47 -07:00
Niko Matsakis
41a21f053c remove typestate from code, tests, and docs 2012-07-14 17:37:20 -07:00
Michael Sullivan
7b2f4755f3 Get rid of ast::ty_vstore, which was only used for fixed length. 2012-07-14 12:45:52 -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
628d3e9d38 Change (hopefully) all of the code that generates strs asts to produce ~strs. 2012-07-13 17:03:54 -07:00
Michael Sullivan
985b52be6d Support prefix notation for vstore strings. Closes #2906. 2012-07-13 17:03:49 -07:00
Tim Chevalier
78ec6fe30c Obliterate the callee_id hack
Exprs that could be applications of overloaded operators
(expr_unary, expr_binary, expr_index) relied on the previous node ID
being "reserved" to carry extra typechecking info. This was
incredibly error-prone. Fixed it; now all exprs have two node IDs
(which will be wasted in some cases; future work could make this
an option instead if the extra int field ends up being a performance
problem).

Closes #2804
2012-07-12 19:02:07 -07:00
Eric Holk
1a276dba52 Switch map-reduce control protocol to use pipes. This exposed a bug in the pipe compiler, which is now fixed.
Use hashmaps in MapReduce

Tweak word-count difficulty
2012-07-12 18:16:00 -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
Michael Sullivan
1c62f5ff74 Get rid of all of the remaining /~s in the code base. 2012-07-12 15:13:18 -07:00
Michael Sullivan
9d2e5f3a65 Merge branch 'rt-changes' into incoming 2012-07-12 15:03:54 -07:00
Michael Sullivan
8ad4e92c2b Handle autoserializing of str/~. 2012-07-12 00:21:12 -07:00
Niko Matsakis
b9aa9def85 infer when types are region parameterized rather than requiring /&
- removes various fields from various variants in the AST
- also update tests not to use this notation
2012-07-11 14:41:41 -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
Paul Stansifer
cabee6391d Enable item macros to define macros. 2012-07-09 17:44:46 -07:00
Paul Stansifer
579768baa5 Allow folds to drop items. 2012-07-09 17:44:46 -07:00
Patrick Walton
7d90edcb3b rustc: Switch over to resolve3 2012-07-09 17:44:16 -07:00
Patrick Walton
ad673daa6c Revert "rustc: Switch over to resolve3" due to Linux failures
This reverts commit 2c0aa257e293dde91042a8045100d9923d139a04.
2012-07-09 16:50:19 -07:00
Patrick Walton
2c0aa257e2 rustc: Switch over to resolve3 2012-07-09 16:29:25 -07:00
Graydon Hoare
c26d02557e Switch 'cont' to 'again' everywhere. Close #2229. 2012-07-09 14:37:48 -07:00
Eric Holk
7b03832c95 Updating tests to use pipes. 2012-07-06 10:42:41 -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
6806aa0e66 pingpong protocol parses, although I should probably rewrite this to use Paul's Early parser stuff. 2012-07-06 10:42:40 -07:00
Eric Holk
84434bc084 Recursively expand items, and keep expansion stack, per Paul's code review comments. 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
Eric Holk
f0ef4ef81b You can have any protocol you want, provided it's pingpong.
This integrates the pipe compiler into the proto syntax extension.
2012-07-06 10:42:40 -07:00
Eric Holk
05cdda3a2c Plumbing and parsing for item-position macros. 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
Tim Chevalier
889be71cb4 Comments only: change TODOs to FIXMEs and annotate them 2012-07-05 16:10:29 -07:00
Lindsey Kuper
33334f3c43 Change 'iface' to 'trait' internally; parse trait as iface synonym 2012-07-05 11:01:43 -07:00
Brian Anderson
ae6ea068a1 Revert "Remove rule requiring non-nil block-style statements to be semi-terminated"
This reverts commit 0f5eaef5fb2443acd3ea67250c953839c3d04d38.
2012-07-03 17:30:25 -07:00