500 Commits

Author SHA1 Message Date
Niko Matsakis
7a5ffa6f20 update release notes to be more comprehensive 2016-08-05 05:27:49 -04:00
Niko Matsakis
70a438357a bump version number to 0.12.0 2016-08-05 05:20:30 -04:00
Niko Matsakis
391641d89d Merge pull request #123 from nikomatsakis/table-driven
upgrade snapshot to use table-driven parser
2016-08-04 20:58:37 -04:00
Niko Matsakis
9b10730fab upgrade snapshot 2016-08-04 13:28:01 -04:00
Niko Matsakis
dbc9cedc56 Merge pull request #122 from nikomatsakis/table-driven
Add support for table-driven parsers
2016-08-03 07:32:27 -04:00
Niko Matsakis
1462b2a649 fix pascal example 2016-08-03 06:29:50 -04:00
Niko Matsakis
334ada7f55 don't emit quite so many comments 2016-08-03 06:29:06 -04:00
Niko Matsakis
5001e137e0 do not use TLS in normalize::lower to get session 2016-08-03 06:28:52 -04:00
Niko Matsakis
faded2d169 add table-driven to release notes 2016-08-03 05:20:25 -04:00
Niko Matsakis
1da9ee7d99 enable annotations to select algorithm etc 2016-08-03 05:20:25 -04:00
Niko Matsakis
98f4159c8b add test_all that runs both ascent/table-driven
It then asserts that the results are equal.
2016-08-03 05:20:11 -04:00
Niko Matsakis
e72c397c69 use common codegen infrastructure for ascent 2016-08-03 05:20:11 -04:00
Niko Matsakis
2517a138b0 remove printlns 2016-08-02 21:46:09 -04:00
Niko Matsakis
8dd44e9739 factor codegenerator code out 2016-08-02 21:46:09 -04:00
Niko Matsakis
81a37faeb1 stop dumping out the state machine 2016-08-02 21:46:09 -04:00
Niko Matsakis
6374ddc729 implement a parse-table-driven output 2016-08-02 21:46:09 -04:00
Niko Matsakis
761faa036f Merge pull request #118 from dflemstr/master
Don't emit module-level attributes
2016-08-02 13:59:31 -04:00
Niko Matsakis
12350838ee Merge pull request #120 from larsluthman/bugfix-overlap-panic
Fix panicking bug in add_range().
2016-08-02 13:31:24 -04:00
Niko Matsakis
ef35c74d3d Merge pull request #121 from serprex/master
Replace time with std::time
2016-07-25 18:43:53 -04:00
Demur Rumed
306714dc51 Replace time with std::time 2016-07-17 03:12:28 +00:00
Lars Luthman
75d20857e6 Fix panicking bug in add_range(). 2016-07-12 04:21:06 +02:00
David Flemström
8b1d8723e1 Fully qualify lalrpop_util uses in generated code 2016-07-06 21:48:13 +02:00
David Flemström
25da66e6ca Allow unused_variables for each action function 2016-07-06 21:37:13 +02:00
Niko Matsakis
4893ddacc6 Merge pull request #116 from ashleygwilliams/calc3
fix spacing and add trailing commas to calc3 example
2016-06-29 21:24:49 +03:00
Ashley Williams
27a3003da4 fix spacing and add trailing commas to calc3 example 2016-06-29 13:55:03 -04:00
Niko Matsakis
04be5f9a8c Merge pull request #114 from nikomatsakis/lane-table
Towards lane table support
2016-06-01 05:32:06 -04:00
Niko Matsakis
35f7650d27 do a better job suppressing dead-code warnings 2016-06-01 05:31:21 -04:00
Niko Matsakis
728c33393d squash dead-code warnings 2016-06-01 05:03:56 -04:00
Niko Matsakis
71672847d3 remove dead import 2016-06-01 05:03:56 -04:00
Niko Matsakis
6e777652a6 kill some dead code, reformat with rustfmt 2016-06-01 05:03:56 -04:00
Niko Matsakis
7a7fb269d8 get tests passing again 2016-06-01 05:03:56 -04:00
Niko Matsakis
31a3304be5 remove some unused variables and imports 2016-06-01 05:03:56 -04:00
Niko Matsakis
e88a104cf2 move conflicts vector out of State 2016-06-01 05:03:56 -04:00
Niko Matsakis
43e3fe2315 use TokenSet for LR1 lookahead and not Token
This way, instead of having:

    X = A (*) B [c]
    X = A (*) B [d]

you would have

    X = A (*) B [c, d]
2016-06-01 05:03:56 -04:00
Niko Matsakis
0ff2b42f5c switch TokenSet to use TLS to get terminals
hallelujah!
2016-06-01 04:58:38 -04:00
Niko Matsakis
e94d8c7331 Put terminals to in one struct and put it in TLS. 2016-06-01 04:58:38 -04:00
Niko Matsakis
a928c53f66 change to store reductions in a vector 2016-06-01 04:58:38 -04:00
Niko Matsakis
567e9687a1 fix small-conflict test 2016-06-01 04:58:38 -04:00
Niko Matsakis
f35691a6c1 add test for big lane table 2016-06-01 04:58:38 -04:00
Niko Matsakis
2f676abacd pred -> succ, not vice versa :) 2016-06-01 04:58:38 -04:00
Niko Matsakis
e72378d2bc shift conflicts do not need to be traced 2016-06-01 04:58:38 -04:00
Niko Matsakis
ed089c27fd generalize interpreter to work for LR(0) 2016-06-01 04:58:38 -04:00
Niko Matsakis
b802906413 first basic test of lane table generation; seems to work 2016-06-01 04:58:38 -04:00
Niko Matsakis
d656a022fa add can_shift_terminal helper 2016-06-01 04:58:38 -04:00
Niko Matsakis
41c270ce14 make stategraph generic over lookahead 2016-06-01 04:58:38 -04:00
Niko Matsakis
1871219032 some new multimap methods 2016-06-01 04:58:38 -04:00
Niko Matsakis
4424752f46 Extend Action::Shift with the terminal being shifted, which is absent
in LR(0)
2016-06-01 04:58:38 -04:00
Niko Matsakis
9b42e78adc add initial lane table types and infrastructure (no tests yet) 2016-06-01 04:58:38 -04:00
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