USG_PG3/usr/source/lil/tabl.l
#include 'com'
"x = prev + SYMSIZE";
". = .data";
"extern _dot, _sptop";
_dot{ ". + 2"; } % -> first entry
DEFF ||| MEM; 0; 0; 2; NULL; '.\0\0\0\0\0\0\0';
DEFF ||| OP; RTS; 0; 2; ".-x"; 'rts\0\0\0\0\0';
DEFF ||| OP; JSR; 0; 2; ".-x"; 'jsr\0\0\0\0\0';
DEFF ||| OP; SYS; 0; 2; ".-x"; 'sys\0\0\0\0\0';
"DEFF | CRSF" ||| OP; SIZE; 0; 2; ".-x"; 'sizeof\0\0';
"DEFF | CRSF" ||| OP; CAT; 0; 2; ".-x"; '^^^\0\0\0\0\0';
DEFF ||| OP; REGOP; 0; 2; ".-x"; 'reg\0\0\0\0\0';
DEFF ||| OP; MEMOP; 0; 2; ".-x"; 'mem\0\0\0\0\0';
DEFF ||| OP; BYTE; 0; 2; ".-x"; 'byte\0\0\0\0';
DEFF ||| OP; WORD; 0; 2; ".-x"; 'word\0\0\0\0';
DEFF ||| DECL; GLOBAL; 0; 2; ".-x"; 'extern\0\0';
DEFF ||| DECL; LOCAL; 0; 2; ".-x"; 'local\0\0\0';
DEFF ||| KOND; FALSE; 0; 2; ".-x"; 'false\0\0\0';
DEFF ||| KOND; TRUE; 0; 2; ".-x"; 'true\0\0\0\0';
DEFF ||| KOND; N; 0; 2; ".-x"; 'minus\0\0\0';
DEFF ||| KOND; Z; 0; 2; ".-x"; 'zero\0\0\0\0';
DEFF ||| KOND; V; 0; 2; ".-x"; 'oflow\0\0\0';
DEFF ||| KOND; C; 0; 2; ".-x"; 'carry\0\0\0';
DEFF ||| OP; DIVIDE; 0; 2; ".-x"; '/\0\0\0\0\0\0\0';
DEFF ||| OP; TIMES; 0; 2; ".-x"; '*\0\0\0\0\0\0\0';
DEFF ||| OP; TESTAND; 0; 2; ".-x"; '?&\0\0\0\0\0\0';
DEFF ||| OP; TEST; 0; 2; ".-x"; '?\0\0\0\0\0\0\0';
DEFF ||| OP; GETSMI; 0; 2; ".-x"; '=-\0\0\0\0\0\0';
DEFF ||| OP; GETSNOT; 0; 2; ".-x"; '=!\0\0\0\0\0\0';
DEFF ||| OP; DSHIFT; 0; 2; ".-x"; '***\0\0\0\0\0';
DEFF ||| OP; SROTATE; 0; 2; ".-x"; '<*>\0\0\0\0\0';
DEFF ||| OP; SHIFT; 0; 2; ".-x"; '**\0\0\0\0\0\0';
DEFF ||| OP; ROTATE; 0; 2; ".-x"; '<>\0\0\0\0\0\0';
DEFF ||| OP; XOR; 0; 2; ".-x"; '!!\0\0\0\0\0\0';
DEFF ||| OP; ANDNOT; 0; 2; ".-x"; '&!\0\0\0\0\0\0';
DEFF ||| ROP; LOS; 0; 2; ".-x"; '<<=\0\0\0\0\0';
DEFF ||| ROP; LO; 0; 2; ".-x"; '<<\0\0\0\0\0\0';
DEFF ||| ROP; HIS; 0; 2; ".-x"; '>>=\0\0\0\0\0';
DEFF ||| ROP; HI; 0; 2; ".-x"; '>>\0\0\0\0\0\0';
DEFF ||| ROP; LE; 0; 2; ".-x"; '<=\0\0\0\0\0\0';
DEFF ||| ROP; LT; 0; 2; ".-x"; '<\0\0\0\0\0\0\0';
DEFF ||| ROP; EQ; 0; 2; ".-x"; '==\0\0\0\0\0\0';
DEFF ||| ROP; NE; 0; 2; ".-x"; '!=\0\0\0\0\0\0';
DEFF ||| ROP; GT; 0; 2; ".-x"; '>\0\0\0\0\0\0\0';
DEFF ||| ROP; GE; 0; 2; ".-x"; '>=\0\0\0\0\0\0';
DEFF ||| OP; AND; 0; 2; ".-x"; '&\0\0\0\0\0\0\0';
DEFF ||| OP; OR; 0; 2; ".-x"; '^\0\0\0\0\0\0\0';
DEFF ||| ANDOP; AND; 0; 2; ".-x"; '&&\0\0\0\0\0\0';
DEFF ||| OROP; OR; 0; 2; ".-x"; '^^\0\0\0\0\0\0';
DEFF ||| CON; FALSE; 0; 2; ".-x"; '.temp\0\0\0';
DEFF ||| GOTO; TRUE; 0; 2; ".-x"; 'goto\0\0\0\0';
DEFF ||| IF; 0; 0; 2; ".-x"; 'if\0\0\0\0\0\0';
DEFF ||| ELSE; 0; 0; 2; ".-x"; 'else\0\0\0\0';
DEFF ||| WHILE; 0; 0; 2; ".-x"; 'while\0\0\0';
DEFF ||| DO; 0; 0; 2; ".-x"; 'do\0\0\0\0\0\0';
DEFF ||| BREAK; TRUE; 0; 2; ".-x"; 'break\0\0\0';
"DEFF | BYTF" ||| BREAK; TRUE; 0; 2; ".-x"; 'continue';
DEFF ||| POP; 0; 0; 2; ".-x"; '++\0\0\0\0\0\0';
DEFF ||| OP; PUSH; 0; 2; ".-x"; '--\0\0\0\0\0\0';
DEFF ||| OP; NOT; 0; 2; ".-x"; '!\0\0\0\0\0\0\0';
DEFF ||| OP; MINUS; 0; 2; ".-x"; '-\0\0\0\0\0\0\0';
DEFF ||| OP; PLUS; 0; 2; ".-x"; '+\0\0\0\0\0\0\0';
DEFF ||| OP; GOESTO; 0; 2; ".-x"; '->\0\0\0\0\0\0';
DEFF ||| OP; GETS; 0; 2; ".-x"; '=\0\0\0\0\0\0\0';
DEFF ||| REG; 7; 0; 2; ".-x"; 'pc\0\0\0\0\0\0';
DEFF ||| REG; 6; 0; 2; ".-x"; 'sp\0\0\0\0\0\0';
DEFF ||| REG; 5; 0; 2; ".-x"; 'r5\0\0\0\0\0\0';
DEFF ||| REG; 4; 0; 2; ".-x"; 'r4\0\0\0\0\0\0';
DEFF ||| REG; 3; 0; 2; ".-x"; 'r3\0\0\0\0\0\0';
DEFF ||| REG; 2; 0; 2; ".-x"; 'r2\0\0\0\0\0\0';
DEFF ||| REG; 1; 0; 2; ".-x"; 'r1\0\0\0\0\0\0';
DEFF ||| REG; 0; 0; 2; ".-x"; 'r0\0\0\0\0\0\0';
_sptop{ ". - SYMSIZE"; } % current top of table