Commit graph

423 commits

Author SHA1 Message Date
Paul Beckingham
b2e9ea87b4 LR0: Іtem now maintains an index into the augmented grammar 2016-01-02 10:43:55 -05:00
Paul Beckingham
61ef17813a LR0: Now retains a copy of the augmented grammar 2016-01-02 10:43:14 -05:00
Paul Beckingham
fa5c8776fb Pig: Added ::getDigit2, ::getDigit3, ::getDigit4 2016-01-01 14:52:43 -05:00
Paul Beckingham
2590a48bfc Pig: Added ::getQuoted 2016-01-01 14:33:20 -05:00
Paul Beckingham
ab9d0606fd Copyright: Updated to 2016 2015-12-31 15:26:25 -05:00
Paul Beckingham
a66e03e858 Pig: Added ::getHexDigit 2015-12-30 11:06:43 -05:00
Paul Beckingham
edda82fafe Pig: Added ::getOneOf 2015-12-30 10:59:14 -05:00
Paul Beckingham
6d47b1ba3a Pig: Added ::skip 2015-12-30 10:48:37 -05:00
Paul Beckingham
c8dd54986e Pig: Added ::cursor 2015-12-30 10:45:17 -05:00
Paul Beckingham
da072c17d4 Pit: Added ::save, ::restore 2015-12-30 10:37:07 -05:00
Paul Beckingham
602fc1425d Pig: Added ::peek(int) 2015-12-30 10:27:46 -05:00
Paul Beckingham
ad8ee168e5 Pig: Added ::peek 2015-12-30 10:26:58 -05:00
Paul Beckingham
e790165a72 Pig: Cleaned up WS at EOL 2015-12-30 10:08:20 -05:00
Paul Beckingham
691b481ee6 Pig: Added ::getNumber(double&) 2015-12-30 10:07:01 -05:00
Paul Beckingham
dacff48165 Pig: Added ::getNumber 2015-12-30 10:05:32 -05:00
Paul Beckingham
261b0f5c22 Pig: Added ::getUntilWS 2015-12-29 23:54:22 -05:00
Paul Beckingham
758611c41d Pig: Added ::getRemainder 2015-12-29 23:14:15 -05:00
Paul Beckingham
2810b8fabf Pig: Added ::skipLiteral 2015-12-29 23:00:53 -05:00
Paul Beckingham
07070baa73 Pig: Added ::skipN 2015-12-29 22:51:37 -05:00
Paul Beckingham
7007dedb45 Pig: Added ::eos 2015-12-29 16:24:36 -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
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
b382bcba1e Pig: Added ::skipWS 2015-12-29 15:38:30 -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
1b81996674 LR0: Special handling for 'A --> є' 2015-12-27 14:50:10 -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
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