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