X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=token.h;h=58ffc0a1e79623ed2f3f59149bec26c14e67e836;hp=1deec2c96d922e8901df746f9c76ece4a6c0fc98;hb=03dd34951a331e0b8971195ccef1600fffaea2e6;hpb=60f204cb9e3905100da0d89f14bb40db764acd9e diff --git a/token.h b/token.h index 1deec2c..58ffc0a 100644 --- a/token.h +++ b/token.h @@ -1,7 +1,7 @@ // -// RMAC - Reboot's Macro Assembler for the Atari Jaguar Console System +// RMAC - Reboot's Macro Assembler for all Atari computers // TOKEN.H - Token Handling -// Copyright (C) 199x Landon Dyer, 2017 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 // @@ -25,7 +25,7 @@ #define IFENT struct _ifent // Tunable definitions -#define LNSIZ 256 // Maximum size of a line of text +#define LNSIZ 1024 // Maximum size of a line of text #define TOKBUFSIZE 400 // Size of token-line buffer #define QUANTUM 4096L // # bytes to eat at a time from a file #define LNBUFSIZ (QUANTUM*2) // Size of file's buffer @@ -53,6 +53,10 @@ #define DOTW 'W' // .w or .W #define DOTL 'L' // .l or .L #define DOTI 'I' // .l or .L +#define DOTX 'X' // .x or .X +#define DOTD 'D' // .d or .D +#define DOTP 'P' // .p or .P +#define DOTQ 'Q' // .q or .Q (essentially an alias for P) #define ENDEXPR 'E' // End of expression // ^^ operators @@ -119,7 +123,6 @@ TOKENSTREAM { // Information about a macro invocation IMACRO { IMACRO * im_link; // Pointer to ancient IMACROs -// LONG * im_nextln; // Next line to include struct LineList * im_nextln; // Next line to include WORD im_nargs; // # of arguments supplied on invocation WORD im_siz; // Size suffix supplied on invocation @@ -139,7 +142,7 @@ IREPT { // Exported variables extern int lnsave; -extern int curlineno; +extern uint16_t curlineno; extern char * curfname; extern WORD cfileno; extern TOKEN * tok; @@ -147,9 +150,6 @@ extern char lnbuf[]; extern char lntag; extern char tolowertab[]; extern INOBJ * cur_inobj; -extern unsigned orgactive; -extern unsigned orgaddr; -extern LONG sloc; extern int mjump_align; extern char * string[]; @@ -160,8 +160,8 @@ void SetFilenameForErrorReporting(void); int TokenizeLine(void); int fpop(void); int d_goto(WORD); -//int d_goto(void); INOBJ * a_inobj(int); void DumpTokenBuffer(void); #endif // __TOKEN_H__ +