Commit graph

89 commits

Author SHA1 Message Date
Paul Beckingham
150cd18189 LR0: Improved CppCoreGuidelines compliance 2016-01-19 00:48:27 -05:00
Paul Beckingham
a5e8135d1f LR0: Stubbed ::parse 2016-01-14 12:43:49 -05:00
Paul Beckingham
857809afbe LR0: Added parse algorithm 2016-01-14 12:18:45 -05:00
Paul Beckingham
8cd6fd2a5f LR0: Stubbed ::parse functionality 2016-01-09 22:06:26 -05:00
Paul Beckingham
6558f8422d LR0: Removed obsolete ::setTransition 2016-01-09 00:33:14 -05:00
Paul Beckingham
63d835b1cd LR0: createParseTable now finds the shift transitions 2016-01-09 00:30:43 -05:00
Paul Beckingham
42d1a420ef LR0: Parser table diagnostics formatting 2016-01-08 10:07:09 -05:00
Paul Beckingham
6d37c467cb LR0: Removed Lexer dependence 2016-01-08 10:06:47 -05:00
Paul Beckingham
227c5ae8e5 LR0: Capture state transitions during closure 2016-01-07 22:22:45 -05:00
Paul Beckingham
67b497733f LR0: No need to implement a do-nothing default constructor 2016-01-07 22:12:05 -05:00
Paul Beckingham
928597c425 LR0: Renamed _reducesTo to _transitionsTo 2016-01-07 18:17:21 -05:00
Paul Beckingham
bc0a904b50 LR0: Color update 2016-01-07 17:21:27 -05:00
Paul Beckingham
62f11f6603 LR0: Cleaner parse table dump 2016-01-06 10:46:38 -05:00
Paul Beckingham
a2e45b9297 LR0: ::createParseTable now find acceptance and reductions 2016-01-06 10:33:17 -05:00
Paul Beckingham
b3eef3f959 LR0: The artificial terminal "$" is now autoamtically included 2016-01-06 10:31:14 -05:00
Paul Beckingham
1abcd7ed3d LR0: Added missing '$' symbol from action table diagnostics 2016-01-05 23:58:31 -05:00
Paul Beckingham
1f1cd34134 LR0: Color-coded the parser table 2016-01-05 23:26:55 -05:00
Paul Beckingham
ab2eb68d7c LR0: ::dump now includes the action and goto tables 2016-01-05 23:19:32 -05:00
Paul Beckingham
90ccdc872f LR0: Implemented unformatted ::dump 2016-01-05 12:04:26 -05:00
Paul Beckingham
5f6a522ad8 LR0: Initialization in ::createParseTable 2016-01-05 12:03:43 -05:00
Paul Beckingham
9d239f7a80 LR0: Added ::Item::setReductionRule 2016-01-05 12:00:40 -05:00
Paul Beckingham
88e932ea2e LR0: Diagnostics only in debug mode 2016-01-05 11:58:42 -05:00
Paul Beckingham
eac94e99bf LR0: Now copies lists of grammar rules and terminals 2016-01-05 02:21:08 -05:00
Paul Beckingham
04ce6a8b91 LR0: Stubbed ::createParseTable 2016-01-05 02:14:10 -05:00
Paul Beckingham
6b79a9a975 LR0: Removed obsolete ::getClosure 2016-01-05 02:06:54 -05:00
Paul Beckingham
5b6a232112 LR0: Removed duplicate States::dump call 2016-01-05 01:56:26 -05:00
Paul Beckingham
8a13686643 LR0: Removed debugging diagnostics 2016-01-05 01:55:38 -05:00
Paul Beckingham
6c9b186dc2 LR0: Fixed ::closeState
- Added check to prevent duplicate states.
- Added extra recursion for cases of the new item containing '. X' where X is a
  non-terminal.
2016-01-05 01:55:24 -05:00
Paul Beckingham
a9b7ca04c9 LR0: Documented ::initializeFirstState 2016-01-05 01:51:08 -05:00
Paul Beckingham
c33e12f099 LR0: Added ::Item::operator== 2016-01-05 01:48:38 -05:00
Paul Beckingham
0d7c356bed LR0: Replaced old first-state init code 2016-01-05 01:16:07 -05:00
Paul Beckingham
7126046049 LR0: Added ::initializeFirstState 2016-01-05 01:15:30 -05:00
Paul Beckingham
1f9826a07e LR0: ::closeState no longer has any return value 2016-01-05 01:13:47 -05:00
Paul Beckingham
1491df085d LR0: Implemnted ::closeState 2016-01-05 01:02:14 -05:00
Paul Beckingham
c7aa6a3beb LR0: Modified ::getExpectedSymbols to use index-based looping
- Index-based looping makes it easier to link the items in the states to be
  linked back to the augmented grammar.
2016-01-03 17:24:32 -05:00
Paul Beckingham
c02b6f62c0 LR0: Diagnostics need to be shown after processing 2016-01-03 17:23:38 -05:00
Paul Beckingham
379c2f806e LR0: Documented the ::initialize algorithm 2016-01-03 16:42:13 -05:00
Paul Beckingham
2a9000cfd0 LR0: Added ::closeState
- This will be a recursive method to complete the state information, prior to
  the creation of the final parser table.
2016-01-03 16:41:12 -05:00
Paul Beckingham
40b7357b71 LR0: Renamed ::expand to ::getClosure 2016-01-03 16:40:21 -05:00
Paul Beckingham
a0d9df5edd LR0: Renamed ::getExpected to ::getExpectedSymbols 2016-01-03 16:38:46 -05:00
Paul Beckingham
71d216ea49 LR0: Removed ::getClosure, it's form is wrong 2016-01-03 16:36:30 -05:00
Paul Beckingham
819beb5909 LR0: Implemented full ::expand method 2016-01-03 00:44:00 -05:00
Paul Beckingham
f4bff57b09 LR0: Implemented ::expand 2016-01-02 15:35:53 -05:00
Paul Beckingham
ecb161131c LR0: Eliminated extra copies 2016-01-02 15:33:58 -05:00
Paul Beckingham
35b526957e LR0: Fixed bug where local variable eclipsed member 2016-01-02 15:33:04 -05:00
Paul Beckingham
586cce2114 LR0: Changed ::expand to take a single symbol, not a closure
- Updated ::initialize to handle the expanѕion of the first rule.
2016-01-02 15:21:50 -05:00
Paul Beckingham
27f71d810f LR0: Made more methods const 2016-01-02 14:42:39 -05:00
Paul Beckingham
c0a7a203cf LR0: Added ::expand 2016-01-02 14:42:06 -05:00
Paul Beckingham
31b53e8c23 LR0: Converted ::getExpected from std::vector to std::set 2016-01-02 14:33:05 -05:00
Paul Beckingham
1305c0cb55 LR0: Renamed ::getExpectations to ::getExpected 2016-01-02 14:28:20 -05:00