Commit graph

6118 commits

Author SHA1 Message Date
Max Brunsfeld
c520b692d9 Clean up travis file 2014-02-26 20:03:26 -08:00
Max Brunsfeld
8deeff392b Fix memory leak in tree 2014-02-26 19:54:22 -08:00
Max Brunsfeld
7251456cd2 Move some general code generation helpers into their own file 2014-02-26 19:08:07 -08:00
Max Brunsfeld
63718d5bad Add basic support for error recovery 2014-02-26 19:03:43 -08:00
Max Brunsfeld
df05c75525 Backfill unit tests for follow sets
Also, add some comment docs for some compiler functions
2014-02-26 00:39:31 -08:00
Max Brunsfeld
df223d566e Fix bug in parser error handling 2014-02-25 18:33:24 -08:00
Max Brunsfeld
4541332c2b Put definition of EOF symbol back in parse table builder (not in parser.h) 2014-02-25 13:25:58 -08:00
Max Brunsfeld
e58a6d8ba7 Start work on error recovery
- In runtime, make parse errors part of the parse tree
- Add error state to lexers in which they can accept any token
2014-02-24 18:42:54 -08:00
Max Brunsfeld
4520d6e1a2 Remove unnecessary downcast in prepare_grammar::perform 2014-02-23 19:01:24 -08:00
Max Brunsfeld
2c30dce08e Refactor rule visitors 2014-02-23 18:46:53 -08:00
Max Brunsfeld
713b3899c5 Simplify logic for extracting tokens from grammar 2014-02-23 10:00:49 -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
a34da59889 Update naming style in parser.h 2014-02-20 18:43:35 -08:00
Max Brunsfeld
ceee7eefd0 Don't store text on documents 2014-02-20 18:38:31 -08:00
Max Brunsfeld
6ed6aa05cc Update runtime code naming
Also, add macros so that code generator doesn't
need to know about any runtime variables names
or types
2014-02-20 13:30:43 -08:00
Max Brunsfeld
1b56832cb7 Use c++ in runtime src file
It makes string manipulation easier
2014-02-19 18:58:28 -08:00
Max Brunsfeld
e40c6ec60d Clean up PreparedGrammar::operator== 2014-02-19 18:30:56 -08:00
Max Brunsfeld
e87380a8b7 Make separate PreparedGrammar subclass of Grammar for internal use 2014-02-19 13:36:38 -08:00
Max Brunsfeld
1d56578a81 Remove project vimrc file 2014-02-19 13:06:58 -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
49ad910474 Skip whitespace by default in lexer 2014-02-19 12:48:38 -08:00
maxbrunsfeld
19804367b3 Create README.md 2014-02-19 09:28:31 -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
9f0a395c0d Remove clang -stdlib flag in makefile 2014-02-19 09:24:55 -08:00
Max Brunsfeld
6b23a5ac0d Respect CXX env var in Makefile 2014-02-18 12:38:29 -08:00
Max Brunsfeld
741da7b5ae Update .travis.yml 2014-02-18 09:19:41 -08:00
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