Commit graph

43 commits

Author SHA1 Message Date
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