I have successfully parsed my first nested table. It's 3 in the
morning but I'm quite happy :)
One of the really complicated bits about the nested table syntax is
that the contents of multi-line cells looks exactly like normal text
(with lists, headers, tables and so forth) except that each row can't
begin with a pipe. I tried at least 4 different ways of implementing
that rule (my practical ANTLR knowledge is still pretty weak), and
finally this simple method worked:
nonpipeline:
(table) => table^
| (headerline) => headerline^
| (listmarker) => listline^
| (hrline) => hrline^
| (spaceline) => spaceline^
| (nonpipe paragraph?)^ ;
It's a complete duplicate of the normal "line" rule, except with the
addition of "nonpipe" before the paragraph.
Anyway, now it's onto the next round of "yes, the grammar works, now
to stop ANTLR spewing 5000 warnings at me".
Steve