Max Brunsfeld
de9b9db7c5
Remove accidentally-committed reference stack files
2016-08-29 13:07:46 -07:00
Max Brunsfeld
f209c24cf6
Trim trailing newlines from corpus texts
2016-08-29 13:00:28 -07:00
Max Brunsfeld
285f2272fd
Move random string helpers into a separate file
2016-07-17 06:22:05 -07:00
Max Brunsfeld
08e47001f1
Silence mismatched delete warning in spec helper
2016-06-27 13:38:49 -07:00
Max Brunsfeld
38c144b4a3
Refine logic for deciding when tokens need to be re-lexed
...
* While generating the lex table, note which tokens can match the
same string. A token needs to be relexed when it has possible
homonyms in the current state.
* Also note which tokens can match substrings of each other tokens.
A token needs to be relexed when there are viable tokens that
could match longer strings in the current state and the next
token has been edited.
* Remove the logic for marking tokens as fragile on creation.
* Store the reusability/non-reusability of symbols off of individual
actions and onto the entire entry for the state & symbol.
2016-06-21 07:28:04 -07:00
Max Brunsfeld
70d3cde775
Remove extra leading newline from corpus spec texts
2016-06-15 10:31:34 -07:00
Max Brunsfeld
e1a3a1daeb
Import error corpus entries from grammar repos
...
Now that error recovery requires no input for the grammar author, it shouldn't
be tested in the individual grammar repos.
2016-05-28 20:12:02 -07:00
Max Brunsfeld
59712ec492
Clean up lex table generation
2016-05-19 13:25:46 -07:00
Max Brunsfeld
88053cf723
In tests, don’t record allocations while printing debug graphs
2016-05-16 10:44:19 -07:00
Max Brunsfeld
fd4c33209e
Select ambiguous alternatives by minimizing error size
2016-04-24 00:54:20 -07:00
Max Brunsfeld
655d374d0c
Recompile test languages if parser.h changes
2016-04-18 11:17:06 -07:00
Max Brunsfeld
4f726da881
Fix logic for whether to regenerate parsers in specs
2016-03-10 11:35:59 -08:00
Max Brunsfeld
4348eb89d4
Expose lower stack nodes via pop_until() function
...
This callback-based API allows the parser to easily visit each interior node
of the stack when searching for an error repair. It also is a better abstraction
over the stack's DAG implementation than having the public functions for
accessing entries and their successor entries.
2016-03-07 16:09:34 -08:00
Max Brunsfeld
bc8df9f5c5
Avoid recompiling test languages when possible
2016-03-03 12:05:04 -08:00
Max Brunsfeld
b99c257e9e
Make test symbol_names array accessible in specs
2016-02-23 00:08:20 -08:00
Max Brunsfeld
f444a715fd
Clean up tree array assertions in stack spec
2016-02-22 09:23:25 -08:00
Max Brunsfeld
df1d9b2416
Move sexp-generation code to node.c
2016-02-19 15:41:09 -08:00
Max Brunsfeld
b80a330a74
Fix assorted memory leaks in test code
2016-02-05 12:23:54 -08:00
Max Brunsfeld
e3d65d5cbd
Change name of generated parser files
...
The previous name, parser.c made it harder to set breakpoints inside of
src/runtime/parser.c in LLDB
2016-01-29 17:33:15 -08:00
Max Brunsfeld
6401a065ae
Use different types for advance and accept-token actions
...
Unlike with parse actions, lexical actions of different types never appear
in the same places in the table
2016-01-22 22:24:11 -07:00
Max Brunsfeld
ff97a09343
Compile test grammars w/ debug symbols
2016-01-19 15:33:46 -08:00
Max Brunsfeld
1543a6c7b0
Handle allocation failures when instantiating documents
2016-01-18 11:32:10 -08:00
Max Brunsfeld
90cbd61280
Adjust static library path on linux
2016-01-15 11:40:46 -08:00
Max Brunsfeld
d6ed783c8c
Improve error handling when dynamically loading languages in specs
2016-01-15 11:35:22 -08:00
Max Brunsfeld
0f7dbea9a3
Unify test targets, use externally defined languages as fixtures
2016-01-15 11:19:24 -08:00
Max Brunsfeld
142671c177
Separate spec helpers files for compiler and runtime specs
2014-03-08 15:26:27 -08:00
Max Brunsfeld
84b8addb63
Organize spec helper files
2014-02-17 12:45:53 -08:00