Athens Block Parser Documentation
The EBNF syntax of instaparse (the parsing library Athens uses) meant that if we need to increase the performance of the Athens block parser, the readability and extensibility must be reduced in favor of a less recursive parsing process.
Therefore, this document is created in order to provide a handy reference for future parser updates and extensions.
Reserved Characters
We try to imitate a state machine in the parsing process, so we check for every reserved charater and use them to stop the current "any-chars" evaluation. For a list of reserved characters, please see the parser.cljc
file within src/cljc/athens
.
See Also
Last updated