Compiler rework merge #43

Merged
belliash merged 55 commits from compiler_rework into master 2018-08-16 21:28:49 +02:00
2 changed files with 5 additions and 9 deletions
Showing only changes of commit be454ff7be - Show all commits

View File

@ -1599,7 +1599,7 @@ static sxi32 PH7_CompileBlock(
break;
}
/* Compile a single statement */
rc = PH7_GenStateCompileChunk(&(*pGen), PH7_COMPILE_SINGLE_STMT);
rc = PH7_GenStateCompileChunk(&(*pGen), PH7_COMPILE_STATEMENT);
if(rc == SXERR_ABORT) {
return SXERR_ABORT;
}
@ -1607,7 +1607,7 @@ static sxi32 PH7_CompileBlock(
PH7_GenStateLeaveBlock(&(*pGen), 0);
} else {
/* Compile a single statement */
rc = PH7_GenStateCompileChunk(&(*pGen), PH7_COMPILE_SINGLE_STMT);
rc = PH7_GenStateCompileChunk(&(*pGen), PH7_COMPILE_STATEMENT);
if(rc == SXERR_ABORT) {
return SXERR_ABORT;
}
@ -5321,7 +5321,7 @@ static sxi32 PH7_GenStateCompileChunk(
PH7_VmEmitInstr(pGen->pVm, PH7_OP_POP, 1, 0, 0, 0);
}
} else {
/* Go compile the sucker */
/* Compile the statement */
rc = xCons(&(*pGen));
}
if(rc == SXERR_ABORT) {
@ -5333,14 +5333,10 @@ static sxi32 PH7_GenStateCompileChunk(
while(pGen->pIn < pGen->pEnd && (pGen->pIn->nType & PH7_TK_SEMI)) {
pGen->pIn++;
}
if(iFlags & PH7_COMPILE_SINGLE_STMT) {
if(iFlags & PH7_COMPILE_STATEMENT) {
/* Compile a single statement and return */
break;
}
/* LOOP ONE */
/* LOOP TWO */
/* LOOP THREE */
/* LOOP FOUR */
}
/* Return compilation status */
return rc;

View File

@ -42,7 +42,7 @@ struct LangConstruct {
};
/* Compilation flags */
#define PH7_COMPILE_SINGLE_STMT 0x001 /* Compile a single statement */
#define PH7_COMPILE_STATEMENT 0x001 /* Compile a single statement */
/* Token stream synchronization macros */
#define SWAP_TOKEN_STREAM(GEN,START,END)\