mirror of
https://github.com/RevCurtisP/C02.git
synced 2024-11-22 01:31:33 +00:00
Added parameter to prspst() and fixed bug in skpcmt()
This commit is contained in:
parent
910a807fbc
commit
8c22e30a06
11
src/parse.c
11
src/parse.c
@ -112,10 +112,10 @@ void skpeol(void) {while (!isnl()) getnxt();}
|
||||
|
||||
/* Advance Source File to end of comment *
|
||||
* Recognizes both C and C++ style comments */
|
||||
void skpcmt(int exslsh)
|
||||
void skpcmt(int skslsh)
|
||||
{
|
||||
DEBUG("Skipping Comment\n", 0)
|
||||
if (exslsh) expect('/'); //skip initial /
|
||||
if (skslsh) skpchr(); //skip initial /
|
||||
if (match('/')) skpeol(); //if C style comment skip rest of line
|
||||
else if (match('*')) //if C++ style comment
|
||||
while (TRUE) // skip to */
|
||||
@ -439,14 +439,15 @@ void prcpst(int isint, char* name, char *index, char indtyp, char ispntr) {
|
||||
}
|
||||
|
||||
/* Parse Post Operator */
|
||||
int prspst(char trmntr, int isint, char* name, char* index, char indtyp, char ispntr) {
|
||||
oper = getnxt();
|
||||
int prspst(char poper, char trmntr, int isint, char* name, char* index, char indtyp, char ispntr) {
|
||||
if (poper) oper = poper;
|
||||
else oper = getnxt();
|
||||
CCMNT(oper);
|
||||
DEBUG("Checking for post operation '%c'\n", oper)
|
||||
if (nxtchr == oper) {
|
||||
skpchr();
|
||||
CCMNT(oper);
|
||||
expect(trmntr);
|
||||
if (trmntr) expect(trmntr);
|
||||
prcpst(isint, name, index, indtyp, ispntr); //Process Post-Op
|
||||
return 0;
|
||||
}
|
||||
|
@ -175,7 +175,7 @@ int prcava(char *name, char trmntr, char ispntr) {
|
||||
if (ispntr && strcmp(asnidx, "X") == 0) ERROR("Illegal use of register X\n", 0, EXIT_FAILURE)
|
||||
DEBUG("stmnt.prcava: Set STA index to '%s'", asnidx) DETAIL(" and type to %d\n", asnivt)
|
||||
if (ispopr()) {
|
||||
if (prspst(trmntr, FALSE, asnvar, asnidx, asnivt, ispntr)) expctd("post operator");
|
||||
if (prspst(0, trmntr, FALSE, asnvar, asnidx, asnivt, ispntr)) expctd("post operator");
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
@ -188,7 +188,7 @@ void prcavr(char trmntr) {
|
||||
strcpy(vrname, word); //save variable to assign to
|
||||
if (valtyp == STRUCTURE) prsmbr(vrname); //Updates word and vartyp
|
||||
if (vartyp == VTINT) {
|
||||
if (ispopr()) {if (prspst(trmntr, TRUE, vrname, "", 0, FALSE)) expctd("post operator");}
|
||||
if (ispopr()) {if (prspst(0, trmntr, TRUE, vrname, "", 0, FALSE)) expctd("post operator");}
|
||||
else prcasi(trmntr); //Process Integer Assignment
|
||||
return;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user