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
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
7b31c3eed6
fix unit tests
2015-07-16 06:09:31 -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
43995dd6cf
convert state fns to use rust_fn_header
2015-07-15 05:14:50 -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
48bbe83c5e
fix indenting :)
2015-07-14 12:49:39 -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
39a90bdd73
add some comments
2015-07-14 11:33:07 -04:00
Niko Matsakis
f346ce8a06
namespace tokens in generated code
2015-07-14 11:32:58 -04:00
Niko Matsakis
4cf8bd92f2
update tests to just write grammar;
instead of grammar { }
,
...
avoiding pointless rightward drift
2015-07-12 09:09:33 -04:00
Niko Matsakis
1102b26390
Fix expr.lalropo
2015-07-12 09:04:24 -04:00