tree-sitter/src/compiler/build_tables
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
..
build_lex_table.cc Fix handling of changing precedence within lexical rules. 2015-11-08 13:36:15 -08:00
build_lex_table.h Merge branch 'flatten-rules-into-productions' 2015-10-02 23:46:39 -07:00
build_parse_table.cc 🔥 get_metadata function 2015-10-30 16:22:25 -07:00
build_parse_table.h Merge branch 'flatten-rules-into-productions' 2015-10-02 23:46:39 -07:00
build_tables.cc Merge branch 'flatten-rules-into-productions' 2015-10-02 23:46:39 -07:00
build_tables.h Merge branch 'flatten-rules-into-productions' 2015-10-02 23:46:39 -07:00
does_match_any_line.cc In lex error state, don't look for tokens that would match *any* line 2015-10-28 17:45:17 -07:00
does_match_any_line.h In lex error state, don't look for tokens that would match *any* line 2015-10-28 17:45:17 -07:00
item_set_closure.cc Fix conflation of finished items w/ different precedence 2015-10-18 12:51:32 -07:00
item_set_closure.h Compute closures of item sets lazily 2015-10-04 00:21:29 -07:00
lex_conflict_manager.cc Make precedence more useful within tokens 2015-11-01 12:48:27 -08:00
lex_conflict_manager.h Merge branch 'flatten-rules-into-productions' 2015-10-02 23:46:39 -07:00
lex_item.cc Fix handling of changing precedence within lexical rules. 2015-11-08 13:36:15 -08:00
lex_item.h Fix handling of changing precedence within lexical rules. 2015-11-08 13:36:15 -08:00
lex_item_transitions.cc Fix handling of changing precedence within lexical rules. 2015-11-08 13:36:15 -08:00
lex_item_transitions.h Include precedence calculation in LexItemSet::transitions 2015-10-30 16:07:29 -07:00
lookahead_set.cc Improve parse conflict reporting 2015-10-14 22:14:08 -07:00
lookahead_set.h Improve parse conflict reporting 2015-10-14 22:14:08 -07:00
parse_conflict_manager.cc Allow associativity to be specified in rules w/o precedence 2015-10-13 11:25:28 -07:00
parse_conflict_manager.h Merge branch 'flatten-rules-into-productions' 2015-10-02 23:46:39 -07:00
parse_item.cc Include precedence calculation in LexItemSet::transitions 2015-10-30 16:07:29 -07:00
parse_item.h clang-format 2015-11-01 21:21:07 -08:00
rule_can_be_blank.cc Define repeat rule in terms of repeat1 rule 2015-10-12 19:22:05 -07:00
rule_can_be_blank.h Merge branch 'flatten-rules-into-productions' 2015-10-02 23:46:39 -07:00