Commit graph

140 commits

Author SHA1 Message Date
Max Brunsfeld
a0738ea9dc Add travis.yml file 2014-02-18 09:16:57 -08:00
Max Brunsfeld
2c56612650 Get makefile working 2014-02-18 09:07:00 -08:00
Max Brunsfeld
fd757c20d0 Move example grammars from fixtures -> examples dir 2014-02-17 13:18:09 -08:00
Max Brunsfeld
585f9f0054 Fix misplaced file 2014-02-17 12:59:24 -08:00
Max Brunsfeld
7f9b9f9f37 Update todo 2014-02-17 12:58:10 -08:00
Max Brunsfeld
d09fa910ef Put public headers in tree_sitter directory 2014-02-17 12:53:57 -08:00
Max Brunsfeld
84b8addb63 Organize spec helper files 2014-02-17 12:45:53 -08:00
Max Brunsfeld
9e2dc14182 Extract public compiler API into its own header file 2014-02-17 12:40:46 -08:00
Max Brunsfeld
0b4e1c8d0d Remove unused import in generated parsers 2014-02-15 22:26:41 -08:00
Max Brunsfeld
dbbb446082 Reorganize runtime header files 2014-02-15 17:00:33 -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
5c1a0982df Change repeat to mean zero-or-more 2014-02-15 15:43:32 -08:00
Max Brunsfeld
bf07522026 Fix bug in FIRST set function 2014-02-13 18:52:17 -08:00
Max Brunsfeld
2ee9455174 Give tokens descriptive names in json grammar 2014-02-13 13:22:47 -08:00
Max Brunsfeld
5ce55ce26f Improve stream method for Items 2014-02-13 13:12:00 -08:00
Max Brunsfeld
a77ca1ee08 Allow users to put their own auxiliary rules in grammars 2014-02-13 13:09:00 -08:00
Max Brunsfeld
812f27f43a Clean up using statements 2014-02-12 23:06:26 -08:00
Max Brunsfeld
a8588cd4d3 Split up item set transition functions 2014-02-12 22:56:44 -08:00
Max Brunsfeld
7490a7ac94 Change repeat to mean zero-or-more in lexical rules
Still need to make it work this way in syntactic rules
2014-02-12 18:35:29 -08:00
Max Brunsfeld
70173512f1 Don't extract isolated blanks from grammars into tokens 2014-02-12 18:31:57 -08:00
Max Brunsfeld
9a737e2316 Use map, not unordered_map in Grammar 2014-02-12 08:30:50 -08:00
Max Brunsfeld
dd0feea8e6 Remove more unused includes 2014-02-12 08:21:59 -08:00
Max Brunsfeld
27f305d556 Put rule_can_be_blank function in its own file 2014-02-11 13:21:45 -08:00
Max Brunsfeld
1962c17f45 Remove transition_map class 2014-02-11 13:15:44 -08:00
Max Brunsfeld
91489363ca Remove custom map function on transition maps 2014-02-10 21:17:37 -08:00
Max Brunsfeld
66f7dcf28a Remove some unused imports 2014-02-10 21:09:43 -08:00
Max Brunsfeld
ab431c24dc Update json spec 2014-02-10 21:04:19 -08:00
Max Brunsfeld
3cb65c9c81 Make the EOF be an auxiliary symbol
This way, it couldn’t conflict if a user had a rule called “__END__”
2014-02-10 18:53:01 -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
b94fa3ed35 Clarify character set specs 2014-02-06 12:58:00 -08:00
Max Brunsfeld
e8337a3c70 Fix errors in computing character set unions 2014-02-06 09:12:03 -08:00
Max Brunsfeld
8b1aeee0e3 Remove unused ‘unexpected token’ handling 2014-02-06 09:06:52 -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
bc1d115ee2 Update todo 2014-01-29 09:35:22 -08:00
Max Brunsfeld
7d297f2f9e Remove auxiliary rules from syntax tree 2014-01-28 22:09:37 -08:00
Max Brunsfeld
c3b65d22bf Improve prepare_grammar specs 2014-01-28 18:44:14 -08:00
Max Brunsfeld
fd0d77ef8b Separate auxiliary rules from user-specified rules 2014-01-28 13:27:30 -08:00