X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=expr.h;h=6ebbe673305ffb17e573fc5a476686a63cd8f017;hp=c8c1e85d7ae823bbc268a668c6865811d74568d9;hb=f3c7d186a15b89c39e360b9cc89545a0d24bd6a4;hpb=49cce96fba11282e4244187f15be418d5ae5bb8d diff --git a/expr.h b/expr.h index c8c1e85..6ebbe67 100644 --- a/expr.h +++ b/expr.h @@ -1,9 +1,9 @@ // -// RMAC - Reboot's Macro Assembler for the Atari Jaguar Console System +// RMAC - Reboot's Macro Assembler for all Atari computers // EXPR.H - Expression Analyzer -// Copyright (C) 199x Landon Dyer, 2011 Reboot and Friends +// Copyright (C) 199x Landon Dyer, 2011-2017 Reboot and Friends // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986 -// Source Utilised with the Kind Permission of Landon Dyer +// Source utilised with the kind permission of Landon Dyer // #ifndef __EXPR_H__ @@ -12,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); +// Exported functions +void InitExpression(void); int expr1(void); int expr2(void); -int expr(TOKEN *, VALUE *, WORD *, SYM **); -int evexpr(TOKEN *, VALUE *, WORD *, SYM **); +int expr(TOKENPTR, uint64_t *, WORD *, SYM **); +int evexpr(TOKENPTR, uint64_t *, WORD *, SYM **); #endif // __EXPR_H__