PEG parser written in Fantom
Fantom
Permalink
Failed to load latest commit information.
docs Bring docs to order (EZ-798) Jul 25, 2016
examples Match refactored. Aug 14, 2011
src Nested properties support May 8, 2015
.gitignore Add byteRange field to Block Mar 10, 2014
Changelog Off-sdie rule Jun 16, 2014
LICENSE Add license (EPL) Jan 29, 2014
README.md Bring docs to order (EZ-798) Jul 25, 2016

README.md

The implementation of PEG parser in Fantom.

The main resources about PEG:

Also some docs are available in the docs directory:

  • Extensions to the original PEG this parser recognizes
  • Grammar writing tips
  • Grammar examples

This parser is licensed under EPL.

Special feature of this parser is that it allows to parse really big files, even if the file and/or the parsed tree wouldn't fit into RAM.

Another feature is that it is incremental: you can parse a part of a text, then stop it and parse the rest of the text afterwards. It saves time in situations, when you're getting the text slowly, because it allows to start parsing very early instead of waiting for the full text.

Meta grammar is not hardcoded and can be changed using the parser's API (only PEG expressions are hardcoded). This means, that you can modify/extend the grammar relatively easily, without patching the parser itself.