570 Commits

Author SHA1 Message Date
Niko Matsakis
22322d26e4 fix parentheses 2016-11-23 05:24:21 -05:00
Niko Matsakis
b6e9a49f0e release 0.12.2 2016-11-23 05:23:10 -05:00
Niko Matsakis
99c10eb41b remove main.rs from lalrpop-snap
it interferes with publish
2016-11-23 05:01:54 -05:00
Niko Matsakis
417c1e34c4 update version numbers for 0.12.2 2016-11-23 04:55:59 -05:00
Niko Matsakis
d710c1f3f0 Merge pull request #168 from nikomatsakis/snapshot
New snapshot
2016-11-23 01:55:08 -08:00
Niko Matsakis
99962ccb49 create new snapshot 2016-11-23 04:32:17 -05:00
Niko Matsakis
fd88178922 remove profile entries 2016-11-23 04:30:03 -05:00
Niko Matsakis
82cf10d5ba update RELEASES.md with new activity 2016-11-23 04:21:44 -05:00
Niko Matsakis
a73ca78c89 Merge pull request #160 from Marwes/symbol_error
feat: Implement error recovery
2016-11-23 01:16:01 -08:00
Markus Westerlind
1fe5cf46c4 Add missing path dependency on the pascal demo 2016-11-22 23:20:04 +01:00
Markus Westerlind
18b179660b Use ! instead of error to indicate error recovery 2016-11-22 23:03:56 +01:00
Markus Westerlind
6bf1c9e940 Store the tokens dropped during error recovery in the produced type 2016-11-22 22:37:19 +01:00
Niko Matsakis
c07833ab31 improve docs and various nits in parse_table.rs 2016-11-22 22:36:10 +01:00
Niko Matsakis
fe854cc7fc update tutorial wording, rm calculator6 2016-11-22 22:36:10 +01:00
Markus Westerlind
352ed58dce Fix nits 2016-11-22 22:36:10 +01:00
Markus Westerlind
0a7f46cfde Don't generate the ERROR table anymore
The information in the `ERROR` table is now encoded in `ACTION` under the error terminal.
2016-11-22 22:36:10 +01:00
Markus Westerlind
0811555dd4 Add basic documentation for error recovery 2016-11-22 22:36:10 +01:00
Markus Westerlind
ea31f3cdda Merge the generation of error recovery as much as possible
The generated code is still duplicated but overall it is a miniscule
amount of code.
2016-11-22 22:36:10 +01:00
Markus Westerlind
80603e1e28 fix: Perform all reductions before shifting in error recovery
This fixes a problem in the newly added calculator7 test where error recovery would remove everything before the comma in `22 * 44 + 66, *3` as there would be no shift at that point. By first reducing the first expression the parser ends up in a state which properly has recovery installed and parsing can resume
2016-11-22 22:36:10 +01:00
Markus Westerlind
5c4c0d0f8a Only generate a parse_table parser when testing error recovery 2016-11-22 22:36:10 +01:00
Markus Westerlind
4400e74cd6 Display a friendly error if using error recovery in a recursive ascent parser 2016-11-22 22:36:10 +01:00
Markus Westerlind
9ceaa09e0f Add comments and fix nits 2016-11-22 22:36:10 +01:00
Markus Westerlind
0000be244f Infer the type of error symbols 2016-11-22 22:36:10 +01:00
Markus Westerlind
6f6db1ec2f Allow underscores to be part of LALRPOP identifiers 2016-11-22 22:36:10 +01:00
Markus Westerlind
1e3a543881 Fix compile error when running cargo test on the main crate 2016-11-22 22:36:10 +01:00
Markus Westerlind
39a033c477 Don't drop the token that caused an error
If we end up dropping some states in the first part of error recovery we may not need to skip any tokens at all.
2016-11-22 22:36:10 +01:00
Markus Westerlind
9dd99ce436 Don't enter an infinite loop if no recovery exists at EOF 2016-11-22 22:36:10 +01:00
Markus Westerlind
137e015f43 Add issue_55.rs to .gitignore 2016-11-22 22:36:10 +01:00
Markus Westerlind
99004de261 Only emit an ERRORS table if error recovery is used 2016-11-22 22:36:10 +01:00
Markus Westerlind
e68c2605c8 Revert accidental style change to the grammar 2016-11-22 22:36:10 +01:00
Markus Westerlind
00c78e5e2e Add some comments 2016-11-22 22:36:10 +01:00
Markus Westerlind
9cd4f30319 Make the error available for error recovery actions 2016-11-22 22:36:10 +01:00
Markus Westerlind
fd2a5f04ce Treat error as a terminal when it comes to example generation 2016-11-22 22:36:10 +01:00
Markus Westerlind
28f689c9df Implement error recovery on EOF 2016-11-22 22:36:10 +01:00
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