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
|
44745b5179
|
Start work on pre-processing grammars
|
2014-01-03 01:02:24 -08:00 |
|
Max Brunsfeld
|
257b8d7b68
|
Update rule hash implementation
|
2013-12-30 23:52:38 -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
|
29a9b4643d
|
Add code for setting parse states’ corresponding lex states
|
2013-12-28 10:23:40 -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 |
|
Max Brunsfeld
|
e480cf538d
|
Move igloo submodule out of specs directory
|
2013-12-15 23:25:31 -08:00 |
|
Max Brunsfeld
|
562d780f9a
|
Start work on parser code generation
|
2013-12-15 19:33:34 -08:00 |
|
Max Brunsfeld
|
928f4f9deb
|
Start work on building parse tables
|
2013-12-15 14:42:02 -08:00 |
|
Max Brunsfeld
|
99c216f78a
|
Compute item set transitions
|
2013-11-20 19:00:20 -08:00 |
|
Max Brunsfeld
|
100ab56779
|
Parse repeats in regex patterns
|
2013-11-15 13:35:35 -08:00 |
|
Max Brunsfeld
|
92e73a9e70
|
Add repeat rules
|
2013-11-15 08:46:45 -08:00 |
|
Max Brunsfeld
|
80acabb03e
|
In TransitionMap constructor, use initializer lists for pairs
|
2013-11-14 21:33:36 -08:00 |
|
Max Brunsfeld
|
ecd317ccd9
|
Compute transitions for regex pattern rules
|
2013-11-14 21:25:58 -08:00 |
|
Max Brunsfeld
|
8a0a442a24
|
Make more things immutable
|
2013-11-13 20:22:06 -08:00 |
|
Max Brunsfeld
|
f7063ba1d8
|
Compute closure of item sets under symbol expansion
|
2013-11-12 18:45:04 -08:00 |
|
Max Brunsfeld
|
11e3980319
|
Add helper functions for making shared pointers to rules
- start work on item set class
|
2013-11-10 14:59:40 -08:00 |
|
Max Brunsfeld
|
ec8b7ccf20
|
Add string rules
|
2013-11-07 18:30:00 -08:00 |
|
Max Brunsfeld
|
d830c7c255
|
Put rule classes in their own files
|
2013-11-07 13:25:27 -08:00 |
|
Max Brunsfeld
|
849f2ee195
|
Add character rule class
|
2013-11-07 08:28:18 -08:00 |
|
Max Brunsfeld
|
061d8a8efc
|
Compute transitions correctly for long sequences
|
2013-11-06 13:37:01 -08:00 |
|
Max Brunsfeld
|
95d955e779
|
Move TransitionMap out of rules namespace
|
2013-11-06 08:18:40 -08:00 |
|
Max Brunsfeld
|
84c5bceb81
|
Initial commit
|
2013-11-05 22:15:19 -08:00 |
|