Paul Beckingham
|
58c62eed5b
|
LR0: Documented closure algorithm
|
2015-12-29 09:25:38 -05:00 |
|
Paul Beckingham
|
f27d66b8c7
|
LR0: Cleaned up ::initialize
|
2015-12-29 09:24:56 -05:00 |
|
Paul Beckingham
|
2e54201edd
|
LR0: Documented item sets algorithm
|
2015-12-29 09:24:04 -05:00 |
|
Paul Beckingham
|
f86e7749a4
|
LR0: Added LR0::States::dump
|
2015-12-29 09:22:22 -05:00 |
|
Paul Beckingham
|
aec497e4c8
|
LR0: Added framework around ::getClosure method (unimplemented)
|
2015-12-28 11:34:28 -05:00 |
|
Paul Beckingham
|
b1c85adfe4
|
LR0: Changed ::expandNonTerminals to ::getClosure, to match algorithm
|
2015-12-28 11:28:13 -05:00 |
|
Paul Beckingham
|
82cfd73b1e
|
LR0: Removed ::dump for states, there is a better way
|
2015-12-28 11:26:40 -05:00 |
|
Paul Beckingham
|
7205cfe1f1
|
LR0: Renamed ::createParseTables to ::initialize
|
2015-12-28 09:20:55 -05:00 |
|
Paul Beckingham
|
ec9b63b438
|
Tests: Added tests for special case 'A --> є'
|
2015-12-27 14:50:53 -05:00 |
|
Paul Beckingham
|
1b81996674
|
LR0: Special handling for 'A --> є'
|
2015-12-27 14:50:10 -05:00 |
|
Paul Beckingham
|
6dea79721a
|
Tests: Added LR0::Item tests
|
2015-12-27 12:18:44 -05:00 |
|
Paul Beckingham
|
ef087a7b35
|
LR0: Implemented Item::dump
|
2015-12-27 12:18:02 -05:00 |
|
Paul Beckingham
|
66504d5dfc
|
LR0: Made Item a public class, for testing
|
2015-12-27 12:02:00 -05:00 |
|
Paul Beckingham
|
6b4448ec8a
|
LR0: Implemented the LR0::Item object
|
2015-12-27 11:57:19 -05:00 |
|
Paul Beckingham
|
44ddd462ac
|
LR0: Added a 'state' to iterate
|
2015-12-27 11:47:46 -05:00 |
|
Paul Beckingham
|
05063904a6
|
LR0: Converted ::expandNonTerminals to use new data structure
|
2015-12-27 11:19:36 -05:00 |
|
Paul Beckingham
|
ad5f1e4fd7
|
LR0: Added ::dump method to display intermediate parsing table
|
2015-12-27 11:18:47 -05:00 |
|
Paul Beckingham
|
26e0a472ac
|
LR0: Created data strcuture to represent intermediate parsing table
|
2015-12-27 11:17:39 -05:00 |
|
Paul Beckingham
|
a3260246bf
|
Grammar: Annotated data structure
|
2015-12-27 11:16:48 -05:00 |
|
Paul Beckingham
|
474ed85811
|
LR0: ::expandNonTerminals now writes expansion state in debug mode
|
2015-12-27 10:34:59 -05:00 |
|
Paul Beckingham
|
08457be4a0
|
LR0: Expansion of non-terminals also needs a reference to the augmented grammar
|
2015-12-27 10:08:47 -05:00 |
|
Paul Beckingham
|
b56e8fb226
|
LR0: Items are properly initialized for the first step
|
2015-12-27 09:59:33 -05:00 |
|
Paul Beckingham
|
90fbdaa08b
|
LR0: ::expandNonTerminals now accepts a set of items and states
|
2015-12-27 09:58:40 -05:00 |
|
Paul Beckingham
|
d3353aba24
|
Tests: Added augmented grammar tests
|
2015-12-27 09:50:37 -05:00 |
|
Paul Beckingham
|
d347303e6e
|
LR0: Stubbed expanѕion of non-terminals
|
2015-12-26 23:08:17 -05:00 |
|
Paul Beckingham
|
53d8500000
|
Debug: Diagnostic output cleanup
|
2015-12-26 22:31:11 -05:00 |
|
Paul Beckingham
|
b80964dac5
|
gr: Diagnostic output now controlled by '-d' and '--debug' options
|
2015-12-26 14:43:58 -05:00 |
|
Paul Beckingham
|
ec69d5fa4c
|
LR0: Diagnostics now controlled by ::debug
- Added ::parse stub
|
2015-12-26 14:41:10 -05:00 |
|
Paul Beckingham
|
0ff2ebb37f
|
Grammar: No need to notify on validation pass
- The lack of exceptions is all we need.
|
2015-12-26 14:38:45 -05:00 |
|
Paul Beckingham
|
63df5ba992
|
Grammar: Diagnostics now controlled by ::debug
|
2015-12-26 14:37:43 -05:00 |
|
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 |
|