X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=token.h;h=1deec2c96d922e8901df746f9c76ece4a6c0fc98;hp=501f1eaaca237be8c6dfec97c230c6bccbba4789;hb=60f204cb9e3905100da0d89f14bb40db764acd9e;hpb=d0c28c349ddfb8393568037f68bddbe8979ce0df diff --git a/token.h b/token.h index 501f1ea..1deec2c 100644 --- a/token.h +++ b/token.h @@ -1,7 +1,7 @@ // // RMAC - Reboot's Macro Assembler for the Atari Jaguar Console System // TOKEN.H - Token Handling -// Copyright (C) 199x Landon Dyer, 2011 Reboot and Friends +// Copyright (C) 199x Landon Dyer, 2017 Reboot and Friends // RMAC derived from MADMAC v1.07 Written by Landon Dyer, 1986 // Source utilised with the kind permission of Landon Dyer // @@ -43,17 +43,17 @@ #define SET 149 // Set #define REG 'R' // Reg #define DCOLON 'h' // :: -#define GE 'i' // >= -#define LE 'j' // <= -#define NE 'k' // <> or != -#define SHR 'l' // >> -#define SHL 'm' // << -#define UNMINUS 'n' // Unary '-' -#define DOTB 'B' // .b or .B or .s or .S -#define DOTW 'W' // .w or .W -#define DOTL 'L' // .l or .L -#define DOTI 'I' // .l or .L -#define ENDEXPR 'E' // End of expression +#define GE 'i' // >= +#define LE 'j' // <= +#define NE 'k' // <> or != +#define SHR 'l' // >> +#define SHL 'm' // << +#define UNMINUS 'n' // Unary '-' +#define DOTB 'B' // .b or .B or .s or .S +#define DOTW 'W' // .w or .W +#define DOTL 'L' // .l or .L +#define DOTI 'I' // .l or .L +#define ENDEXPR 'E' // End of expression // ^^ operators #define CR_DEFINED 'p' // ^^defined - is symbol defined? @@ -62,6 +62,7 @@ #define CR_MACDEF 'w' // ^^macdef - is macro defined? #define CR_TIME 'x' // ^^time - DOS format time #define CR_DATE 'y' // ^^date - DOS format date +#define CR_ABSCOUNT 'z' // ^^abscount - count the number of bytes defined in curent .abs section // Character Attributes #define ILLEG 0 // Illegal character (unused) @@ -103,7 +104,7 @@ IFILE { char * ifoldfname; // Old file's name int ifoldlineno; // Old line number int ifind; // Position in file buffer - int ifcnt; // #chars left in file buffer + int ifcnt; // #chars left in file buffer int ifhandle; // File's descriptor WORD ifno; // File number char ifbuf[LNBUFSIZ]; // Line buffer @@ -111,8 +112,8 @@ IFILE { #define TOKENSTREAM struct _tokenstream TOKENSTREAM { - TOKEN token[10]; // 10 ought to be enough for anybody - char * string[10]; // same for attached strings + TOKEN token[32]; // 32 ought to be enough for anybody (including XiA!) + char * string[32]; // same for attached strings }; // Information about a macro invocation @@ -136,7 +137,7 @@ IREPT { VALUE ir_count; // Repeat count (decrements) }; -// Globals, externals etc +// Exported variables extern int lnsave; extern int curlineno; extern char * curfname; @@ -152,7 +153,7 @@ extern LONG sloc; extern int mjump_align; extern char * string[]; -// Prototypes +// Exported functions int include(int, char *); void InitTokenizer(void); void SetFilenameForErrorReporting(void);