Paul Beckingham
1e02140695
Tests: Added ::skipN
2015-12-29 22:52:03 -05:00
Paul Beckingham
07070baa73
Pig: Added ::skipN
2015-12-29 22:51:37 -05:00
Paul Beckingham
abbc273d19
Tests: Added ::eos
2015-12-29 16:25:07 -05:00
Paul Beckingham
7007dedb45
Pig: Added ::eos
2015-12-29 16:24:36 -05:00
Paul Beckingham
351993b486
Tests: Added ::getDigits
2015-12-29 16:11:20 -05:00
Paul Beckingham
5d844b9b32
Pig: Added ::getDigits
2015-12-29 16:11:02 -05:00
Paul Beckingham
b19496b63d
Pig: Removed unnecessary _mark, _debug
2015-12-29 15:57:20 -05:00
Paul Beckingham
eaf038f50e
Tests: Added ::getDigit
2015-12-29 15:54:09 -05:00
Paul Beckingham
ddbf675d40
Pig: Added ::getDigit
2015-12-29 15:53:51 -05:00
Paul Beckingham
d1fbda2c11
Pig: Added ::dump details
2015-12-29 15:40:25 -05:00
Paul Beckingham
c94fc0b70d
Tests: Added ::skipWS tests
2015-12-29 15:39:27 -05:00
Paul Beckingham
b382bcba1e
Pig: Added ::skipWS
2015-12-29 15:38:30 -05:00
Paul Beckingham
26693a50b5
Tests: Added framework for Pig tests
2015-12-29 13:13:03 -05:00
Paul Beckingham
8fed0e9781
Pig: New lightweight object for string consumption
...
- Like Nibbler, but without the string copy, and allowing multiple pigs to
eat the string at the same time.
Pig: A tool for cleaning out pipes
Pig: A greedy person
Pig: To eat quickly
2015-12-29 13:02:09 -05:00
Paul Beckingham
7321a1fce6
LR0: Documented goto algorithm
2015-12-29 09:25:59 -05:00
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