Commit graph

85 commits

Author SHA1 Message Date
Max Brunsfeld
c2abfd2d03 Parse '.' in regexes 2014-04-24 13:21:46 -07:00
Max Brunsfeld
020614824a Avoid unnecessary dynamic cast in symbol equality function 2014-04-23 13:12:39 -07:00
Max Brunsfeld
3b388d66cd Profile and optimize
- Eliminate unnecessary copies of grammar objects
- Do cheaper comparisons first in equality methods
2014-04-23 08:32:11 -07:00
Max Brunsfeld
68d44fd565 Intern symbols during grammar preparation 2014-04-22 23:38:26 -07:00
Max Brunsfeld
a437d39773 Add rule precedence construct
Still need to add some way of expressing left and right
associativity
2014-04-15 08:40:46 -07:00
Max Brunsfeld
67243c7e2f cpplint 2014-04-14 08:38:44 -07:00
Max Brunsfeld
a5816a9624 Refactor rule visitors 2014-04-09 13:28:02 -07:00
Max Brunsfeld
6a0a28f4b3 WIP - try to fix travis build 2014-04-08 21:41:38 -07:00
Max Brunsfeld
1da9f1fdfd Store rule metadata as a map, not a single number
Need to store more than just boolean values
2014-04-07 08:50:00 -07:00
Max Brunsfeld
5320cad065 Trim trailing whitespace 2014-04-04 13:10:55 -07:00
Max Brunsfeld
1cc7e32e2d Fix handling of tokens consisting of separator characters
The parser is no longer hard-coded to skip whitespace. Tokens
such as newlines, whose characters overlap with the separator
characters, can now be correctly recognized.
2014-04-03 19:10:09 -07:00
Max Brunsfeld
f39cb1890d Refactor rule visitor objects 2014-04-01 13:38:02 -07:00
Max Brunsfeld
2a222adb7e Represent character sets with unsigned chars
This is better for comparing character ranges, since
there is a definite maximum character value.
2014-03-31 18:47:18 -07:00
Max Brunsfeld
7824b3191b Fix bug in character set difference calculation 2014-03-31 18:38:54 -07:00
Max Brunsfeld
7adb0bf34f Add golang example grammar
Also, support '\a' character class shorthand in regexes,
for alphabetical characters
2014-03-29 16:29:34 -07:00
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