2017-04-22 18:39:52 +00:00
|
|
|
/**********************************
|
|
|
|
* C02 Expession Parsing Routines *
|
|
|
|
**********************************/
|
|
|
|
|
2018-02-13 22:25:57 +00:00
|
|
|
char term[255]; //Term parsed from equation
|
2017-04-22 18:39:52 +00:00
|
|
|
|
2017-05-01 01:17:50 +00:00
|
|
|
char fnstck[MAXFNS][VARLEN+1]; //Function Call Stack
|
|
|
|
int fnscnt; //Number of Functions in Stack
|
|
|
|
|
2018-02-13 22:25:57 +00:00
|
|
|
int chkpst; //Check for Post-Operator
|
2017-06-27 00:16:23 +00:00
|
|
|
|
2018-02-13 22:25:57 +00:00
|
|
|
int chkadr(int adract); //Check for and Process Address or String
|
|
|
|
void chkidx(); //Check for, Parse, and Process Index
|
|
|
|
void prcadr(int adract, char* symbol); //Process Address Reference
|
|
|
|
void prcopr(); //Process Arithmetic or Bitwise Operator
|
|
|
|
void prsadr(int adract); //Parse and Compile Address of Operator
|
|
|
|
void prsfnc(char trmntr); //Parse function call
|
|
|
|
void prsftm(); //Parse first term of expession
|
|
|
|
void prsidx(); //Parse Array Index
|
|
|
|
void prstrm(); //Parse Term in Expression
|
|
|
|
void prsstr(int adract); //Parse and Create Anonymous String
|
|
|
|
void prsval(int alwreg); //Parse value (constant or identifier)
|
|
|
|
void prsxpr(char trmntr); //Parse Expression
|
2017-04-22 18:39:52 +00:00
|
|
|
|
2017-05-01 01:17:50 +00:00
|
|
|
|