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
|
0877d01194
|
Add stream operator for parse states
|
2014-01-26 16:38:41 -08:00 |
|
Max Brunsfeld
|
5d9dc71da1
|
Remove default_actions from ParseTable
|
2014-01-25 23:40:51 -08:00 |
|
Max Brunsfeld
|
3ca2e126be
|
Remove unnecessary public START and END constants
|
2014-01-25 21:34:46 -08:00 |
|
Max Brunsfeld
|
5eb5b61c14
|
Don’t pass rule names to code generator separately from parse tables
|
2014-01-25 20:45:00 -08:00 |
|
Max Brunsfeld
|
b85b15db42
|
Refactor extract tokens function
|
2014-01-24 23:41:43 -08:00 |
|
Max Brunsfeld
|
67fa81d079
|
Convert repeat rules into pairs of recursive rules
|
2014-01-24 18:27:29 -08:00 |
|
Max Brunsfeld
|
cbcf28f9d4
|
Update todo
|
2014-01-24 00:00:31 -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
|
432e97e063
|
Improve parser runtime specs
|
2014-01-23 13:00:08 -08:00 |
|
Max Brunsfeld
|
8a317f6918
|
Manage lookahead symbol correctly after a reduction
|
2014-01-22 23:04:29 -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
|
1c747f20a2
|
Print expected symbol names in parse errors
|
2014-01-21 23:35:04 -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
|
289992344e
|
Make separate Item classes for parsing and lexing
|
2014-01-18 09:47:26 -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
|
4cacdcba70
|
Fix parser position in parse error messages
|
2014-01-13 12:57:12 -08:00 |
|
Max Brunsfeld
|
a21c42ca85
|
Rename close_item_set -> item_set_closure
|
2014-01-12 09:13:53 -08:00 |
|
Max Brunsfeld
|
9231fa6095
|
Consolidate boilerplate in C headers
|
2014-01-11 18:16:52 -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
|
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
|
023a0c4f70
|
Fix a spec
|
2014-01-11 13:41:31 -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
|
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
|
2621f06315
|
Rename ParseTableBuilder -> TableBuilder
|
2014-01-03 12:45:47 -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 |
|
Max Brunsfeld
|
f5a9fb67a4
|
Add copy method to rules
|
2014-01-02 13:04:41 -08:00 |
|
Max Brunsfeld
|
257b8d7b68
|
Update rule hash implementation
|
2013-12-30 23:52:38 -08:00 |
|
Max Brunsfeld
|
3116b457fe
|
Update some stringification methods
|
2013-12-30 23:12:19 -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 |
|