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