Commit graph

831 commits

Author SHA1 Message Date
Rob Rix
f86789126d Include the correct file. 2015-10-29 13:26:12 -04:00
Rob Rix
007f519028 Name the parameter. 2015-10-29 12:47:04 -04:00
Rob Rix
d5f6581531 Add the runtime file to the project. 2015-10-29 12:46:51 -04:00
Rob Rix
04f3bf0b32 Implement ts_language_symbol_count. 2015-10-29 12:45:28 -04:00
Rob Rix
3da510d53b Add a prototype for the symbol count. 2015-10-29 12:44:28 -04:00
Rob Rix
ecf79564f0 Implement symbol name retrieval on TSLanguage. 2015-10-29 12:42:52 -04:00
Rob Rix
a176baa26f Pass a language, rather than a document. 2015-10-29 12:41:21 -04:00
Rob Rix
09162d1981 Export the symbol over ts_language_…. 2015-10-29 12:40:01 -04:00
Rob Rix
8143224098 Implement ts_document_symbol_name. 2015-10-28 17:13:31 -04:00
Rob Rix
63f1a618b4 Add a prototype for getting the name for a symbol from a document. 2015-10-28 17:12:43 -04:00
Max Brunsfeld
9b68ee62c8 Allow building specs w/ Release configuration
Fixes a build error that would happen when running 'make' with no arguments.
/cc @robrix
2015-10-27 09:58:27 -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
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
84fe01e145 Update README to reflect API changes 2015-10-16 00:15:25 -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
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
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
5febda183a Remove completed todo items 2015-10-06 16:40:37 -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
624e4651d2 Use GLR for for-in loop conlfict in javascript grammar 2015-10-06 10:50:56 -07:00
Max Brunsfeld
03e7fc49fd Fix bug in parse stack splitting logic for GLR 2015-10-06 10:50:51 -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
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