Max Brunsfeld
|
7032dae4f6
|
Include alias symbols in unique symbol map
|
2019-12-06 12:11:09 -08:00 |
|
Max Brunsfeld
|
56c620c005
|
Store a mapping to ensure no two symbols map to the same metadata
|
2019-12-05 17:21:46 -08:00 |
|
Max Brunsfeld
|
5a979d1457
|
node-types: Add test for field merging with aliases
Co-Authored-By: Timothy Clem <timothy.clem@gmail.com>
|
2019-11-19 14:31:56 -08:00 |
|
Max Brunsfeld
|
1d63434664
|
Refactor node-type merging
|
2019-11-19 11:57:21 -08:00 |
|
Max Brunsfeld
|
5489bc4dc5
|
Fix small issues with merging node types
* Merge the `required` field with an 'and', not an 'or'
* Merge field info in addition to children info
|
2019-11-19 11:55:21 -08:00 |
|
Timothy Clem
|
e2325102d1
|
No printing
|
2019-11-19 09:03:35 -08:00 |
|
Timothy Clem
|
c346ce4a5e
|
Try not to loose existing children
|
2019-11-18 14:48:24 -08:00 |
|
Timothy Clem
|
5c72642634
|
A test demonstrating the issue with named aliases
|
2019-11-18 14:47:48 -08:00 |
|
Max Brunsfeld
|
660efd8c0f
|
Fix handling of token rules directly inside of alias, prec, or field.
Fixes #483
|
2019-11-15 10:53:17 -08:00 |
|
Max Brunsfeld
|
d45b98c7d9
|
node-types - Fix duplicate when a terminal is aliased with the same name as a non-terminal
|
2019-11-14 09:31:25 -08:00 |
|
Max Brunsfeld
|
5767bbc806
|
Avoid generating C char literals with control characters
Fixes #487
|
2019-11-13 10:54:34 -08:00 |
|
Max Brunsfeld
|
a2bbc7391b
|
node-types: Fix handling of simple aliased inlined rules
|
2019-11-13 10:38:47 -08:00 |
|
Max Brunsfeld
|
d765332c61
|
Don't rely on new eof ABI in parsers unless --next-abi is passed
|
2019-10-31 14:32:50 -07:00 |
|
Max Brunsfeld
|
d3b7caa565
|
Add a TSLexer.eof() API, use it in generated parsers
|
2019-10-31 14:11:52 -07:00 |
|
Max Brunsfeld
|
0cceca7b4e
|
Rename extra_tokens -> extra_symbols
|
2019-10-21 17:26:01 -07:00 |
|
Max Brunsfeld
|
fcaabea0cf
|
Allow non-terminal extras
|
2019-10-21 16:08:59 -07:00 |
|
Max Brunsfeld
|
b79295e1a0
|
🔥 Everything related to property sheets
|
2019-10-17 11:00:31 -07:00 |
|
Max Brunsfeld
|
dc7997fdbb
|
node-types: Rework the approach to computing multiple and required
|
2019-10-11 13:59:02 -07:00 |
|
Max Brunsfeld
|
fb7a5369fe
|
Fix regression in node-types for rules with simple aliases
|
2019-10-02 14:11:21 -07:00 |
|
Max Brunsfeld
|
754cfd42bf
|
Respect nodes' aliases when generating node types
Fixes #455
|
2019-10-02 13:59:00 -07:00 |
|
Max Brunsfeld
|
c9f46b8242
|
Fix false negative in token conflict detection
Co-Authored-By: Timothy Clem <timothy.clem@gmail.com>
|
2019-09-19 11:50:38 -07:00 |
|
Max Brunsfeld
|
69ab405325
|
In next ABI, group symbols by action in small parse state table
This is a more compact representation because in most states, many
symbols share the same actions.
|
2019-08-30 20:29:55 -07:00 |
|
Max Brunsfeld
|
8037607583
|
Only generate the new parse table format if --next-abi flag is used
|
2019-08-29 17:37:33 -07:00 |
|
Max Brunsfeld
|
aeb2f895b4
|
Add --report-states flag for reporting state counts for each rule
|
2019-08-29 17:36:39 -07:00 |
|
Max Brunsfeld
|
82ff542d3b
|
Appease MSVC by avoiding empty arrays
|
2019-08-29 17:31:44 -07:00 |
|
Max Brunsfeld
|
09a2755399
|
Store parse states with few lookahead symbols in a more compact way
|
2019-08-29 15:52:23 -07:00 |
|
Max Brunsfeld
|
48a883c1d4
|
Move external token state id computation out of render module
|
2019-08-29 15:48:22 -07:00 |
|
Max Brunsfeld
|
759c1d6e65
|
Reorder parse states by descending symbol count
|
2019-08-29 15:28:29 -07:00 |
|
Max Brunsfeld
|
2430733ee8
|
Avoid iterating hashmaps in places where order matters
|
2019-08-29 15:26:05 -07:00 |
|
Max Brunsfeld
|
f371507d39
|
Move TokenSet to rules module
|
2019-08-29 15:25:45 -07:00 |
|
Max Brunsfeld
|
d5b5d473ab
|
Add missing comparisons to property item hash & equality impls
Fixes the inconsistent failurs of property sheet unit tests
|
2019-08-26 09:31:48 -07:00 |
|
Max Brunsfeld
|
5e04daf483
|
Avoid non-deterministic set iteration order when handling conflicts
|
2019-08-13 15:57:42 -07:00 |
|
Max Brunsfeld
|
56ce4e5d50
|
Upgrade rsass, remove hashbrown
|
2019-08-13 10:08:58 -07:00 |
|
Max Brunsfeld
|
5f369a5870
|
Fix another empty array literal for MSVC compatibility
|
2019-08-12 15:13:41 -07:00 |
|
Max Brunsfeld
|
13c0aa7dbb
|
Avoid empty initializer list for ts_alias_sequences
Fixes a bug introduced in 68b089b41e
|
2019-08-12 14:11:40 -07:00 |
|
Max Brunsfeld
|
68b089b41e
|
cli: Fix generation of parsers with fields but no aliases
Fixes #419
|
2019-08-11 09:22:30 -07:00 |
|
Max Brunsfeld
|
d78204b713
|
cli: Don't regenerate index.js if it already exists
|
2019-08-08 15:02:36 -07:00 |
|
Max Brunsfeld
|
9e1649d9f8
|
node-types: Fix children descriptors' multiple and required properties
|
2019-07-30 12:07:11 -07:00 |
|
Max Brunsfeld
|
a21d355ade
|
Fix handling of potentially overlapping selectors in property sheets
|
2019-07-22 16:17:10 -07:00 |
|
Max Brunsfeld
|
f4740a1beb
|
Make properties generation aware of which nodes are leaves
|
2019-07-22 09:30:05 -07:00 |
|
Max Brunsfeld
|
0a3f2131c8
|
Move state splitting algorithm into its own file
|
2019-07-19 12:39:52 -07:00 |
|
Max Brunsfeld
|
f85ce2fbfa
|
Remove state-ids-to-log flag
|
2019-07-18 16:06:13 -07:00 |
|
Max Brunsfeld
|
a9ca6ff73c
|
Fix non-deterministic ordering of lex states
|
2019-07-03 16:34:06 -07:00 |
|
Max Brunsfeld
|
223a656fc8
|
Fix another bug in lex state merging
Reuse more logic for lex and parse state merging algorithms
|
2019-06-21 13:12:09 -07:00 |
|
Max Brunsfeld
|
dfd012d13d
|
Merge pull request #367 from tree-sitter/node-type-children
Include info about children w/o fields in node-types.json
|
2019-06-20 14:06:27 -07:00 |
|
Max Brunsfeld
|
70dc79b412
|
Merge lex states more liberally
|
2019-06-20 14:05:15 -07:00 |
|
Max Brunsfeld
|
fe6a69a626
|
Sort lex states
|
2019-06-20 13:01:28 -07:00 |
|
Max Brunsfeld
|
5b38ff5f78
|
Loosen lex state equality check to catch some spurious duplicates
|
2019-06-20 09:57:38 -07:00 |
|
Max Brunsfeld
|
e4873191d6
|
Refactor generated lex function to use fewer instructions per state
|
2019-06-20 09:57:38 -07:00 |
|
Max Brunsfeld
|
0ad4e147e2
|
Dedup types in children property of node-types
|
2019-06-19 15:35:53 -07:00 |
|