X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=expr.h;h=ad83d2807d67eca0827dca5bb504e7a2258b85ee;hp=05bf918e35c9d6982c391fc2a4f94e984a6ab12d;hb=062214e62031c26d372edc2e68473ebb64f6a506;hpb=d28f432296e812643e236d1bfc9b556a7b11c461 diff --git a/expr.h b/expr.h index 05bf918..ad83d28 100644 --- a/expr.h +++ b/expr.h @@ -1,9 +1,10 @@ -//////////////////////////////////////////////////////////////////////////////////////////////////// +// // RMAC - Reboot's Macro Assembler for the Atari Jaguar Console System // EXPR.H - Expression Analyzer // Copyright (C) 199x Landon Dyer, 2011 Reboot and Friends // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986 // Source Utilised with the Kind Permission of Landon Dyer +// #ifndef __EXPR_H__ #define __EXPR_H__ @@ -11,29 +12,29 @@ #include "rmac.h" // Tunable definitions -#define STKSIZE 64 // Size of expression stacks -#define EVSTACKSIZE 64 // Expression evaluator stack size +#define STKSIZE 64 // Size of expression stacks +#define EVSTACKSIZE 64 // Expression evaluator stack size // Token classes in order of precedence -#define END 0 // End/beginning of input -#define ID 1 // Symbol or constant -#define OPAR 2 // ( -#define CPAR 3 // ) -#define SUNARY 4 // Special unary (^^defined, etc.) -#define UNARY 5 // Unary class: ! ~ - -#define MULT 6 // Multiplicative class: * / % -#define ADD 7 // Additive class: + - -#define SHIFT 8 // Shift class: << >> -#define REL 9 // Relational class: <= >= < > <> = != -#define AND 10 // Bitwise and: & -#define XOR 11 // Bitwise xor: ^ -#define OR 12 // Bitwise or: | +#define END 0 // End/beginning of input +#define ID 1 // Symbol or constant +#define OPAR 2 // ( +#define CPAR 3 // ) +#define SUNARY 4 // Special unary (^^defined, etc.) +#define UNARY 5 // Unary class: ! ~ - +#define MULT 6 // Multiplicative class: * / % +#define ADD 7 // Additive class: + - +#define SHIFT 8 // Shift class: << >> +#define REL 9 // Relational class: <= >= < > <> = != +#define AND 10 // Bitwise and: & +#define XOR 11 // Bitwise xor: ^ +#define OR 12 // Bitwise or: | // Prototypes -void init_expr(void); +void InitExpression(void); int expr1(void); int expr2(void); int expr(TOKEN *, VALUE *, WORD *, SYM **); int evexpr(TOKEN *, VALUE *, WORD *, SYM **); -#endif // __EXPR_H__ \ No newline at end of file +#endif // __EXPR_H__