Commit graph

136 commits

Author SHA1 Message Date
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
Paul Beckingham
f658c5d35c LR0: Added ::getExpected to ::closure 2016-01-02 14:27:22 -05:00
Paul Beckingham
679f094f16 LR0: Added ::getExpectations 2016-01-02 14:16:11 -05:00
Paul Beckingham
d8096d2fa8 LR0: Added Item::next 2016-01-02 14:09:13 -05:00
Paul Beckingham
29130e9d4c LR0: Added ::Item::done 2016-01-02 13:54:11 -05:00
Paul Beckingham
fbcb79006e LR0: ::getClosure now takes a Closure and returns a Closure 2016-01-02 11:16:34 -05:00
Paul Beckingham
f353e86a27 LR0: Stubbed ::getExpectations 2016-01-02 11:15:32 -05:00
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