Max Brunsfeld
|
b61b27f22f
|
Handle inline ubiquitous that are used elsewhere in the grammar
|
2015-10-26 17:19:37 -07:00 |
|
Max Brunsfeld
|
b7e0cb1fc6
|
Revert 'Add reduce-extra actions for all symbols'
It only makes sense to add reduce-extra actions for those symbols that
have actions in the state the will be reduced to
|
2015-10-26 17:19:04 -07:00 |
|
Max Brunsfeld
|
e543661498
|
Fix typo: LB -> LF
|
2015-10-26 16:55:59 -07:00 |
|
Max Brunsfeld
|
bad1bff3bb
|
Sanitize line breaks in symbol names
|
2015-10-26 13:36:31 -07:00 |
|
Max Brunsfeld
|
c885eea706
|
Add current position to lexer debug message
|
2015-10-26 12:47:54 -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
|
1babdc43e1
|
Add reduce-extra actions for all symbols
|
2015-10-24 12:49:26 -07:00 |
|
Max Brunsfeld
|
44d3e4228e
|
Show precedences and associativities in parse conflicts
|
2015-10-24 12:49:04 -07:00 |
|
Max Brunsfeld
|
500533476b
|
Fix bugs in handling multiple simultaneous ambiguities
|
2015-10-22 11:42:38 -07:00 |
|
Max Brunsfeld
|
0955f660d0
|
Add ts_document_invalidate, for forcing a full re-parse
|
2015-10-18 13:05:40 -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
|
216ce8c80b
|
Rename receiver parameter to 'self'
|
2015-10-14 22:14:08 -07:00 |
|
Max Brunsfeld
|
02e549202f
|
Improve parse conflict reporting
|
2015-10-14 22:14:08 -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
|
5c67f58a4b
|
Add helper for dynamic-casting to rule subclasses
|
2015-10-12 19:21:56 -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
|
3ee58461d7
|
Clean up main parser loop
|
2015-10-07 13:05:36 -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
|
85466a5b22
|
Clean up and document ts_parser__next function
|
2015-10-06 11:43:34 -07:00 |
|
Max Brunsfeld
|
03e7fc49fd
|
Fix bug in parse stack splitting logic for GLR
|
2015-10-06 10:50:51 -07:00 |
|
Max Brunsfeld
|
5455fb977f
|
Use PrecedenceRange in build_lex_table
|
2015-10-05 18:02:59 -07:00 |
|
Max Brunsfeld
|
11a1ea8dfe
|
Reuse separator-rule in LexTableBuilder
|
2015-10-05 17: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
|
e7838d520a
|
Remove invalid assertion in ts_tree_edit
|
2015-09-22 21:02:25 -07:00 |
|
Max Brunsfeld
|
aba8af9e5b
|
Cleanup debug logging in parser
|
2015-09-22 19:35:13 -07:00 |
|
Max Brunsfeld
|
7be067a2e9
|
Guard for null tree in ts_document_edit
|
2015-09-20 13:39:18 -07:00 |
|
Max Brunsfeld
|
673ca411b1
|
Fix lint errors
|
2015-09-19 13:19:49 -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
|
296d8cc1e8
|
clang-format
|
2015-09-13 19:41:11 -07:00 |
|
Max Brunsfeld
|
c09947146a
|
Remove not-necessarily-valid assertion
|
2015-09-10 16:26:23 -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
|
f5f24a708e
|
Remove unnecessary named TSTreeOptions struct
|
2015-09-09 13:00:07 -07:00 |
|
Max Brunsfeld
|
fe3be2aa53
|
Optimize Node parent() method
|
2015-09-09 12:43:35 -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 |
|