User:OrenBochman/ParserNG/WikiTable

Status

 * This is a lexer + a parser.
 * Tested against the examples in table.
 * A tree grammar or a string template could be used to transform into XHTM etc.
 * Does not support full unicode to simplify development - but the string could be changed with minimal impact.

Problems
The speck has a recognizer nondeterminism


 * 1) Antlr is unabile to decide which path to take when meeting a HEAD_START symbol since it could belong to
 * In the optional header.
 * There is no optional header but the body starts with a header. (this is a mistake)
 * This is a warning and option #2 is discarded . How could this nondeterminsm be removed ?
 * adding a variable with a table wide scope
 * use it in a predicate on the optional header
 * add an action after the optional header to flip it


 * Antlr complains that the first non-header cell might belong
 * In the (optional) first row, i.e. the one without a |- indicator.
 * In the optional other rows after.

Table in Table Test
{| cellspacing="0" border="1" !style="width:50%"|You type !style="width:50%"|You get




 * }