Commit graph

44 commits

Author SHA1 Message Date
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
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
Max Brunsfeld
19e5b2a563 Make token extraction work for repeat rules 2014-01-28 12:52:29 -08:00
Max Brunsfeld
ca33c3942a In parse table, store symbols as Symbol objects, not strings 2014-01-27 13:40:10 -08:00
Max Brunsfeld
3ca2e126be Remove unnecessary public START and END constants 2014-01-25 21:34:46 -08:00
Max Brunsfeld
67fa81d079 Convert repeat rules into pairs of recursive rules 2014-01-24 18:27:29 -08:00
Max Brunsfeld
8208aae060 Fix transitions for sequences whose left side can be blank 2014-01-23 23:56:37 -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
bb42543f1b Fix broken compiler test 2014-01-23 13:10:37 -08:00
Max Brunsfeld
e174b89133 Treat end of input like a normal token 2014-01-22 23:04:11 -08:00
Max Brunsfeld
3c42de1718 Fix errors in item set transition computation 2014-01-21 23:45:02 -08:00
Max Brunsfeld
be5e406c96 Do less work when loading build_tables spec 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
29f73afbc5 Compute FIRST sets correctly 2014-01-13 12:57:48 -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
f342067293 Clean up specs 2014-01-11 17:08:32 -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
55809f702d Add parser error messages 2014-01-08 18:35:16 -08:00
Max Brunsfeld
0985fa3008 Collapse rules that contain only a single token 2014-01-05 01:19:32 -08:00
Max Brunsfeld
04d18b56ed Cleanup 2014-01-04 15:30:05 -08:00
Max Brunsfeld
29c81167c0 Remove subclasses of Symbol for terminals and non-terminals 2014-01-04 15:01:06 -08:00
Max Brunsfeld
ed80d9cf52 Don’t allow duplicate rules when extracting tokens from grammars 2014-01-04 13:38:03 -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
c6699a4c30 Make assertion stringizer methods for std containers work for any value types 2013-12-30 19:30:48 -08:00
Max Brunsfeld
30315a78d2 Put rule transitions in LR namespace 2013-12-28 23:26:20 -08:00
Max Brunsfeld
656f6b0819 Add EqualsPointer matcher for comparing pointed-to values 2013-12-28 18:42:00 -08:00
Max Brunsfeld
d027aa5af6 Switch specs to use bandit instead of igloo 2013-12-28 16:55:51 -08:00
Max Brunsfeld
a5e39d2512 Start work on lexing 2013-12-27 17:31:08 -08:00
Max Brunsfeld
323184f981 Improve type-safety of ItemSet transitions methods 2013-12-22 00:19:55 -08:00
Max Brunsfeld
9667b3fd6c Refactor classes representing individual characters & character classes 2013-12-21 23:53:26 -08:00
Max Brunsfeld
b3b5b8a05a Remove rule-specific logic from transition map 2013-12-21 13:28:37 -08:00
Max Brunsfeld
9f78d72a7c Get rid of types for shared pointers to rule subclasses 2013-12-19 20:07:42 -08:00
Max Brunsfeld
c3b8a73831 Remove unneeded method from parse table 2013-12-19 12:53:32 -08:00
Max Brunsfeld
b1bbeae2a1 Move rule transitions to visitor class 2013-12-18 20:58:05 -08:00
Max Brunsfeld
84a7afbca5 Make ParseTableBuilder a private class 2013-12-18 08:36:41 -08:00
Max Brunsfeld
c49913a6b1 Simplify item_set -> state index map data in parse table builder 2013-12-17 19:54:16 -08:00
Max Brunsfeld
3417ad5adb Add runtime specs 2013-12-17 13:14:41 -08:00
Max Brunsfeld
9618efd12a Organize source into compiler and runtime dirs 2013-12-16 00:02:08 -08:00