Max Brunsfeld
d09fa910ef
Put public headers in tree_sitter directory
2014-02-17 12:53:57 -08:00
Max Brunsfeld
9e2dc14182
Extract public compiler API into its own header file
2014-02-17 12:40:46 -08:00
Max Brunsfeld
fb1ef60f7d
Small cleanup in String::operator==
2014-02-15 16:14:52 -08:00
Max Brunsfeld
a63624f2aa
Simplify hashing of rules
2014-02-15 16:12:16 -08:00
Max Brunsfeld
1962c17f45
Remove transition_map class
2014-02-11 13:15:44 -08:00
Max Brunsfeld
66f7dcf28a
Remove some unused imports
2014-02-10 21:09:43 -08:00
Max Brunsfeld
15c9e2d398
Make ordering of cases deterministic in generated parsers
2014-02-10 18:38:01 -08:00
Max Brunsfeld
8baa1396fd
Properly merge transitions on overlapping character sets!
2014-02-10 13:20:43 -08:00
Max Brunsfeld
905a408998
Make separate functions for character-level and syntax-level rule transitions
2014-02-09 14:31:27 -08:00
Max Brunsfeld
e92ac719f4
Implement CharacterSet intersections
2014-02-08 15:26:10 -08:00
Max Brunsfeld
b01c672fca
Replace some initializer_lists with vectors
2014-02-07 13:26:51 -08:00
Max Brunsfeld
df3397f02c
Implement character set difference
2014-02-07 12:57:35 -08:00
Max Brunsfeld
e8337a3c70
Fix errors in computing character set unions
2014-02-06 09:12:03 -08:00
Max Brunsfeld
d3d25f2683
Represent character sets as sets of character ranges
2014-02-05 18:56:04 -08:00
Max Brunsfeld
8cce11a52a
Rename Character -> CharacterSet, CharacterMatch -> CharacterRange
2014-02-03 13:05:51 -08:00
Max Brunsfeld
716a4a4259
Store character rules’ matches in a set, not a vector
2014-01-31 18:56:43 -08:00
Max Brunsfeld
5ed5ae7514
In LR(1) items, only store consumed symbols as booleans
...
the booleans represent the symbols point to auxiliary tokens
or not. This is all we need to know for the purpose of building
parse tables. Any other information just leads to redundant
parse states.
2014-01-31 00:13:05 -08:00
Max Brunsfeld
0d3a941848
Add support for character ranges in regex patterns
2014-01-30 18:54:39 -08:00
Max Brunsfeld
60e2d00b4d
Parse simple character sets in pattern rules
2014-01-30 13:04:31 -08:00
Max Brunsfeld
28e10dc722
Fix bug in character rule equality
2014-01-30 13:04:10 -08:00
Max Brunsfeld
7f62e752be
Allow Character rules to handle arbitrary character sets
2014-01-30 08:34:20 -08:00
Max Brunsfeld
fd0d77ef8b
Separate auxiliary rules from user-specified rules
2014-01-28 13:27:30 -08:00
Max Brunsfeld
ca33c3942a
In parse table, store symbols as Symbol objects, not strings
2014-01-27 13:40:10 -08:00
Max Brunsfeld
1bf216b796
Rename next_{terminals,non_terminals} to first_set and follow_sets
...
This is to prepare for keeping track of lookahead symbols as part
of computing follow sets
2014-01-19 01:49:56 -08:00
Max Brunsfeld
8881214f0d
Separate table building operations from Item, ItemSet value objects
2014-01-11 16:49:57 -08:00
Max Brunsfeld
92cec5758f
Reorganize compiler directory
2014-01-11 15:14:17 -08:00
Max Brunsfeld
0985fa3008
Collapse rules that contain only a single token
2014-01-05 01:19:32 -08:00
Max Brunsfeld
29c81167c0
Remove subclasses of Symbol for terminals and non-terminals
2014-01-04 15:01:06 -08:00
Max Brunsfeld
2afd8843dc
Generate parse tables and code using pre-processed grammars
2014-01-03 22:42:05 -08:00
Max Brunsfeld
44745b5179
Start work on pre-processing grammars
2014-01-03 01:02:24 -08:00
Max Brunsfeld
f5a9fb67a4
Add copy method to rules
2014-01-02 13:04:41 -08:00
Max Brunsfeld
257b8d7b68
Update rule hash implementation
2013-12-30 23:52:38 -08:00
Max Brunsfeld
3116b457fe
Update some stringification methods
2013-12-30 23:12:19 -08:00
Max Brunsfeld
30315a78d2
Put rule transitions in LR namespace
2013-12-28 23:26:20 -08:00
Max Brunsfeld
323184f981
Improve type-safety of ItemSet transitions methods
2013-12-22 00:19:55 -08:00
Max Brunsfeld
9667b3fd6c
Refactor classes representing individual characters & character classes
2013-12-21 23:53:26 -08:00
Max Brunsfeld
8dec6c90f4
Add files missing from runtime specs
2013-12-21 13:37:27 -08:00
Max Brunsfeld
b3b5b8a05a
Remove rule-specific logic from transition map
2013-12-21 13:28:37 -08:00
Max Brunsfeld
c10bcf4fab
Rename rules::RuleVisitor -> Visitor
2013-12-20 18:03:29 -08:00
Max Brunsfeld
6f444fcc79
Consolidate logic for making shared pointers to rules
2013-12-20 18:03:29 -08:00
Max Brunsfeld
9f78d72a7c
Get rid of types for shared pointers to rule subclasses
2013-12-19 20:07:42 -08:00
Max Brunsfeld
b1bbeae2a1
Move rule transitions to visitor class
2013-12-18 20:58:05 -08:00
Max Brunsfeld
9618efd12a
Organize source into compiler and runtime dirs
2013-12-16 00:02:08 -08:00