* LiteralSet is an optimised version of the Union of a collection of Literal parsers.
* Minor SutureCompacter improvement + bugfix. (Name: Parsing-Derivatives-fbs.11
Author: fbs
Time: 6 February 2013, 5:21:09.674 pm
UUID: 29b7bd15-3312-4153-ac29-214c9ce7f08b
Ancestors: Parsing-Derivatives-fbs.10)
* LiteralSet is an optimised version of the Union of a collection of Literal parsers.
* Minor SutureCompacter improvement + bugfix. (Name: Parsing-Derivatives-fbs.11
Author: fbs
Time: 6 February 2013, 5:21:09.674 pm
UUID: 29b7bd15-3312-4153-ac29-214c9ce7f08b
Ancestors: Parsing-Derivatives-fbs.10)
* The suture idea, while technically elegant, is impossibly slow: 6 ms per compaction is just too high a price to pay.
* XTPositionTrackingStream tracks column/line numbers.
* Empty parsers now contain their reason for existence: what did we expect to find on the stream, and what did we actually find? This allows an Empty to be able to say 'Expected one of <1, 2>, found a <3>' or similar.
* Red -> Empty => Empty compaction
* Star -> Empty -> Empty compaction
* #reduce: is a bit smarter: anEmpty reduce: #anything returns anEmpty.
* #isEmptyParser returns true if the parser is an Empty. This is NOT the same as #isEmpty, which uses a fixpoint calculation to find out if the parser can parse anything.
* As a result, p or: anEmpty returns p. (Name: Parsing-Derivatives-fbs.12
Author: fbs
Time: 21 February 2013, 8:46:49.721 am
UUID: 249df0c7-001c-48c2-a046-e25a08421815
Ancestors: Parsing-Derivatives-fbs.11)