492 Commits

Author SHA1 Message Date
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
Niko Matsakis
5f10d65eed add more profiling when using verbose output mode 2016-02-24 05:41:47 -05:00
Niko Matsakis
71a2e29036 compute closure for each state not each transition 2016-02-24 05:17:15 -05:00
Niko Matsakis
ddf1654ab2 make multimap generic over the kind of collection 2016-02-24 04:55:39 -05:00
Niko Matsakis
e860cecd30 move map/set/multimap from util into collections 2016-02-24 04:40:10 -05:00
Niko Matsakis
c0bfb6aba5 Make status updates appear more often 2016-02-24 04:21:45 -05:00
Niko Matsakis
3647ea657a Merge pull request #86 from fhahn/remove-intern
Remove unused module `intern` from lalrpop/src
2016-02-22 13:31:12 -05:00
Niko Matsakis
f83b9afe2d Mention regex-syntax crate in the release notes 2016-02-22 13:14:20 -05:00
Niko Matsakis
e49939a1f2 Merge pull request #87 from nikomatsakis/regex-syntax
Convert to use the `regex-syntax` crate
2016-02-22 13:10:41 -05:00
Niko Matsakis
a68997a5fc implement AnyCharNoNL correctly 2016-02-22 11:13:04 -05:00
Niko Matsakis
24f962c5cf detect and report error for unsupported regex 2016-02-22 11:10:15 -05:00