/* global.c */

/* all the global variables are defined in here */

#include "picasm.h"

FILE	*inputfile;		/* the input file			*/

char 	lexemes[STRMAX];	/* array of strings with text lexemes	*/

int	lastchar = -1;		/* last position used in lexemes	*/
int	lastentry = 0;		/* last entry in symbol table		*/

SYMBOL	symtable[SYMMAX];	/* symbol table				*/
SYMBOL	current_symbol;		/* the current symbol we are using	*/

PICDEFN ourpic;			/* the pic we are building		*/
int	architecture;		/* pic architecture 12bit or 14bit	*/
int	asm_current_address = INVALIDADDR; /* set by current assembly address	*/
int	max_address_touched;	/* max address touched so far		*/
int	min_address_touched;	/* min address touched so far		*/

FORWARDJUMP forjump[MAXFORWARDJUMPS];	/* forward jump information	*/
int current_forwardjump = 0;		/* current jump entry		*/

SYMBOL	macrostore[MAXMACROSTORE];
MACDEF	macros[MAXMACROS];
int	last_macro = 0;
int	last_macrostore = 0;

LEXINPUT lexstack[MAXLEXLEVELS];
int	last_lexlevel = -1;

char lexstrings[MAXSTRINGS][BSIZE];
int	last_string = 0;

/* ... The End ... */
