Commit graph

48 commits

Author SHA1 Message Date
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
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
30315a78d2 Put rule transitions in LR namespace 2013-12-28 23:26:20 -08:00
Max Brunsfeld
ccd806a0da Organize 2013-12-28 10:40:45 -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
8dec6c90f4 Add files missing from runtime specs 2013-12-21 13:37:27 -08:00
Max Brunsfeld
b3b5b8a05a Remove rule-specific logic from transition map 2013-12-21 13:28:37 -08:00
Max Brunsfeld
c10bcf4fab Rename rules::RuleVisitor -> Visitor 2013-12-20 18:03:29 -08:00
Max Brunsfeld
6f444fcc79 Consolidate logic for making shared pointers to rules 2013-12-20 18:03:29 -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
73d8cb3722 Refactor parse table builder 2013-12-18 08:25:50 -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
2f74c1de10 Remove unused methods and members 2013-12-17 18:27:32 -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
562d780f9a Start work on parser code generation 2013-12-15 19:33:34 -08:00
Max Brunsfeld
99a6561db2 Make ParseTable#states public 2013-12-15 19:19:39 -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
2102d542e1 rename pattern rule files 2013-11-14 21:26:42 -08:00
Max Brunsfeld
ecd317ccd9 Compute transitions for regex pattern rules 2013-11-14 21:25:58 -08:00
Max Brunsfeld
040ec86000 Move shared rule pointer factories into individual rule files 2013-11-14 12:55:02 -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
6bbaba3ef8 Fix stream operator on rules and items 2013-11-12 08:17:19 -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