-*- mode: org -*- * grammar drawing → row* row → repeat chunk+ ";" repeat → INTEGER chunk → INTEGER CHAR * grammar, refactored drawing → row drawing | ε row → repeat chunks ";" chunks → chunk chunks | ε repeat → INTEGER chunk → INTEGER CHAR * first chunk → INTEGER repeat → INTEGER chunks → INTEGER, ε row → INTEGER drawing → INTEGER, ε * follow drawing → $ row → INTEGER, $ chunks → ';' repeat → INTEGER, ';' chunk → INTEGER, ';' * table INTEGER STRING ; $ drawing → row drawing --- --- → ε row → repeat chunks ";" --- --- --- chunks → chunk chunks --- → ε --- repeat → INTEGER --- --- --- chunk → INTEGER CHAR --- --- --- * grammar, refactored drawing → row drawing | MAKE-drawing row → repeat chunks ";" MAKE-row chunks → chunk chunks | ε repeat → INTEGER MAKE-repeat chunk → INTEGER CHAR MAKE-chunk