Skip to content
Chris Leishman edited this page May 23, 2016 · 12 revisions
Add documentation to AST constructors

Many of the AST constructors do not currently have doxygen comments to provide documentation. Adding these is a straightforward, tedious task, and very helpful task. I.e.

Add accessor methods for AST nodes

Many of the AST nodes do not currently have functions exposed for accessing their attributes (e.g. like the CYPHER_AST_COLLECTION node does). This is also a very easy task, although a little tedious.

Pretty printing

What good is a full AST, containing all the information needed to render out (including comment nodes), if there isn't an easy way to create a pretty rendering?

Semantic checking of ASTs

To provide much more interesting linting of cypher statements, it is necessary to add a complete semantic checking feature, which would take a parsed AST and evaluate a variety of semantic rules against it, including type checking.

Add tests for parsing

There are very few automated tests covering parsing of the Cypher grammar, and adding more would be a wonderful contribution. See as an example, although it may be helpful to assert on an AST rendering to a memstream, instead of checking each node separately.

Improvements to leg

leg is a great tool, but has many shortcomings that had to be worked around. There are many improvements that could be made to leg, which would simplify the libcypher-parser implementation and provide performance advantages. These include:

Clone this wiki locally
You can’t perform that action at this time.