Commit graph

36 commits

Author SHA1 Message Date
Max Brunsfeld
1b56832cb7 Use c++ in runtime src file
It makes string manipulation easier
2014-02-19 18:58:28 -08:00
Max Brunsfeld
e87380a8b7 Make separate PreparedGrammar subclass of Grammar for internal use 2014-02-19 13:36:38 -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
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
dbbb446082 Reorganize runtime header files 2014-02-15 17:00:33 -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
8baa1396fd Properly merge transitions on overlapping character sets! 2014-02-10 13:20:43 -08:00
Max Brunsfeld
d3d25f2683 Represent character sets as sets of character ranges 2014-02-05 18:56:04 -08:00
Max Brunsfeld
7f62e752be Allow Character rules to handle arbitrary character sets 2014-01-30 08:34:20 -08:00
Max Brunsfeld
c3b65d22bf Improve prepare_grammar specs 2014-01-28 18:44:14 -08:00
Max Brunsfeld
67fa81d079 Convert repeat rules into pairs of recursive rules 2014-01-24 18:27:29 -08:00
Max Brunsfeld
5776846227 Make compile take a name argument
Start work on JSON fixture grammar
2014-01-23 13:48:07 -08:00
Max Brunsfeld
3c42de1718 Fix errors in item set transition computation 2014-01-21 23:45:02 -08:00
Max Brunsfeld
42f6481910 Move stream operators for container types to separate header file 2014-01-21 23:35:04 -08:00
Max Brunsfeld
1bf216b796 Rename next_{terminals,non_terminals} to first_set and follow_sets
This is to prepare for keeping track of lookahead symbols as part
of computing follow sets
2014-01-19 01:49:56 -08:00
Max Brunsfeld
d015d57a53 Remove ItemSet class; just use a set 2014-01-13 18:47:57 -08:00
Max Brunsfeld
29f73afbc5 Compute FIRST sets correctly 2014-01-13 12:57:48 -08:00
Max Brunsfeld
a21c42ca85 Rename close_item_set -> item_set_closure 2014-01-12 09:13:53 -08:00
Max Brunsfeld
3f4cde7488 Move parser functions to the header
- this way they can be inlined by the compiler if need be
2014-01-11 18:15:55 -08:00
Max Brunsfeld
7a3092b765 Refactor parser error messages
- move message generation to TSParseError,
  so that Parser doesn’t need to import <string>, and can
  be compiled as plain C.
2014-01-11 17:59:45 -08:00
Max Brunsfeld
8881214f0d Separate table building operations from Item, ItemSet value objects 2014-01-11 16:49:57 -08:00
Max Brunsfeld
92cec5758f Reorganize compiler directory 2014-01-11 15:14:17 -08:00
Max Brunsfeld
2894ad7447 Improve parser error messages 2014-01-09 13:31:30 -08:00
Max Brunsfeld
55809f702d Add parser error messages 2014-01-08 18:35:16 -08:00
Max Brunsfeld
614e497ac4 Start building AST in parser 2014-01-07 21:50:32 -08:00
Max Brunsfeld
5813816179 Start work on implementing parser runtime 2014-01-05 15:43:00 -08:00
Max Brunsfeld
29c81167c0 Remove subclasses of Symbol for terminals and non-terminals 2014-01-04 15:01:06 -08:00
Max Brunsfeld
2afd8843dc Generate parse tables and code using pre-processed grammars 2014-01-03 22:42:05 -08:00
Max Brunsfeld
44745b5179 Start work on pre-processing grammars 2014-01-03 01:02:24 -08:00
Max Brunsfeld
9441a21558 Rename project files 2014-01-02 13:09:15 -08:00