Niko Matsakis
7710a55947
add LR(0) variant of build
2016-06-01 04:56:41 -04:00
Niko Matsakis
0ca108c5d1
filter reduce examples by their lookahead
2016-06-01 04:53:47 -04:00
Niko Matsakis
3de4edd597
modify reduce to not consider lookahead
2016-06-01 04:53:47 -04:00
Niko Matsakis
c2be80e51c
refactor first into first0/first1
2016-06-01 04:53:47 -04:00
Niko Matsakis
61b2e52f51
refactor first
2016-06-01 04:53:47 -04:00
Niko Matsakis
fece7f5c5f
remove dead code from trace graph enumerator
2016-06-01 04:53:47 -04:00
Niko Matsakis
1742b18177
make state set construction generic over lookahead
2016-06-01 04:53:47 -04:00
Niko Matsakis
b7648bcd9e
separate shifts/reduces into distinct tables
2016-06-01 04:53:47 -04:00
Niko Matsakis
19a0852539
Make a trait for lookahead
2016-06-01 04:49:53 -04:00
Niko Matsakis
b0b7735bbc
Rename Lookahead
to Token
2016-06-01 04:48:16 -04:00
Niko Matsakis
568c2cf7be
make the core LR types generic over lookahead
2016-06-01 04:46:22 -04:00
Niko Matsakis
d34f87b339
Merge pull request #105 from nikomatsakis/pascal
...
Default actions for `()`, make fewer options in recursive ascent code
2016-04-20 04:26:32 -04:00
Niko Matsakis
948649f627
Merge pull request #108 from dflemstr/output-control
...
Input/output directory control
2016-04-20 04:26:08 -04:00
David Flemström
061a580569
Make lalrpop code gen respect configured dirs
2016-04-17 14:27:09 +02:00
David Flemström
b10b23f6d7
Make in/out dirs configurable
2016-04-17 13:41:30 +02:00
Niko Matsakis
f8471defdd
Merge pull request #106 from Nemikolh/fix-usage
...
Fix bug in USAGE and add regression tests.
2016-04-02 08:32:41 -04:00
Nemikolh
6056b9c8ff
Fix bug in USAGE and add regression tests.
2016-04-02 13:10:00 +01:00
Niko Matsakis
2db28a3650
add forgotten test for unit default actions
2016-03-22 04:45:45 -04:00
Niko Matsakis
0a577f46d4
update test output
2016-03-22 04:42:18 -04:00
Niko Matsakis
cea227af0c
modify ascent to avoid Option
when possible
...
Whereas before all data on the parser stack was always stored in an
`&mut Option<T>` slot, we know analyze whether the option is truly
needed. The idea is roughly this: for each state, we analyze its actions
to see what suffix of its stack it will *definitely* pop and which
suffix it *may* pop. This is basically the difference between the
largest and shortest prefixes.
2016-03-22 04:42:17 -04:00
Niko Matsakis
78779edfa9
add preliminary Pascal grammar and test harness
...
Caveats: requires uppercase keywords, cannot handle
comments, somewhat dated grammar
2016-03-22 04:42:17 -04:00
Niko Matsakis
d46f2b504b
Parse options properly
2016-03-22 04:42:17 -04:00
Niko Matsakis
7b4a4a870c
Synthesize default action of ()
if type is ()
2016-03-22 04:42:17 -04:00
Niko Matsakis
487004bddb
Merge pull request #103 from reuben/patch-1
...
Fix typo in report_error_suggest_inline
2016-03-14 05:48:34 -04:00
Reuben Morais
667f20cda2
Fix typo in report_error_suggest_inline
2016-03-13 14:32:21 -03:00
Niko Matsakis
bb5c741658
Merge pull request #102 from nikomatsakis/configuration
...
Introduce a `Configuration` builder for advanced usage
2016-03-07 09:25:48 -05:00
Niko Matsakis
9896793d10
Remove some stray println calls. Fixes #98 .
2016-03-07 05:48:38 -05:00
Niko Matsakis
b639c9e88b
Port lalrpop-test to use new Configuration
value
...
Also, start emitting comments again, since they are helpful to ME.
2016-03-07 05:47:43 -05:00
Niko Matsakis
d70cfac7d8
Introduce a Configuration
builder for advanced usage; fix docopt handling.
2016-03-07 05:22:56 -05:00
Niko Matsakis
3dd9b2c157
Merge pull request #96 from nikomatsakis/v0.11.0
...
Publish v0.11.0
2016-03-02 04:25:24 -05:00
Niko Matsakis
969586b960
Bump the release number to 0.11.0
2016-02-28 05:36:50 -05:00
Niko Matsakis
6efc75b2a5
Update Cargo.toml to v0.11.0
2016-02-25 14:44:11 -05:00
Niko Matsakis
729e61d4ef
Merge pull request #95 from nikomatsakis/locations-without-conflicts
...
Locations without conflicts
2016-02-25 07:51:30 -05:00
Niko Matsakis
cb53eb34f0
Fix lookahead test
2016-02-25 06:55:39 -05:00
Niko Matsakis
bcbf3c228d
update release notes
2016-02-25 05:59:32 -05:00
Niko Matsakis
a9ec498c9e
extend with some further tests where @R and @L are used in weird ways to
...
try and get assertion errors etc
2016-02-25 05:55:00 -05:00
Niko Matsakis
396b123f51
add a comment explaining how action code looks
2016-02-25 05:55:00 -05:00
Niko Matsakis
e79e2c4858
extend the loc_issue_90 test a bit more
2016-02-25 05:55:00 -05:00
Niko Matsakis
3d4d097373
stop carrying lookbehind around and just extract it from the top of the stack
2016-02-25 05:55:00 -05:00
Niko Matsakis
7e8602562e
do not pass lookahead/lookbehind to actions if there are symbols
2016-02-25 05:54:59 -05:00
Niko Matsakis
7431af506d
add a regression test for loc #90
2016-02-25 05:54:59 -05:00
Niko Matsakis
93a2a48219
enable inlining of $L and $R (and fix some bugs)
2016-02-25 05:54:59 -05:00
Niko Matsakis
cc37797eaa
package up each nonterminal as a (L, T, L) pair
2016-02-25 05:54:56 -05:00
Niko Matsakis
df60aefc30
change lookahead to be passed unconditionally
2016-02-25 05:54:56 -05:00
Niko Matsakis
68c79f79f2
change lookbehind to stop passing around an option everywhere
2016-02-25 05:54:56 -05:00
Niko Matsakis
9fc995c5f2
just pass lookahead position, not entire triple
2016-02-25 05:54:52 -05:00
Niko Matsakis
122994f530
apply rustfmt to action.rs
2016-02-24 09:26:03 -05:00
Niko Matsakis
2c9e28f56d
add spanned_type
helper
2016-02-24 09:25:48 -05:00
Niko Matsakis
64dadba6c0
Merge pull request #92 from nikomatsakis/optimize-lr1
...
Make LR(1) less naive
2016-02-24 06:22:32 -05:00
Niko Matsakis
2c531f2ffc
mention improvement in release notes
2016-02-24 06:07:28 -05:00