Max Brunsfeld
13c4e6e648
Tweak format for example grammars
2014-03-28 13:51:32 -07:00
Max Brunsfeld
e1ac62edc5
Give better symbol names to generated tokens
...
This should make debugging easier
2014-03-27 12:54:54 -07:00
Max Brunsfeld
2df56f01c8
Remove public hidden symbol function
...
Now, you can't a particular occurrence of a symbol
in a grammar. You can only hide a symbol globally
(right now, by beginning its name with an underscore).
2014-03-25 08:16:26 -07:00
Max Brunsfeld
2a5dd3434f
Fix bug in character set intersection calculation
2014-03-24 19:17:25 -07:00
Max Brunsfeld
50a90e456b
Handle * quantifier in regex patterns
2014-03-22 20:08:11 -07:00
Max Brunsfeld
3aaa08b948
Fix some egregiously long lines
2014-03-09 23:58:25 -07:00
Max Brunsfeld
39cb420df2
Remove uses of 'short' and 'long'
2014-03-09 23:00:14 -07:00
Max Brunsfeld
632a88c8ef
Remove some C-style casts
2014-03-09 22:55:48 -07:00
Max Brunsfeld
504c361cb8
Make some implicit constructors explicit
2014-03-09 22:53:49 -07:00
Max Brunsfeld
a4120f36d4
Remove all uses of 'using namespace'
2014-03-09 22:45:33 -07:00
Max Brunsfeld
de5deeeb69
Remove spurious semicolons
2014-03-09 22:24:52 -07:00
Max Brunsfeld
661314cf4e
Remove all non const reference parameters
2014-03-09 22:21:58 -07:00
Max Brunsfeld
a411e43484
Rename source files: .cpp -> .cc
2014-03-09 22:13:08 -07:00
Max Brunsfeld
31a58bc7e4
Make include guards pass cpplint
2014-03-09 22:05:24 -07:00
Max Brunsfeld
eb30429700
Make paths explicit in #includes
2014-03-09 21:43:14 -07:00
Max Brunsfeld
39aa0ccc91
Add script to trim whitespace
2014-03-09 19:49:35 -07:00
Max Brunsfeld
af64d3fffa
Build with all warnings enabled
...
Fix resulting warnings
2014-03-04 18:28:28 -08:00
Max Brunsfeld
ae82b90fdb
Don't use exceptions in pattern parser
2014-03-04 12:36:38 -08:00
Max Brunsfeld
0d4687bdad
Make start and EOF symbols into builtin symbols
2014-02-26 23:18:49 -08:00
Max Brunsfeld
63718d5bad
Add basic support for error recovery
2014-02-26 19:03:43 -08:00
Max Brunsfeld
2c30dce08e
Refactor rule visitors
2014-02-23 18:46:53 -08:00
Max Brunsfeld
946088bccc
Remove unused typedef from compiler.h
2014-02-21 08:23:20 -08:00
Max Brunsfeld
cdf63b6083
Add missing includes
2014-02-20 23:11:27 -08:00
Max Brunsfeld
688fe993cf
Remove rules that don't need to be public from compiler.h
2014-02-20 23:05:32 -08:00
Max Brunsfeld
acad97cfd2
Separate concepts of hidden and auxiliary symbols
...
This way, we can hide auxiliary symbols from library users,
but still allow them to use hidden symbols
2014-02-19 13:05:54 -08:00
Max Brunsfeld
7c57c521af
Add missing header includes
...
For some reason, xcode tolerated these missing includes.
Travis CI doesn't.
2014-02-19 09:25:06 -08:00
Max Brunsfeld
2c56612650
Get makefile working
2014-02-18 09:07:00 -08:00
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