X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=token.h;h=e20402bfd59db523f888ba41ad9a241c1e173f5d;hp=1d824a905966bde12b0b8b7036c6e77e4ac37215;hb=66b362fa203d0850e8dce8045adb454e354c22ce;hpb=f7f625cf6c2f4b96854ac0e911ca2b1c249f4e05 diff --git a/token.h b/token.h index 1d824a9..e20402b 100644 --- a/token.h +++ b/token.h @@ -1,7 +1,7 @@ // // RMAC - Reboot's Macro Assembler for all Atari computers // TOKEN.H - Token Handling -// Copyright (C) 199x Landon Dyer, 2011-2017 Reboot and Friends +// Copyright (C) 199x Landon Dyer, 2011-2018 Reboot and Friends // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986 // Source utilised with the kind permission of Landon Dyer // @@ -34,6 +34,7 @@ // (Normally) non-printable tokens #define COLON ':' // : (grumble: GNUmacs hates ':') #define CONST 'a' // CONST +#define FCONST 'r' // Floating CONST #define ACONST 'A' // ACONST #define STRING 'b' // STRING
#define STRINGA8 'S' // Atari 800 internal STRING
@@ -84,6 +85,9 @@ #define MULTX 64 // Multiple-character tokens #define DOT 128 // [bwlsBWSL] for what follows a '.' +// Macro to check for specific optimizations or override +#define CHECK_OPTS(x) (optim_flags[x] && !optimizeOff) + // Conditional assembly structures IFENT { IFENT * if_prev; // Ptr prev .if state block (or NULL) @@ -141,7 +145,8 @@ IMACRO { IREPT { LLIST * ir_firstln; // Pointer to first line LLIST * ir_nextln; // Pointer to next line - VALUE ir_count; // Repeat count (decrements) + uint32_t ir_count; // Repeat count (decrements) + uint32_t lineno; // Repeat line number (Convert this to global instead of putting it here?) }; // Exported variables @@ -156,6 +161,7 @@ extern char tolowertab[]; extern INOBJ * cur_inobj; extern int mjump_align; extern char * string[]; +extern int optimizeOff; // Exported functions int include(int, char *); @@ -165,6 +171,7 @@ int TokenizeLine(void); int fpop(void); int d_goto(WORD); INOBJ * a_inobj(int); +void DumpToken(TOKEN); void DumpTokenBuffer(void); #endif // __TOKEN_H__