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 |
|