536 Commits

Author SHA1 Message Date
Markus Westerlind
7af013e7bb Add basic error recovery for parse tables
This does not yet recover errors at EOF as EOF handling is a separate
step
2016-11-22 22:36:10 +01:00
Markus Westerlind
05472491d2 Hack in a way to only test parse_table 2016-11-22 22:36:10 +01:00
Niko Matsakis
09fe675d97 Merge pull request #167 from Marwes/parse_error
feat: Implement Error and Display on ParseError
2016-11-18 17:34:57 -08:00
Niko Matsakis
feee6cb317 Merge pull request #165 from Marwes/shrink_tables
fix: Shrink the amount of lines written for parse tables
2016-11-18 17:33:52 -08:00
Niko Matsakis
5c0bafc902 Merge pull request #166 from Marwes/whitespace
fix: Rename "hello. " to be friendlier for windows
2016-11-18 17:26:14 -08:00
Markus Westerlind
c4c1e8439c chore: Add a small bash script to run all tests 2016-11-18 23:54:42 +01:00
Markus Westerlind
1b9ad76dd2 feat: Implement Error and Display on ParseError 2016-11-18 23:37:26 +01:00
Markus Westerlind
e055a9a480 fix: Rename "hello. " to be friendlier for windows 2016-11-18 22:15:16 +01:00
Markus Westerlind
8a2e4c2e6d fix: Shrink the amount of lines written for parse tables
This commit avoids writing a description of each terminal as a comment if comments are disabled. It also writes all terminals for a state on a single line which effectively reduces the size of tables from `O(terminals * states=` to `O(states)` (if comments are disabled).
2016-11-18 22:01:45 +01:00
Niko Matsakis
dba28217c9 Merge pull request #161 from Marwes/ignore_rs
Ignore .rs files generated for tests
2016-11-11 02:31:53 -08:00
Markus Westerlind
b9c9ea33bc Ignore .rs files generated for tests 2016-11-09 21:14:55 +01:00
Niko Matsakis
e12a4134cd Merge pull request #159 from nikomatsakis/nikomatsakis-gitter-badge
Add gitter badge
2016-11-08 03:33:46 -08:00
Niko Matsakis
03b4c459b3 Add gitter badge 2016-11-08 06:33:40 -05:00
Niko Matsakis
a29ca97d26 Merge pull request #151 from nikomatsakis/release-0.12.1
Release 0.12.1
2016-09-29 19:43:30 -04:00
Niko Matsakis
4764a1d286 bump version number to 0.12.1 2016-09-29 05:38:06 -04:00
Niko Matsakis
956f6222aa update release notes 2016-09-29 05:37:48 -04:00
Niko Matsakis
07d6b9b428 Merge pull request #150 from nikomatsakis/issue-144
Compute transitive closure correctly
2016-09-29 05:33:38 -04:00
Niko Matsakis
a0e6de2eb2 fix transitive closure algorithm
The old algorithm was still based in the `{Item->Token}` world and was
not handling the new mapping from `Item->TokenSet` correctly. Seems like
we should move away from `Vec<Item>` as the canonical representation and
towards `Multimap<LR0Item,Lookahead>`, but that can wait for later.
2016-09-29 04:58:06 -04:00
Niko Matsakis
ce4fdf42e2 make a test for #144 (which fails) 2016-09-29 04:58:05 -04:00
Niko Matsakis
0013c6a1ae make Multimap able to tell you if it has changed 2016-09-29 04:58:05 -04:00
Niko Matsakis
902c122e7f Merge pull request #131 from malleusinferni/master
Rough draft of lexer tutorial
2016-08-31 21:59:16 -04:00
Mako
ae20b9f0b3 Lexer tutorial: Explicit parser input example 2016-08-22 11:42:49 -04:00
Mako
0fb11ddb50 Lexer tutorial: extern can go anywhere in file 2016-08-22 11:32:59 -04:00
Mako
5b19632f2a Lexer tutorial: Iterator impl style fixes 2016-08-22 11:29:56 -04:00
Mako
84636a985f Fix filename mention in lexer_tutorial.md 2016-08-17 18:30:00 -04:00
Mako
5d6608353a Rough draft of lexer tutorial 2016-08-17 17:03:53 -04:00
Niko Matsakis
324bbf0e9d Merge pull request #129 from nikomatsakis/issue-104
allow type parameters not constained by arguments
2016-08-16 20:23:50 -04:00
Niko Matsakis
a02f7c533b fix workspace in Cargo.toml for calculator 2016-08-16 19:44:35 -04:00
Niko Matsakis
d07c355e6a install LR1 TLS earlier
Fixes #126
2016-08-16 19:30:34 -04:00
Niko Matsakis
3fc5b2d02b allow type parameters not constained by arguments
In the older code, type parameters that were not constrained by some
argument would fail to be threaded through. We now pass `PhantomData`
arguments and/or specify the type parameters manually so that this all
works out fine.

Fixes #104.
2016-08-16 07:58:04 -04:00
Niko Matsakis
17fef82dc2 Merge pull request #128 from nikomatsakis/issue-101
push "alternate" edges in one swoop
2016-08-08 06:23:51 -04:00
Niko Matsakis
125cf975e3 push "alternate" edges in one swoop
We are supposed to push all edges from a given node together.

Fixes #101.
2016-08-08 05:40:40 -04:00
Niko Matsakis
1d62b20950 Merge pull request #125 from nikomatsakis/table-driven
update version numbers to latest published release
2016-08-05 07:34:52 -04:00
Niko Matsakis
0411ca9d48 update version numbers to latest published release 2016-08-05 07:35:19 -04:00
Niko Matsakis
544cafe44a Merge pull request #124 from nikomatsakis/table-driven
bump version number to 0.12.0
2016-08-05 06:52:25 -04:00
Niko Matsakis
4ae77fc70c update README to mention Configuration 2016-08-05 05:32:29 -04:00
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