Max Brunsfeld
c7db4ec9f3
Don't count generated parsers in github language stats
2015-11-10 16:56:53 -08:00
Max Brunsfeld
d6f87fbb6b
Merge pull request #7 from maxbrunsfeld/more-string-escaping
...
Escape backslashes and quotes in symbol name strings
2015-11-09 09:36:53 -08:00
Max Brunsfeld
e11515fb74
Escape backslashes and quotes in symbol name strings
2015-11-09 09:33:24 -08:00
Max Brunsfeld
84f939ab4d
Merge pull request #6 from maxbrunsfeld/mb-fix-token-precedence-bug
...
Fix handling of changing precedence within lexical rules.
2015-11-08 13:50:24 -08:00
Max Brunsfeld
d5ce268074
Fix handling of changing precedence within lexical rules.
...
A precedence annotation wrapping a sequence of characters now only affects how
tightly those characters bind to *each other*, not how tightly they bind to the
preceding character.
This bug surfaced because a generated lexer was failing to recognize a '\n' character
as a token, instead treating it as ubiquitous whitespace. It made this error
because, even though anonymous ubiquitous tokens have the lowest precedence, the
character immediately *after* the '\n' was part of a normal token, which had
*normal* precedence (0). Advancing into that following token was incorrectly
prioritized above accepting the line-break token.
2015-11-08 13:36:15 -08:00
Max Brunsfeld
30b6530fd1
Account for parse stack merges when shifting
...
Previously, when the parse stack was split into 3 or more heads, it was
possible for head 3 to be accidentally skipped if head 2 merged with head 1.
2015-11-05 21:21:18 -08:00
Max Brunsfeld
a0eca388e8
Make fixture C grammar a subset of tree-sitter-c
2015-11-05 21:19:22 -08:00
Max Brunsfeld
4ab4fd7346
Merge pull request #4 from maxbrunsfeld/mb-precedence-handling-within-tokens
...
Make precedence more useful within tokens
2015-11-01 21:50:53 -08:00
Max Brunsfeld
7415c623aa
clang-format
2015-11-01 21:21:07 -08:00
Max Brunsfeld
5073af0d03
Extract helper method for precedence in lex_item_transitions
2015-11-01 21:20:59 -08:00
Max Brunsfeld
d7cb48aae7
Fix handling of precedence for repeat rules
2015-11-01 21:00:44 -08:00
Max Brunsfeld
d6ee28abd0
Make precedence more useful within tokens
...
Choose accept-token actions over advance actions if their rule has a higher precedence.
2015-11-01 12:48:27 -08:00
Max Brunsfeld
998ae533da
Make completion_status() a method on LexItem
2015-10-30 16:48:37 -07:00
Max Brunsfeld
c8be143f65
🔥 get_metadata function
2015-10-30 16:22:25 -07:00
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
a26d7849ce
Merge pull request #2 from robrix/get-symbol-names-from-documents
...
Get symbol names from documents
2015-10-29 10:51:13 -07:00
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
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
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
dba0726eef
clang format
2015-10-28 12:10:58 -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
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