; Manual translation of (most of) meta5ix.m5 to bootstrap it. ; This version is out of date and can neither parse the current ; meta5ix.m5 nor run on the current meta5ixrun.py. program x0 literal "-" else x1 name assert dedent copyinput writeline literal ":" assert call terms assert say "return" writeline x1 continue x2 literal "#" else x2 line x2 continue x0 return terms call term else x3 x4 literal "," else x5 say "continue" gen x writeline assert call term x5 continue x4 ; I forgot this part! Until the compiler reminded me: assert dedent gen x writeline x3 return term call factor else x6 say "else" gen x writeline x6 continue x7 call output x7 x8 call factor else x9 say "assert" writeline x9 continue x10 call output x10 continue x8 dedent gen x writeline return factor string else x11 say "literal" copyinput writeline x11 continue x12 literal "name" continue x14 ; I omitted "number" here on purpose to have less to ; debug and write. Same with "y" later. literal "string" continue x14 literal "line" x14 else x15 copyinput writeline x15 continue x12 literal "(" else x16 call terms assert literal ")" assert x16 continue x12 literal "[" else x17 dedent gen x writeline call terms assert say "continue" gen x writeline literal "]" assert x17 continue x12 name else x18 say "call" copyinput writeline x18 x12 return output literal "{" else x19 x20 call word continue x20 assert literal "}" assert x19 continue x21 literal "@" else x22 say "dedent" writeline call word assert x22 x21 else x23 say "writeline" writeline x23 return word literal "x" else x24 say "gen" copyinput writeline x24 continue x25 literal "it" else x26 say "copyinput" writeline x26 continue x25 string else x25 say "say" copyinput writeline x25 return