340 Commits

Author SHA1 Message Date
Niko Matsakis
942ef00e9d Build lalrpop-exe too 2016-02-14 20:48:32 -05:00
Niko Matsakis
fee1dcb68c Remove dead code, prefer shorter examples 2016-02-14 20:48:13 -05:00
Niko Matsakis
ca4c362cb3 Replace the old backtrace code with the new, graph-based version 2016-02-14 13:30:26 -05:00
Niko Matsakis
cc6ce03860 Fix bug where we added unnecessary epsilon edges 2016-02-14 13:09:28 -05:00
Niko Matsakis
7d03bac0e7 Generate Example from path iterator 2016-02-14 13:02:21 -05:00
Niko Matsakis
dc2ac98367 Make trace graph iter push target node on stack
This means full state can be reconstructed in between iterations.
2016-02-14 06:39:16 -05:00
Niko Matsakis
97df75a5a1 Harmonize the documentation for trace graphs
Also tweak slightly how the edges are represented to make them more
consistent.
2016-02-14 06:30:19 -05:00
Niko Matsakis
c4e4fd2b67 Extend trace graphs to have both prefix/suffix 2016-02-13 21:34:25 -05:00
Niko Matsakis
b10dc27980 add unit tests for trace_graph 2016-02-12 05:53:26 -05:00
Niko Matsakis
495793075b Implement trace graph path enumeration 2016-02-12 05:32:41 -05:00
Niko Matsakis
cb7fd0b19c WIP graph approach working 2016-02-11 07:57:23 -05:00
Niko Matsakis
2c908bace8 Reorganize lr1::backtrace into lr1::trace::...
Split up the different kinds of tracing (shift tracing is not yet
rewritten) and move them into a common module.
2016-02-10 05:53:56 -05:00
Niko Matsakis
07e8e45ab8 Massively reorganize LR1 modules
Move all of the lr1 specific data structures into `core`, which means I
can make them pub while keeping the lr1/mod interface fairly clean.
2016-02-10 05:37:50 -05:00
Niko Matsakis
0738e1ed16 Change graph to labeled edges. 2016-02-10 04:57:41 -05:00
Niko Matsakis
01137f51f3 Remove Debug output from inner core loop 2016-02-09 09:39:21 -05:00
Niko Matsakis
e96361d7a6 Introduce a cache in place of the old stack 2016-02-09 08:16:11 -05:00
Niko Matsakis
e9879b95e9 Use LookaheadSet in the backtrace computation too 2016-02-09 05:36:18 -05:00
Niko Matsakis
06bb6e7c82 Use the new LookaheadSet in the first set computation 2016-02-09 05:22:30 -05:00
Niko Matsakis
287d6f6030 Add a new LookaheadSet, currently unused 2016-02-09 04:41:41 -05:00
Niko Matsakis
28118fa2e3 Try to integrate styles and write some output. Needs work. 2016-02-08 05:59:58 -05:00
Niko Matsakis
7430a65d45 Add capability of ANSI formatting to ASCII canvas 2016-02-08 04:59:45 -05:00
Niko Matsakis
3372e0ce9d Move the cursor into a separate field rather than making it an item 2016-02-08 04:14:12 -05:00
Niko Matsakis
47d2a62abc Add error classification and use several examples. 2016-02-07 20:26:27 -05:00
Niko Matsakis
4103c265ad WIP 2016-02-06 20:47:10 -05:00
Niko Matsakis
013b7f9ae8 Test that we can enumerate/paint the examples. 2016-02-06 05:33:02 -05:00
Niko Matsakis
8b51ec251d Fix the handling of the right-hand-side 2016-02-05 08:18:42 -05:00
Niko Matsakis
76399fc667 Tweak more 2016-02-05 06:09:29 -05:00
Niko Matsakis
a9b8f7c395 WIP example lengths 2016-02-04 06:26:01 -05:00
Niko Matsakis
de769d0ca8 Play with module structure. 2016-02-03 13:10:50 -05:00
Niko Matsakis
f4cc3730b4 Expand example 2016-02-03 11:11:14 -05:00
Niko Matsakis
176f66f9dc Change backtraces to be computed over LR(0) items, and merge parent
backtraces. The result is much cleaner. :)
2016-02-03 05:28:59 -05:00
Niko Matsakis
093ac9a96c Add a case that handles cycles, and an example of a bad grammar 2016-02-03 04:23:51 -05:00
Niko Matsakis
22d3c904a9 Implement backtrace 2016-02-02 20:11:16 -05:00
Niko Matsakis
52e7208239 WIP 2016-02-02 04:53:53 -05:00
Niko Matsakis
e45d27bc3d Collect the states when failure occurs in LR(1) construction 2016-02-02 04:53:53 -05:00
Niko Matsakis
e6b057f551 Add an execute (lalrpop-exe) that one can use to run LALRPOP manually. 2016-02-02 04:53:53 -05:00
Niko Matsakis
6417391917 Fix tests with sessions, add debug output by default 2016-02-01 09:11:07 -05:00
Niko Matsakis
6b43dbce28 Add a lalrpop-exe command that you can use to run LALRPOP manually. 2016-02-01 05:24:11 -05:00
Niko Matsakis
c7aeb106ad Add a Session object and thread some logging through LALRPOP. 2016-02-01 05:24:04 -05:00
Niko Matsakis
20b2ee8e56 Merge pull request #64 from nikomatsakis/relicense
Remove outdated LICENSE file.
2016-01-28 05:43:06 -05:00
Niko Matsakis
6bc1ebb6e8 Remove outdated LICENSE file. 2016-01-28 05:42:30 -05:00
Niko Matsakis
a5e107a869 Merge pull request #61 from nikomatsakis/relicense
Switch license to MIT/Apache2 instead of Unlicense
2016-01-28 05:41:35 -05:00
Niko Matsakis
728654dfa2 Switch license to MIT/Apache2 instead of Unlicense, in an effort to be
more uniform with the rest of the Rust ecosystem, and to evade the
various legal quandries associated with the concept of "public domain".
2016-01-24 04:52:05 -05:00
Niko Matsakis
b311a988c2 Merge pull request #60 from nikomatsakis/release-0.9.0
Release 0.9.0 and begin version 0.10.
2016-01-23 13:48:26 -05:00
Niko Matsakis
149bfdbb00 repair damage done by public script 2016-01-23 12:35:39 -05:00
Niko Matsakis
f0e0c2a91c fix bug in publish script that messed up dependencies 2016-01-23 12:35:30 -05:00
Niko Matsakis
a1f343039c add calculator tutorial to the travis config 2016-01-23 12:35:17 -05:00
Niko Matsakis
01ae27afe8 Bump to version 0.10.0 (in progress). 2016-01-23 11:45:29 -05:00
Niko Matsakis
eea6b63e71 Release version 0.9.0. 2016-01-23 11:43:36 -05:00
Niko Matsakis
e203016952 Merge pull request #59 from nikomatsakis/new-version
Bump version to 0.9.0
2016-01-23 11:41:21 -05:00