Max Brunsfeld
|
73b3280fbb
|
Include precedence calculation in LexItemSet::transitions
|
2015-10-30 16:07:29 -07:00 |
|
Max Brunsfeld
|
e9be0ff24e
|
Make completion_status() a method on ParseItem
|
2015-10-30 14:07:33 -07:00 |
|
Max Brunsfeld
|
4850384b78
|
Include precedence calculation in ParseItemSet::transitions
|
2015-10-30 13:54:11 -07:00 |
|
Max Brunsfeld
|
433f060a5b
|
Fix stream overloads for inspecting PrecedenceRange and ParseItem
|
2015-10-30 10:45:46 -07:00 |
|
Max Brunsfeld
|
58b5a10607
|
Fix ParseItemSet::transitions spec description
|
2015-10-29 12:19:44 -07:00 |
|
Max Brunsfeld
|
a8ead10d6f
|
In lex error state, don't look for tokens that would match *any* line
|
2015-10-28 17:45:17 -07:00 |
|
Max Brunsfeld
|
f5d861a019
|
Fix bug where ts_stack_pop results were backwards for some stack configurations
|
2015-10-28 12:10:45 -07:00 |
|
Max Brunsfeld
|
36eae5d5e9
|
Add option to tree_string to include anonymous tokens
|
2015-10-28 12:09:28 -07:00 |
|
Max Brunsfeld
|
b61b27f22f
|
Handle inline ubiquitous that are used elsewhere in the grammar
|
2015-10-26 17:19:37 -07:00 |
|
Max Brunsfeld
|
1829b34c6f
|
Fix child count error when documents starts w/ ubiquitous tokens
|
2015-10-24 13:45:42 -07:00 |
|
Max Brunsfeld
|
500533476b
|
Fix bugs in handling multiple simultaneous ambiguities
|
2015-10-22 11:42:38 -07:00 |
|
Max Brunsfeld
|
1983bcfb60
|
Fix conflation of finished items w/ different precedence
|
2015-10-18 12:51:32 -07:00 |
|
Max Brunsfeld
|
8725e96a65
|
Fix item-set-closure bug w/ empty productions
|
2015-10-15 23:59:47 -07:00 |
|
Max Brunsfeld
|
3d0253f9b8
|
Start work on c++ fixture grammar
|
2015-10-13 11:28:53 -07:00 |
|
Max Brunsfeld
|
9959fe35b0
|
Allow associativity to be specified in rules w/o precedence
|
2015-10-13 11:25:28 -07:00 |
|
Max Brunsfeld
|
4b817dc07c
|
Fix linter errors
|
2015-10-12 19:22:05 -07:00 |
|
Max Brunsfeld
|
82726ad53b
|
Define repeat rule in terms of repeat1 rule
|
2015-10-12 19:22:05 -07:00 |
|
Max Brunsfeld
|
db9966b57c
|
Simplify lex item set transitions code
|
2015-10-11 22:51:37 -07:00 |
|
Max Brunsfeld
|
25791085c3
|
Normalize lexical grammar rules before constructing lex table
|
2015-10-11 16:56:00 -07:00 |
|
Max Brunsfeld
|
8ef25ffef3
|
Try lexing using each parse stack head's state
This fixes the case where the parse stack is split and the top states
have different valid lookahead symbols
|
2015-10-06 16:22:58 -07:00 |
|
Max Brunsfeld
|
624e4651d2
|
Use GLR for for-in loop conlfict in javascript grammar
|
2015-10-06 10:50:56 -07:00 |
|
Max Brunsfeld
|
aaafdd4797
|
Add stream operator for PrecedenceRange in spec helpers
|
2015-10-06 10:50:09 -07:00 |
|
Max Brunsfeld
|
5455fb977f
|
Use PrecedenceRange in build_lex_table
|
2015-10-05 18:02:59 -07:00 |
|
Max Brunsfeld
|
5e4bdcbaf8
|
Simplify handling of precedence & associativity in productions
|
2015-10-05 16:56:11 -07:00 |
|
Max Brunsfeld
|
6d748a6714
|
Store parse actions' precedences as ranges, not sets
|
2015-10-05 16:05:19 -07:00 |
|
Max Brunsfeld
|
ef2acf9496
|
Make ParseItemSet & LexItemSet classes
|
2015-10-05 15:13:43 -07:00 |
|
Max Brunsfeld
|
f01972c64e
|
Reorganize ParseItemSet and LexItemSet
|
2015-10-05 15:09:06 -07:00 |
|
Max Brunsfeld
|
39a0934088
|
Remove now-unused symbol rule-transition functions
|
2015-10-04 22:20:34 -07:00 |
|
Max Brunsfeld
|
c4ef228397
|
Share common lookahead sets between parse item sets
|
2015-10-04 21:33:54 -07:00 |
|
Max Brunsfeld
|
a0bf3d0bd8
|
Compute closures of item sets lazily
|
2015-10-04 00:21:29 -07:00 |
|
Max Brunsfeld
|
ebc52f109d
|
Merge branch 'flatten-rules-into-productions'
This branch had diverged considerably, so merging it required changing a lot
of code.
Conflicts:
project.gyp
spec/compiler/build_tables/action_takes_precedence_spec.cc
spec/compiler/build_tables/build_conflict_spec.cc
spec/compiler/build_tables/build_parse_table_spec.cc
spec/compiler/build_tables/first_symbols_spec.cc
spec/compiler/build_tables/item_set_closure_spec.cc
spec/compiler/build_tables/item_set_transitions_spec.cc
spec/compiler/build_tables/rule_can_be_blank_spec.cc
spec/compiler/helpers/containers.h
spec/compiler/prepare_grammar/expand_repeats_spec.cc
spec/compiler/prepare_grammar/extract_tokens_spec.cc
src/compiler/build_tables/action_takes_precedence.h
src/compiler/build_tables/build_parse_table.cc
src/compiler/build_tables/first_symbols.cc
src/compiler/build_tables/first_symbols.h
src/compiler/build_tables/item_set_closure.cc
src/compiler/build_tables/item_set_transitions.cc
src/compiler/build_tables/parse_item.cc
src/compiler/build_tables/parse_item.h
src/compiler/build_tables/rule_can_be_blank.cc
src/compiler/build_tables/rule_can_be_blank.h
src/compiler/prepare_grammar/expand_repeats.cc
src/compiler/prepare_grammar/extract_tokens.cc
src/compiler/prepare_grammar/extract_tokens.h
src/compiler/prepare_grammar/prepare_grammar.cc
src/compiler/rules/built_in_symbols.cc
src/compiler/rules/built_in_symbols.h
src/compiler/syntax_grammar.cc
src/compiler/syntax_grammar.h
|
2015-10-02 23:46:39 -07:00 |
|
Max Brunsfeld
|
dda3939adf
|
Fix typo in javascript corpus
|
2015-09-22 22:39:41 -07:00 |
|
Max Brunsfeld
|
90862dd18f
|
Add some edit sequences to corpus tests
|
2015-09-22 21:19:19 -07:00 |
|
Max Brunsfeld
|
d032114d7a
|
js grammar - recover from errors on semicolons but not line-breaks
|
2015-09-22 21:12:28 -07:00 |
|
Max Brunsfeld
|
32536665f9
|
Remove weak build_parse_table spec
This is best covered by integration tests
|
2015-09-22 20:03:00 -07:00 |
|
Max Brunsfeld
|
aba8af9e5b
|
Cleanup debug logging in parser
|
2015-09-22 19:35:13 -07:00 |
|
Max Brunsfeld
|
b7b082d9b1
|
extract helper fn for testing edit sequences against the corpus
|
2015-09-20 13:38:46 -07:00 |
|
Max Brunsfeld
|
010a606b76
|
Add undo method to SpyInput
|
2015-09-19 14:46:14 -07:00 |
|
Max Brunsfeld
|
511e52ab55
|
Clean up SpyInput test helper
|
2015-09-19 13:29:30 -07:00 |
|
Max Brunsfeld
|
cdadee4610
|
Clean up language specs file
|
2015-09-18 23:42:20 -07:00 |
|
Max Brunsfeld
|
f37f73f92f
|
Add ability to edit multiple times between parses
|
2015-09-18 23:20:06 -07:00 |
|
Max Brunsfeld
|
6254f45c1b
|
Rename ParseStack -> Stack
|
2015-09-18 22:02:06 -07:00 |
|
Max Brunsfeld
|
b3d883e128
|
Store edits in trees, not by splitting stack
This allows for multiple edits per parse, though it is not exposed through
the API yet
|
2015-09-18 22:02:06 -07:00 |
|
Max Brunsfeld
|
0467d190fe
|
Add ts_tree_edit function
|
2015-09-18 22:02:06 -07:00 |
|
Max Brunsfeld
|
66ad271c82
|
Add Document parse_count() method, for tracking if trees are still valid
|
2015-09-10 14:23:42 -07:00 |
|
Max Brunsfeld
|
e6f3239bef
|
Move stream operator definitions to spec helpers
This is one less thing for users to worry about when compiling and linking
the library itself
|
2015-09-10 10:12:11 -07:00 |
|
Max Brunsfeld
|
a2d817f0f0
|
Remove unnecessary include from runtime spec-helper
|
2015-09-09 12:59:27 -07:00 |
|
Max Brunsfeld
|
67241e3052
|
Don't use std::set in public compiler header
Just use vectors
|
2015-09-08 23:43:45 -07:00 |
|
Max Brunsfeld
|
252fa7b631
|
Add Document getter methods for input, language
|
2015-09-08 23:33:43 -07:00 |
|
Max Brunsfeld
|
ebd60213d9
|
Drop release functions from callback structs
The caller can just as easily take care of the cleanup explicitly
|
2015-09-08 23:24:33 -07:00 |
|