1
0
mirror of https://github.com/fluencelabs/lalrpop synced 2025-03-18 01:40:51 +00:00

62 Commits

Author SHA1 Message Date
Niko Matsakis
d23d71b1e1 update version number to 0.6.1 2015-09-15 06:25:38 -04:00
Niko Matsakis
011bf08c51 Walk the referenced parameters for a nominal type. Fixes . 2015-09-15 06:12:44 -04:00
Niko Matsakis
0e508a06c5 change to use btreemap, which should be deterministic, so that
we generate the same code given same input
2015-09-11 07:55:03 -04:00
Niko Matsakis
4353c41441 Publish 0.5.0 and bump version number to 0.6.0 2015-09-11 06:56:57 -04:00
Niko Matsakis
7b905b2b50 change syntax for multiple alterantives from {A;B;} to {A,B}, since
this matches Rust better

[release notes]
2015-09-08 11:12:45 -04:00
Niko Matsakis
734b2bc27c regenerated rs files 2015-09-08 10:01:51 -04:00
Niko Matsakis
e18dd45972 port the intern_tok to use regular expressions 2015-09-08 09:56:52 -04:00
Niko Matsakis
de5b61b085 final changes needed to make intern_tok.rs pass 2015-09-08 09:56:52 -04:00
Niko Matsakis
d8de800b1d if intern token is used, link it in rather than taking an iterator 2015-09-08 09:56:52 -04:00
Niko Matsakis
0ddf37576b fix some minor bugs, always run token check 2015-09-08 09:56:52 -04:00
Niko Matsakis
088510c9be convert to generate the start function *inside* the LR1
module and `pub use` it from outside
2015-09-08 09:56:51 -04:00
Niko Matsakis
098cfb1639 small optimization: move shifting code into the state, rather
than the transition
2015-08-16 07:51:47 -04:00
Niko Matsakis
8d4b234383 push version back to 0.5.0 2015-08-16 06:15:00 -04:00
Niko Matsakis
aa68677a42 minor fix to test 2015-08-16 06:06:51 -04:00
Niko Matsakis
51ac61a1f7 Bump version to 0.5.0 2015-08-15 22:28:11 -04:00
Niko Matsakis
7f3f6e106d update snapshot 2015-08-15 22:20:53 -04:00
Niko Matsakis
d3db4a2d1b simplify the syntax: s/extern token/extern/ 2015-08-15 22:15:48 -04:00
Niko Matsakis
fa2b84bb46 bump version number to 0.4.0 2015-08-15 22:06:17 -04:00
Niko Matsakis
b4b88cd059 publish version 0.3.0 2015-08-15 22:06:01 -04:00
Niko Matsakis
9e6885bf3c allow terminals to be declared without quotes, and use
this form in the various lalrpop-test grammars (don't
have unit tests for it at the moment)
2015-08-15 22:00:22 -04:00
Niko Matsakis
eb6aa5e176 condense reductions that share the same production to reduce
output file size
2015-08-11 06:38:40 -04:00
Niko Matsakis
e02aaef522 add support for LALR(1) 2015-08-01 23:30:13 -07:00
Niko Matsakis
0e46b4bbcd update version numbers; break intern into its own crate 2015-07-27 13:09:36 -04:00
Niko Matsakis
26b72c6f0e Update version number to 0.2 to reflect new in progress release 2015-07-27 05:36:33 -04:00
Niko Matsakis
d8a47a7345 update cargo.toml files, readme 2015-07-26 07:49:45 -04:00
Niko Matsakis
92d64f854b bootstrapping successfully now (but unit tests prob not working yet;
lalrpop-test works)
2015-07-24 07:58:06 -04:00
Niko Matsakis
b872e3d68f tweak error.lalrpop 2015-07-21 20:49:47 -04:00
Niko Matsakis
1bbfb9d764 let users specify fallible rules (and the error type) 2015-07-21 12:45:38 -04:00
Niko Matsakis
69a881d4a5 Rename @< and @> to @L and @R 2015-07-21 06:50:41 -04:00
Niko Matsakis
b08e0cfe17 make it possible for tokenizer to generate errors (and thread the
logic through); use traits to be relatively seamless in what
we accept
2015-07-21 06:22:29 -04:00
Niko Matsakis
0530810f10 modify generate code to require a utility library (lalrpop-util) and
to generate errors based on the error type defined therein
2015-07-21 05:18:32 -04:00
Niko Matsakis
91dc00aa89 better test for using super 2015-07-20 13:02:15 -04:00
Niko Matsakis
9f4c82cf36 refactor how we handle locations so that it is only the parse_FOO
function that does the adaptation for optional location information (is
optional location information even worth it, or should we just default
to `()`)?
2015-07-20 06:18:59 -04:00
Niko Matsakis
8d1fed1e25 change parse_Foo so that it expects to consume entire input;
later we'll make a version called `resume_Foo` or something that
lets you supply the initial state (lookbehind, lookahead, etc)
in its entirety
2015-07-20 05:43:07 -04:00
Niko Matsakis
2383a021c9 change the behavior of @< and friends so that instead of supplying
`None`, they use `Default::default`. You can always give an option
yourself if that's what you want, after all, but most of the time
it's kind of annoying!
2015-07-20 05:36:52 -04:00
Niko Matsakis
ae37f374cc move the action code back into the parent module so that super::
resolves correctly (as I originally intended, but forgot) and
add a test
2015-07-20 05:21:12 -04:00
Niko Matsakis
4c74cc6873 Move the LALRPOP tokenizer into lalrpop itself; rename the existing
token to lexer; add a few more tests and fix a bug in `test`
2015-07-19 14:03:00 -04:00
Niko Matsakis
a40f774ecc initial take on a tokenizer for LALRPOP 2015-07-19 13:05:34 -04:00
Niko Matsakis
6da930bbf6 get lookahead/lookbehind working, and add a test to laprpop-test for it 2015-07-18 18:14:39 -04:00
Niko Matsakis
f758e0ff00 thread through most of the work to support lookahead/lookbehind,
but not the actual expansion (untested, clearly)
2015-07-18 06:40:30 -04:00
Niko Matsakis
fad838a361 modify recursive ascent to expect (loc, enum, loc) when a location type
is specified, and modify test tokenizer to provide it
2015-07-17 09:07:30 -04:00
Niko Matsakis
c92619fe15 implement associated types for extern tokens and track an (optional)
location type
2015-07-15 19:38:15 -04:00
Niko Matsakis
59de015817 tweak the escaping to actually be correctish 2015-07-15 13:31:50 -04:00
Niko Matsakis
a1da099572 various annoying things to get macros working 2015-07-15 09:35:24 -04:00
Niko Matsakis
bfe72e14fc Misc changes to make the expr-arena-ast test case work
(threading through type parameters etc)
2015-07-15 06:21:43 -04:00
Niko Matsakis
ccf9320b10 introduce a write_fn_header fn and use it in a few places,
with the intention of making it possible to thread grammar parameters
through
2015-07-14 22:28:20 -04:00
Niko Matsakis
8f14f9a3f3 structure to be more friendly to adding parameters 2015-07-14 12:48:54 -04:00
Niko Matsakis
0ee3ac81d6 add some more namespacing 2015-07-14 11:47:31 -04:00
Niko Matsakis
a4d2444950 add more prefixing, I think to all identifiers this time 2015-07-14 11:45:51 -04:00
Niko Matsakis
f346ce8a06 namespace tokens in generated code 2015-07-14 11:32:58 -04:00