Just my two cents on this, when coding https://forum.johnnydecimal.com/t/scheme-module-for-johnny-decimal/ I created a grammar to gather data from an index file. The grammar is defined in the jd.meta
module and roughly works as below:
AC Title
AC.ID Label
| Short description in one line only
| Long description
| that may span
| multiple lines
I don’t support projects (as in PRO.AC.ID
) right now, but that could be easily implemented. Also, contrarily to the guidelines the AC
headers are just multiples of 10, never X0-X9
.
Technically speaking, this grammar is indent-based, thus context dependant, but an easy trick when preprocessing the index file make it context-independent thus easy to parse.