Max Brunsfeld
ae0a7fc97d
Add logging debugger for debugging failing tests
2014-10-17 23:05:08 -07:00
Max Brunsfeld
41a067fef9
Fix build warnings in document spec
2014-10-17 21:27:49 -07:00
Max Brunsfeld
8cf800ef5d
Unify debugging API for parsing and lexing
2014-10-17 17:52:54 -07:00
Max Brunsfeld
7498725d7f
Move lexer debugging logic out of public header
2014-10-17 16:20:01 -07:00
Max Brunsfeld
5c600942df
Inline some helper functions for lexer
2014-10-17 15:22:01 -07:00
Max Brunsfeld
ad9aee30e0
Fix travis build
...
Don't use C99 struct literal syntax in debugger header,
because it's included by the tests, which are c++
2014-10-16 12:36:08 -07:00
Max Brunsfeld
22ee68e1a9
Make node for each var assignment in JS grammar
2014-10-15 15:04:57 -07:00
Max Brunsfeld
d3137c6ac6
Organize parser spec
2014-10-14 23:23:12 -07:00
Max Brunsfeld
d33b074c30
Don't call input::seek_fn unnecessarily
2014-10-14 22:56:42 -07:00
Max Brunsfeld
b5d022a70c
Fix missing field warnings for debugger structs
2014-10-14 22:50:24 -07:00
Max Brunsfeld
b468458929
reuse_right -> reuse in debug output
2014-10-14 11:22:40 -07:00
Max Brunsfeld
8c4607c486
Add key for symbol param in debug output
2014-10-14 10:49:14 -07:00
Max Brunsfeld
87df0a24eb
Add debuggging output when starting to parse
2014-10-14 10:31:18 -07:00
Max Brunsfeld
1ef744a76b
Reorganize code in parser.c
2014-10-14 09:32:11 -07:00
Max Brunsfeld
ef2084d3c8
Tweak parse debugging
2014-10-13 21:20:08 -07:00
Max Brunsfeld
c594208ab8
Allow callbacks to be specified for debug output
2014-10-13 01:02:18 -07:00
Max Brunsfeld
71cc7a2dc2
Tidy up remaining files in build_tables namespace
2014-10-13 01:02:18 -07:00
Max Brunsfeld
9fd2821389
Fix TODO comment in build_lex_table
2014-10-12 13:53:31 -07:00
Max Brunsfeld
6415690738
Tidy up get_metadata function
2014-10-12 13:04:11 -07:00
Max Brunsfeld
b23caf366f
Tidy up first_symbols function
2014-10-12 13:02:39 -07:00
Max Brunsfeld
faecdcbb2f
Tidy up build_tables function
2014-10-12 12:57:46 -07:00
Max Brunsfeld
8379d9387c
Tidy up build_parse_table function
2014-10-12 12:56:04 -07:00
Max Brunsfeld
1fb52eacab
Tidy up build_lex_table function
2014-10-12 12:44:16 -07:00
Max Brunsfeld
0daada6921
Tidy up c-code generator
2014-10-12 12:33:45 -07:00
Max Brunsfeld
5b624d37f6
Use consistent iteration in c code generator
2014-10-12 11:57:52 -07:00
Max Brunsfeld
aae6f6de14
Remove whitespace between template closing tags
2014-10-12 11:51:12 -07:00
Max Brunsfeld
fb38140317
Discard portion of right subtree that is within the edited region
2014-10-12 11:51:12 -07:00
Max Brunsfeld
8c3ea6ef30
In JS grammar, don't include enclosing parens in formal_parameters node
2014-10-10 17:11:14 -07:00
Max Brunsfeld
f460b921e2
Fix off-by-one error in storing reusable right-subtree
2014-10-10 12:10:23 -07:00
Max Brunsfeld
3bcb221379
Include non-terminal lookahead symbols for reduction actions
...
This is necessary for re-using the right subtree after an edit
2014-10-10 12:06:16 -07:00
Max Brunsfeld
4dcc712a8c
Start work on re-using right side of parse tree
2014-10-09 19:58:15 -07:00
Max Brunsfeld
80b8a0a9fb
Rename stack_right_position -> stack_total_tree_size
...
I want to re-use the stack data structure for storing the
re-usable nodes from the previous parse tree during an edit.
In this case, the stack won't conceptually start at position
zero, so the name 'right_position' doesn't make sense.
2014-10-08 17:37:21 -07:00
Max Brunsfeld
26f9e22193
Clean up parser code
2014-10-08 16:51:04 -07:00
Max Brunsfeld
5569a3ead9
Update todo
2014-10-08 15:20:00 -07:00
Max Brunsfeld
af7f57a80e
Fix sizing of error nodes after edits
2014-10-05 16:56:50 -07:00
Max Brunsfeld
6d37877e49
Tweak debugging output
2014-10-05 16:56:29 -07:00
Max Brunsfeld
e5ea4efb0b
Use stdbool.h
2014-10-03 16:06:08 -07:00
Max Brunsfeld
808b003f1a
Read unicode characters correctly in Lexer advance
2014-10-03 15:44:49 -07:00
Max Brunsfeld
78c5fe8e02
clang-format
2014-10-03 15:44:21 -07:00
Max Brunsfeld
1fa3bf0f07
In SpyReader::read, always return complete unicode characters
2014-10-03 14:30:19 -07:00
Max Brunsfeld
17f43e5e0c
Clean up SpyReader
2014-10-03 14:21:39 -07:00
Max Brunsfeld
a69dfa08f3
Add spec for inserting text w/ unicode characters
2014-10-02 11:54:00 -07:00
Max Brunsfeld
8bee9d8fb9
Fix typo in parser spec descriptions
2014-10-02 11:52:58 -07:00
Max Brunsfeld
aab449635f
Allow greek letters as variables in arithmetic fixture grammar
2014-10-02 11:50:16 -07:00
Max Brunsfeld
0f524121f1
Add SpyReader methods for inserting/removing by char index
2014-10-02 11:43:22 -07:00
Max Brunsfeld
5f313896c3
Make ::input a method on SpyReader, not a field
2014-09-30 14:57:57 -07:00
Max Brunsfeld
8d7d9af661
Remove unnecessary helper function in parser spec
2014-09-29 10:51:12 -07:00
Max Brunsfeld
700919951e
Reorganize parser spec about handling edits
2014-09-29 10:48:35 -07:00
Max Brunsfeld
5dd8778996
Clean up Parser handle_error function
2014-09-29 10:33:56 -07:00
Max Brunsfeld
10a3251fbe
Remove index parameter from STACK_FROM_TOP macro
2014-09-29 10:16:24 -07:00