home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.ee.pdx.edu
/
2014.02.ftp.ee.pdx.edu.tar
/
ftp.ee.pdx.edu
/
pub
/
users
/
Harry
/
compilers
/
yapp
/
lexer.h
< prev
next >
Wrap
C/C++ Source or Header
|
2003-05-23
|
1KB
|
36 lines
/* lexer.h
**
** Header file for the PCAT Lexer.
**
** Harry Porter, 10/8/98.
*/
enum { ID=257, INTEGER, REAL, STRING, ASSIGN, LEQ, GEQ, NEQ, LBAG,
RBAG, AND, ARRAY, BEGIN, BY, DIV, DO, ELSE, ELSEIF, END, EXIT,
FOR, IF, IS, LOOP, MOD, NOT, OF, OR, PROCEDURE, PROGRAM, READ,
RECORD, RETURN, THEN, TO, TYPE, VAR, WHILE, WRITE, EOFSYMBOL };
enum { SY_E=1, SY_T, SY_F, SY_LPAREN, SY_RPAREN, SY_PLUS, SY_MULT,
SY_ID, SY_EOF, SY_E2, SY_T2,
NT_STMT, NT_VARDECL,
NT_TYPEDECL, NT_PROCDECL, NT_IDLIST, NT_OPTIONALTYPE, NT_EXPR,
NT_TYPE, NT_COMPONENTS, NT_COMPONENT, NT_FORMALPARAMS,
NT_FPSECTIONS, NT_FPSECTION, NT_LVALUES, NT_LVALUE, NT_ACTUALPARAMS,
NT_ACTUALS, NT_WRITEPARAMS, NT_WRITEEXPRS, NT_WRITEEXPR,
NT_ELSEIFS, NT_OPTIONALELSE, NT_OPTIONALBY, NT_OPTIONALEXPR,
NT_UNARYOP, NT_BINARYOP2, NT_COMPVALUES, NT_MORECOMPVALUES };
/* skipping over some values, since 41 = '(', 42 = '*', etc. */
enum { NT_ARRAYVALUES=97, NT_MOREARRAYVALUES, NT_ARRAYVALUE,
NT_MOREEXPR2, NT_MOREEXPR3, NT_MOREEXPR4, NT_BINARYOP3, NT_BINARYOP4,
NT_EXPR2, NT_EXPR3, NT_EXPR4, NT_EXPR5,
NT_PROGRAM, NT_BODY, NT_DECLS, NT_STMTS, NT_VARDECLS,
NT_TYPEDECLS, NT_PROCDECLS, NT_DECL,
SY_BEXPR, SY_BTERM, SY_BFACTOR, SY_TRUE, SY_FALSE };
enum { SY_A=65, SY_a, SY_b, SY_S };
extern union tokenValue {
char * svalue;
int ivalue;
double rvalue;
} tokenValue;