Commit graph

110 commits

Author SHA1 Message Date
Paul Beckingham
3829415d19 gr: Added '-d' and '--debug' command line option 2015-12-26 14:15:58 -05:00
Paul Beckingham
2d594c33dc Grammar: Added debug mode 2015-12-26 14:13:43 -05:00
Paul Beckingham
980dda147f LR0: Added debug mode 2015-12-26 14:12:11 -05:00
Paul Beckingham
ee7fd61991 LR0: Formatted debug output for terseness, given expected output volume 2015-12-26 14:08:44 -05:00
Paul Beckingham
0a9e1f7299 Grammar: MAde ::dump output more compact, because this is going to get large 2015-12-26 14:08:13 -05:00
Paul Beckingham
e3199833f7 LR0: Obtains and displays the augmented grammar 2015-12-26 13:36:09 -05:00
Paul Beckingham
49ca83ad10 Grammar: Updated ::items to ::augmented, returning the full augmented grammar 2015-12-26 13:35:15 -05:00
Paul Beckingham
5719191467 Grammar: Added ::items, for seeding the LR0 parse table 2015-12-26 12:29:39 -05:00
Paul Beckingham
c73464b39f Grammar: Converted from std::set to std::vector to preserve ordering 2015-12-25 22:54:25 -05:00
Paul Beckingham
9b126699e7 Grammar: Removed obsolete method 2015-12-25 22:54:03 -05:00
Paul Beckingham
9b599597f1 Grammar: Corrected left-recursion check 2015-12-25 22:49:37 -05:00
Paul Beckingham
a164a72156 Lexer: Added operator support 2015-12-25 16:44:21 -05:00
Paul Beckingham
476551c563 Lexer: Added path support 2015-12-24 00:26:34 -05:00
Paul Beckingham
703ec44ad0 Lexer: Aded URL support 2015-12-24 00:18:23 -05:00
Paul Beckingham
78653a16cf timew: Renamed grammar files, added rule.grammar 2015-12-23 11:50:50 -05:00
Paul Beckingham
925e8ec14b Tests: Added LR0 test framework 2015-12-23 09:23:57 -05:00
Paul Beckingham
dcc1a3c451 Tests: Added rules test framework 2015-12-23 09:23:11 -05:00
Paul Beckingham
3c2c159af8 Rules: Added stubbed objects 2015-12-23 09:21:44 -05:00
Paul Beckingham
0ad9012b5c LR0: ::createParseTables now accesses Grammar metedata 2015-12-23 00:23:00 -05:00
Paul Beckingham
6a6709d2c8 Tests: Added Grammar metadata tests 2015-12-23 00:22:17 -05:00
Paul Beckingham
c62c6448d2 Grammar: Converted from std::vector to std::set for metadata 2015-12-23 00:21:30 -05:00
Paul Beckingham
ed138fc819 gr: Removed unused code 2015-12-22 23:43:57 -05:00
Paul Beckingham
23fb1aedd5 Grammar: Renamed ::dump vars for accuracy 2015-12-22 23:40:43 -05:00
Paul Beckingham
0cd1d48290 Grammar: Added ::terminals 2015-12-22 23:40:22 -05:00
Paul Beckingham
35d246aa32 Grammar: Added ::rules 2015-12-22 23:39:50 -05:00
Paul Beckingham
459bf183dc Grammar: Added ::start 2015-12-22 23:39:13 -05:00
Paul Beckingham
791e870eda gr: Instantiates a parser 2015-12-22 23:31:32 -05:00
Paul Beckingham
9569b5dcc3 timew: Instantiates a parser 2015-12-22 23:31:09 -05:00
Paul Beckingham
bc22348822 LR0: Added ::createParseTables, ::dump 2015-12-22 23:26:06 -05:00
Paul Beckingham
fa375615cd Grammar: Added regex support 2015-12-22 15:28:00 -05:00
Paul Beckingham
ee667cb68c Lexer: Added pattern support 2015-12-22 15:26:57 -05:00
Paul Beckingham
fbc47dc1e4 gr: Added utility to check grammar 2015-12-22 12:26:06 -05:00
Paul Beckingham
75ca4a3b71 Tests: Refactoring
- Added functions to reduce code size.
- Added test to check for bad file, bad grammar.
2015-12-22 10:07:07 -05:00
Paul Beckingham
18186de479 Tests: Added test for trivial but non-empty grammar 2015-12-22 09:48:53 -05:00
Paul Beckingham
59e2b7911b Tests: Added test for empty grammar string 2015-12-22 09:46:14 -05:00
Paul Beckingham
d1e19d3171 Grammar: Validates the presence of a start rule 2015-12-22 09:43:04 -05:00
Paul Beckingham
eb6932c81a Tests: Added Grammar test 2015-12-22 09:40:50 -05:00
Paul Beckingham
e20ab05c0d Grammar: Implemented ::validate 2015-12-22 09:21:02 -05:00
Paul Beckingham
a0b5db4c89 Common: Refactored listDiff 2015-12-22 08:57:35 -05:00
Paul Beckingham
f637a10078 Common: Added liѕtDiff template function 2015-12-22 08:45:40 -05:00
Paul Beckingham
83d7134d64 Grammar: Code cleanup 2015-12-22 08:26:33 -05:00
Paul Beckingham
6c581fb8c2 Grammar: Added stubbed ::generateParseTable 2015-12-22 08:09:41 -05:00
Paul Beckingham
04f8b6bd6a Grammar: Added ::validate for consistency checking 2015-12-22 08:08:39 -05:00
Paul Beckingham
6fac8a4a54 Grammar: Upgraded tokens from std::string to full object 2015-12-22 08:06:20 -05:00
Paul Beckingham
29cb35123a Grammar: Added Production::decorate to capture token decoration one day 2015-12-22 07:50:04 -05:00
Paul Beckingham
d8e4946537 timew: Added notes for implementation 2015-12-21 00:36:20 -05:00
Paul Beckingham
cf19677488 Common: Added Timer 2015-12-21 00:28:37 -05:00
Paul Beckingham
25a6dd4920 Grammar: Fixd bug with missing file error message 2015-12-21 00:15:34 -05:00
Paul Beckingham
8991a3c87b Grammar: Implemented ::loadFromFile and ::loadFromString 2015-12-21 00:08:26 -05:00
Paul Beckingham
3c13aa8490 Grammar: Added initial CLI grammar 2015-12-21 00:08:07 -05:00