ING_DB
This commit is contained in:
parent
f9ff36b825
commit
9322ee6870
|
|
@ -0,0 +1,211 @@
|
|||
/*
|
||||
** --- RC_TAB.Y -------- SCANNER TABLES -------------------------------------
|
||||
**
|
||||
** SCANNER KEYWORD AND OPERATOR TABLES
|
||||
**
|
||||
** Keywords, Tokens, and Opcode tuples are included
|
||||
** in this file the keyword table MUST be in sorted
|
||||
** order. The operator table does not need to be
|
||||
** sorted.
|
||||
**
|
||||
** Version: @(#)rc_tab.y 4.0 02/05/89
|
||||
**
|
||||
*/
|
||||
|
||||
|
||||
OPTAB Keyword[] =
|
||||
{
|
||||
/* term token opcode
|
||||
** -------------------------------------- */
|
||||
"all", ALL, 0,
|
||||
"and", LBOP, (int) rcAND,
|
||||
"as", AS, 0,
|
||||
"batch", BATCH, 0,
|
||||
"batchline", EXCEPTION, (int) onBATCH,
|
||||
"before", BEFORE, 0,
|
||||
"big", BIG, 0,
|
||||
"bit", FORMAT, (int) fmtB_BIT,
|
||||
"byte", BYTE, 0,
|
||||
"call", CALL, 0,
|
||||
"case", CASE, 0,
|
||||
"char", F_CHAR, CHAR,
|
||||
"clear", CLEAR, 0,
|
||||
"col", COL, 0,
|
||||
"column", COLUMN, 0,
|
||||
"columns", COLUMN, 0,
|
||||
"complement", COMPLEMENT, 0,
|
||||
"date", DATE, (int) rcDATE,
|
||||
"day", SYS_CONST, M_DAY,
|
||||
"dec", FORMAT, (int) fmtB_DEC,
|
||||
"default", OUT, 0,
|
||||
"define", DEFINE, 0,
|
||||
"do", DO, 0,
|
||||
"else", ELSE, 0,
|
||||
"end", END, 0,
|
||||
"enda", ENDA, 0,
|
||||
"endc", ENDC, 0,
|
||||
"endi", ENDI, 0,
|
||||
"endo", ENDO, 0,
|
||||
"endr", ENDR, 0,
|
||||
"endw", ENDW, 0,
|
||||
"exp", EXP, 0,
|
||||
"false", BCONST, (int) pushFALSE,
|
||||
"for", FOR, 0,
|
||||
"from", FROM_TO, 0,
|
||||
"graphic", GRAPHIC, 0,
|
||||
"groupbegin", GROUPBEGIN, 0,
|
||||
"groupend", GROUPEND, 0,
|
||||
"hex", FORMAT, (int) fmtB_HEX,
|
||||
"hour", SYS_CONST, HOUR,
|
||||
"if", IF, 0,
|
||||
"ignore", IGNORE, 0,
|
||||
"in", IN, 0,
|
||||
"integer", INTEGER, INT,
|
||||
"is_dst", SYS_CONST, IS_DST,
|
||||
"last", DOMAIN, (int) pushLAST,
|
||||
"length", LENGTH, 0,
|
||||
"line", LINE, 0,
|
||||
"linebegin", EXCEPTION, (int) onB_LINE,
|
||||
"lineend", EXCEPTION, (int) onE_LINE,
|
||||
"lines", LINE, 0,
|
||||
"m_day", SYS_CONST, M_DAY,
|
||||
"minute", SYS_CONST, MINUTE,
|
||||
"mod", ABOP, (int) rcMOD,
|
||||
"month", SYS_CONST, MONTH,
|
||||
"new", NEW, 0,
|
||||
"next", DOMAIN, (int) pushNEXT,
|
||||
"norm", NORM, 0,
|
||||
"not", LUOP, (int) rcNOT,
|
||||
"null", ICONST, 0,
|
||||
"oct", FORMAT, (int) fmtB_OCT,
|
||||
"on", ON, 0,
|
||||
"one", ONE, 0,
|
||||
"or", LBOP, (int) rcOR,
|
||||
"out", OUT, 0,
|
||||
"page", PAGE, 0,
|
||||
"pagebegin", EXCEPTION, (int) onB_PAGE,
|
||||
"pageend", EXCEPTION, (int) onE_PAGE,
|
||||
"pic", PIC, 0,
|
||||
"point", POINT, 0,
|
||||
"proc", PROC, 0,
|
||||
"real", REAL, FLOAT,
|
||||
"repeat", REPEAT, 0,
|
||||
"report", REPORT, 0,
|
||||
"return", RETURN, 0,
|
||||
"scale", SCALE, 0,
|
||||
"second", SYS_CONST, SECOND,
|
||||
"set", SET, 0,
|
||||
"space", SPACE, 0,
|
||||
"switch", SWITCH, 0,
|
||||
"terminal", TERMINAL, 0,
|
||||
"then", THEN, 0,
|
||||
"time", DATE, (int) rcTIME,
|
||||
"to", FROM_TO, 1,
|
||||
"true", BCONST, (int) pushTRUE,
|
||||
"tuple", TUPLE, 0,
|
||||
"value", DOMAIN, (int) pushVALUE,
|
||||
"var", NVAR, 0,
|
||||
"w_day", SYS_CONST, W_DAY,
|
||||
"while", WHILE, 0,
|
||||
"with", WITH, 0,
|
||||
"word", WORD, 0,
|
||||
"y_day", SYS_CONST, Y_DAY,
|
||||
"year", SYS_CONST, YEAR
|
||||
/* -------------------------------------- */
|
||||
};
|
||||
int Keyent = sizeof Keyword / sizeof Keyword[0];
|
||||
|
||||
OPTAB Optab[] =
|
||||
{
|
||||
/* PUNCTUATION
|
||||
** --------------------------------------
|
||||
** term token opcode
|
||||
** -------------------------------------- */
|
||||
";", SEMICOL, 0,
|
||||
"(", LPAREN, 0,
|
||||
")", RPAREN, 0,
|
||||
"'", SCONST, 0,
|
||||
"\"", SCONST, 0,
|
||||
"\/\*", BGNCMNT, 0,
|
||||
"\*\/", ENDCMNT, 0,
|
||||
"#", DOMAIN, (int) pushVALUE,
|
||||
"$", NVAR, 0,
|
||||
"^", SWITCH, 0,
|
||||
"@", LENGTH, 0,
|
||||
"\\", COL, 0,
|
||||
"\\\\", SPACE, 0,
|
||||
"\\n", NEWLINE, 0,
|
||||
"\\f", NEWPAGE, 0,
|
||||
/* --------------------------------------
|
||||
**
|
||||
** --------------------------------------
|
||||
** term token opcode
|
||||
** -------------------------------------- */
|
||||
"+", AUOP, (int) rcADD,
|
||||
"-", AUOP, (int) rcMIN,
|
||||
"!", LUOP, (int) rcNOT,
|
||||
/* --------------------------------------
|
||||
**
|
||||
** BINARY ARITHMETIC / LOGICAL OPERATORS
|
||||
** --------------------------------------
|
||||
** term token opcode
|
||||
** -------------------------------------- */
|
||||
"*", ABOP, (int) rcMUL,
|
||||
":", ABOP, (int) rcDIV,
|
||||
"/", ABOP, (int) rcDIV_R,
|
||||
"%", ABOP, (int) rcMOD,
|
||||
"&", LBOP, (int) rcAND,
|
||||
"&&", LBOP, (int) rcAND,
|
||||
"|", LBOP, (int) rcOR,
|
||||
"||", LBOP, (int) rcOR,
|
||||
/* --------------------------------------
|
||||
**
|
||||
** BINARY ASSIGNMENT OPERATORS
|
||||
** --------------------------------------
|
||||
** term token opcode
|
||||
** -------------------------------------- */
|
||||
"+=", ABIS, (int) rcADD,
|
||||
"-=", ABIS, (int) rcSUB,
|
||||
"*=", ABIS, (int) rcMUL,
|
||||
":=", ABIS, (int) rcDIV,
|
||||
"/=", ABIS, (int) rcDIV_R,
|
||||
"%=", ABIS, (int) rcMOD,
|
||||
/* --------------------------------------
|
||||
**
|
||||
** BOUNDS OPERATORS
|
||||
** --------------------------------------
|
||||
** term token opcode
|
||||
** -------------------------------------- */
|
||||
">", BDOP, (int) bdGT,
|
||||
">=", BDOP, (int) bdGE,
|
||||
"<", BDOP, (int) bdLT,
|
||||
"<=", BDOP, (int) bdLE,
|
||||
/* --------------------------------------
|
||||
**
|
||||
** EQUALITY OPERATORS
|
||||
** --------------------------------------
|
||||
** term token opcode
|
||||
** -------------------------------------- */
|
||||
"=", IS, (int) bdEQ,
|
||||
"==", IS, (int) bdEQ,
|
||||
"<>", EOP, (int) bdNE,
|
||||
"!=", EOP, (int) bdNE,
|
||||
/* -------------------------------------- */
|
||||
0
|
||||
};
|
||||
|
||||
/*
|
||||
** Tokens
|
||||
** A structur initialized here to contain the YACC
|
||||
** generated tokens for the indicated terminal symbols.
|
||||
*/
|
||||
struct special Tokens =
|
||||
{
|
||||
/* name = */ NAME,
|
||||
/* sconst = */ SCONST,
|
||||
/* bgncmnt = */ BGNCMNT,
|
||||
/* endcmnt = */ ENDCMNT,
|
||||
/* iconst = */ ICONST,
|
||||
/* lconst = */ LCONST,
|
||||
/* rconst = */ RCONST
|
||||
};
|
||||
Loading…
Reference in New Issue