164 Commits

Author SHA1 Message Date
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
cb66b6ddb9 Update README.md with latest published version 2015-08-15 22:27:57 -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
9bd038d2a0 start distinguishing quoted terminals from unquoted ones,
though we don't support unquoted ones yet
2015-08-15 18:02:56 -04:00
Niko Matsakis
bbc324fede add test for an unknown terminal that is an identifier 2015-08-13 17:19:19 -04:00
Niko Matsakis
11a6f434ac add codegen-units=4 to cargo.toml; sadly there doesn't seem to be a
better way to enable this
2015-08-11 18:16:41 -04:00
Niko Matsakis
aafbac662a Update snapshot to share reduction code.
Appears to improve size by ~33%.
2015-08-11 07:11:39 -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
3899f4a297 add missing files from lalrpop-snap 2015-08-02 09:38:54 -07:00
Niko Matsakis
8112e8b88c upgrade snap, switch to LALR(1) 2015-08-01 23:37:58 -07: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
263ed5f243 do not bump README version until publishing 2015-07-27 05:36:19 -04:00
Niko Matsakis
86a221bbb0 two utility scripts for updating version and publishing 2015-07-27 05:35:17 -04:00
Niko Matsakis
d8a47a7345 update cargo.toml files, readme 2015-07-26 07:49:45 -04:00
Niko Matsakis
9818f17a76 make tests pass 2015-07-26 06:02:24 -04:00
Niko Matsakis
e2299d1078 Require that there either be symbols or action (or both), but not
neither. This means that an empty production with no action is not
written `;` but rather `();`. This opens door for using more
`match` style syntax.
2015-07-26 05:58:11 -04:00
Niko Matsakis
940b583dde ignore generated parser 2015-07-24 22:49:08 -04:00
Niko Matsakis
0e19272c01 get unit tests to pass 2015-07-24 22:48:41 -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
bf2945a6b4 self-hosted parsing is kinda working -- except that
I didn't implement yet the handling of patterns
2015-07-24 06:58:01 -04:00
Niko Matsakis
d67e04f5e4 setup (but don't yet use) a self-hosting scheme. newparser.rs does
successfully convert though.
2015-07-24 06:01:33 -04:00
Niko Matsakis
3c67e3c8c5 add LALRPOP grammar written in itself; generates quite a lot of output
though -- probably need to shift to a less naive LR(1) generation
algorithm
2015-07-24 05:54:53 -04:00
Niko Matsakis
bd006f8c27 add an interesting test for an S/R conflict and patch up LALRPOP tokenizer 2015-07-24 05:54:25 -04:00
Niko Matsakis
5890485b20 Patch up tokenizer for use/where; use is_xid_start from cargo 2015-07-24 05:06:42 -04:00
Niko Matsakis
1d4c5d3efc separate out pre/post-validation in order to properly check for
terminals without defined conversions; also, eliminate the default
conversion
2015-07-23 08:50:12 -04:00
Niko Matsakis
b872e3d68f tweak error.lalrpop 2015-07-21 20:49:47 -04:00
Niko Matsakis
110db353fc fix tyinfer test 2015-07-21 20:49:09 -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
4c39cc7f2b Merge branch 'master' of github.com:nikomatsakis/lalrpop 2015-07-21 05:21:32 -04:00
Niko Matsakis
0be8a9388f Merge branch 'master' of github.com:nikomatsakis/lalrpop 2015-07-21 05:19:34 -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
d4a13ba84f Merge pull request #11 from wycats/patch-1
Fix typo
2015-07-20 15:17:42 -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
0ec6824eeb fix escape test 2015-07-19 14:20:59 -04:00
Niko Matsakis
d5b2603bcb fix minor thing with string literal spans (and add a test) 2015-07-19 14:14:40 -04:00
Niko Matsakis
09f00f7a56 test for the various kinds of ids 2015-07-19 14:08:27 -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