emit/__emit: Code cleanup
This commit is contained in:
parent
2492d4793b
commit
06feab9224
@ -699,7 +699,7 @@ SC_FUNC void dec(value *lval);
|
|||||||
SC_FUNC void jmp_ne0(int number);
|
SC_FUNC void jmp_ne0(int number);
|
||||||
SC_FUNC void jmp_eq0(int number);
|
SC_FUNC void jmp_eq0(int number);
|
||||||
SC_FUNC void outval(cell val,int newline);
|
SC_FUNC void outval(cell val,int newline);
|
||||||
SC_FUNC void outinstr(const char *name, int nargs, ucell *args);
|
SC_FUNC void outinstr(const char *name,int nargs,ucell *args);
|
||||||
|
|
||||||
/* function prototypes in SC5.C */
|
/* function prototypes in SC5.C */
|
||||||
SC_FUNC int error(int number,...);
|
SC_FUNC int error(int number,...);
|
||||||
|
@ -5833,24 +5833,23 @@ static void check_empty(const unsigned char *lptr)
|
|||||||
/* verifies that the string contains only whitespace */
|
/* verifies that the string contains only whitespace */
|
||||||
while (*lptr<=' ' && *lptr!='\0')
|
while (*lptr<=' ' && *lptr!='\0')
|
||||||
lptr++;
|
lptr++;
|
||||||
if (*lptr!='\0'&&*lptr!='}')
|
if (*lptr!='\0' && *lptr!='}')
|
||||||
error(38); /* extra characters on line */
|
error(38); /* extra characters on line */
|
||||||
}
|
}
|
||||||
|
|
||||||
static void emit_invalid_token(int need_token, int current_token)
|
static void emit_invalid_token(int need_token,int current_token)
|
||||||
{
|
{
|
||||||
char s[sNAMEMAX+ 2];
|
char s[sNAMEMAX+2];
|
||||||
extern char *sc_tokens[];
|
extern char *sc_tokens[];
|
||||||
|
|
||||||
if (current_token<tFIRST) {
|
if (current_token<tFIRST)
|
||||||
sprintf(s,"%c",(char)current_token);
|
sprintf(s,"%c",(char)current_token);
|
||||||
} else {
|
else
|
||||||
strcpy(s,sc_tokens[current_token-tFIRST]);
|
strcpy(s,sc_tokens[current_token-tFIRST]);
|
||||||
} /* if */
|
|
||||||
error(1,sc_tokens[tSYMBOL-tFIRST],s);
|
error(1,sc_tokens[tSYMBOL-tFIRST],s);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void emit_param_num(char *name, ucell *p, int size)
|
static void emit_param_num(char *name,ucell *p,int size)
|
||||||
{
|
{
|
||||||
char *str;
|
char *str;
|
||||||
cell val;
|
cell val;
|
||||||
@ -5861,7 +5860,7 @@ static void emit_param_num(char *name, ucell *p, int size)
|
|||||||
int curp=0;
|
int curp=0;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
switch (tok=lex(&val, &str)) {
|
switch (tok=lex(&val,&str)) {
|
||||||
case tRATIONAL:
|
case tRATIONAL:
|
||||||
case tNUMBER:
|
case tNUMBER:
|
||||||
p[curp]=val;
|
p[curp]=val;
|
||||||
@ -5870,20 +5869,16 @@ static void emit_param_num(char *name, ucell *p, int size)
|
|||||||
sym=findloc(str);
|
sym=findloc(str);
|
||||||
if (sym==NULL)
|
if (sym==NULL)
|
||||||
sym=findglb(str,sSTATEVAR);
|
sym=findglb(str,sSTATEVAR);
|
||||||
if (sym==NULL || (sym->ident!=iFUNCTN && sym->ident!=iREFFUNC && (sym->usage & uDEFINE)==0) || sym->ident==iLABEL) {
|
if (sym==NULL || (sym->ident!=iFUNCTN && sym->ident!=iREFFUNC && (sym->usage & uDEFINE)==0) || sym->ident==iLABEL)
|
||||||
error(17,str); /* undefined symbol */
|
error(17,str); /* undefined symbol */
|
||||||
|
if (sym->ident==iFUNCTN || sym->ident==iREFFUNC) {
|
||||||
|
if ((sym->usage & uNATIVE)!=0 && (sym->usage & uREAD)==0 && sym->addr>=0)
|
||||||
|
sym->addr=ntv_funcid++;
|
||||||
|
p[curp]=sym->addr;
|
||||||
|
markusage(sym,uREAD);
|
||||||
} else {
|
} else {
|
||||||
if (sym->ident==iFUNCTN || sym->ident==iREFFUNC) {
|
p[curp]=sym->addr;
|
||||||
if ((sym->usage & uNATIVE)!=0) {
|
markusage(sym,uREAD|uWRITTEN);
|
||||||
if ((sym->usage & uREAD)==0 && sym->addr>=0)
|
|
||||||
sym->addr=ntv_funcid++;
|
|
||||||
}
|
|
||||||
p[curp]=sym->addr;
|
|
||||||
markusage(sym,uREAD);
|
|
||||||
} else {
|
|
||||||
p[curp]=sym->addr;
|
|
||||||
markusage(sym,uREAD|uWRITTEN);
|
|
||||||
} /* if */
|
|
||||||
} /* if */
|
} /* if */
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -5901,17 +5896,16 @@ static void emit_param_num(char *name, ucell *p, int size)
|
|||||||
break;
|
break;
|
||||||
} /* if */
|
} /* if */
|
||||||
} /* if */
|
} /* if */
|
||||||
if (tok<tFIRST) {
|
if (tok<tFIRST)
|
||||||
sprintf(ival,"%c",(char)tok);
|
sprintf(ival,"%c",(char)tok);
|
||||||
} else {
|
else
|
||||||
strcpy(ival,sc_tokens[tok-tFIRST]);
|
strcpy(ival,sc_tokens[tok-tFIRST]);
|
||||||
} /* if */
|
|
||||||
error(1,sc_tokens[tSYMBOL-tFIRST],ival);
|
error(1,sc_tokens[tSYMBOL-tFIRST],ival);
|
||||||
} /* switch */
|
} /* switch */
|
||||||
} while (++curp < size);
|
} while (++curp<size);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void emit_param_data(char *name, ucell *p, int size)
|
static void emit_param_data(char *name,ucell *p,int size)
|
||||||
{
|
{
|
||||||
cell val;
|
cell val;
|
||||||
char *str;
|
char *str;
|
||||||
@ -5922,22 +5916,18 @@ static void emit_param_data(char *name, ucell *p, int size)
|
|||||||
|
|
||||||
do {
|
do {
|
||||||
tok=lex(&val,&str);
|
tok=lex(&val,&str);
|
||||||
if (tok!=tSYMBOL) {
|
if (tok!=tSYMBOL)
|
||||||
emit_invalid_token(tSYMBOL, tok);
|
emit_invalid_token(tSYMBOL,tok);
|
||||||
} /* if */
|
|
||||||
sym=findloc(str);
|
sym=findloc(str);
|
||||||
if (sym==NULL || sym->vclass!=sSTATIC)
|
if (sym==NULL || sym->vclass!=sSTATIC)
|
||||||
sym=findglb(str,sGLOBAL);
|
sym=findglb(str,sGLOBAL);
|
||||||
if (sym==NULL) {
|
if (sym==NULL)
|
||||||
error(17,str);
|
error(17,str); /* undefined symbol */
|
||||||
} else {
|
if (sym->ident!=iVARIABLE)
|
||||||
if (sym->ident!=iVARIABLE) {
|
error(17,str); /* undefined symbol */
|
||||||
error(17,str); /* undefined symbol */
|
markusage(sym,uREAD|uWRITTEN);
|
||||||
} /* if */
|
p[curp]=sym->addr;
|
||||||
markusage(sym,uREAD|uWRITTEN);
|
} while (++curp<size);
|
||||||
p[curp]=sym->addr;
|
|
||||||
} /* if */
|
|
||||||
} while (++curp < size);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OPHANDLER_CALL emit_noop(char *name)
|
static void OPHANDLER_CALL emit_noop(char *name)
|
||||||
@ -5947,23 +5937,23 @@ static void OPHANDLER_CALL emit_noop(char *name)
|
|||||||
|
|
||||||
static void OPHANDLER_CALL emit_parm0(char *name)
|
static void OPHANDLER_CALL emit_parm0(char *name)
|
||||||
{
|
{
|
||||||
outinstr(name, 0, NULL);
|
outinstr(name,0,NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OPHANDLER_CALL emit_parm1_num(char *name)
|
static void OPHANDLER_CALL emit_parm1_num(char *name)
|
||||||
{
|
{
|
||||||
ucell p[1];
|
ucell p[1];
|
||||||
|
|
||||||
emit_param_num(name, p, arraysize(p));
|
emit_param_num(name,p,(sizeof p / sizeof p[0]));
|
||||||
outinstr(name,arraysize(p),p);
|
outinstr(name,(sizeof p / sizeof p[0]),p);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OPHANDLER_CALL emit_parm1_gvar(char *name)
|
static void OPHANDLER_CALL emit_parm1_gvar(char *name)
|
||||||
{
|
{
|
||||||
ucell p[1];
|
ucell p[1];
|
||||||
|
|
||||||
emit_param_data(name, p, arraysize(p));
|
emit_param_data(name,p,(sizeof p / sizeof p[0]));
|
||||||
outinstr(name,arraysize(p),p);
|
outinstr(name,(sizeof p / sizeof p[0]),p);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OPHANDLER_CALL emit_parm1_lbl(char *name)
|
static void OPHANDLER_CALL emit_parm1_lbl(char *name)
|
||||||
@ -5974,9 +5964,8 @@ static void OPHANDLER_CALL emit_parm1_lbl(char *name)
|
|||||||
int tok;
|
int tok;
|
||||||
|
|
||||||
tok=lex(&val,&str);
|
tok=lex(&val,&str);
|
||||||
if (tok!=tSYMBOL) {
|
if (tok!=tSYMBOL)
|
||||||
emit_invalid_token(tSYMBOL, tok);
|
emit_invalid_token(tSYMBOL,tok);
|
||||||
} /* if */
|
|
||||||
sym=fetchlab(str);
|
sym=fetchlab(str);
|
||||||
sym->usage|=uREAD;
|
sym->usage|=uREAD;
|
||||||
outinstr(name,1,&sym->addr);
|
outinstr(name,1,&sym->addr);
|
||||||
@ -5986,16 +5975,16 @@ static void OPHANDLER_CALL emit_parm2_num(char *name)
|
|||||||
{
|
{
|
||||||
ucell p[2];
|
ucell p[2];
|
||||||
|
|
||||||
emit_param_num(name, p, arraysize(p));
|
emit_param_num(name,p,(sizeof p / sizeof p[0]));
|
||||||
outinstr(name,arraysize(p),p);
|
outinstr(name,(sizeof p / sizeof p[0]),p);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OPHANDLER_CALL emit_parm2_gvar(char *name)
|
static void OPHANDLER_CALL emit_parm2_gvar(char *name)
|
||||||
{
|
{
|
||||||
ucell p[2];
|
ucell p[2];
|
||||||
|
|
||||||
emit_param_data(name, p, arraysize(p));
|
emit_param_data(name,p,(sizeof p / sizeof p[0]));
|
||||||
outinstr(name,arraysize(p),p);
|
outinstr(name,(sizeof p / sizeof p[0]),p);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OPHANDLER_CALL emit_parm2_gvar_num(char *name)
|
static void OPHANDLER_CALL emit_parm2_gvar_num(char *name)
|
||||||
@ -6009,75 +5998,68 @@ static void OPHANDLER_CALL emit_parm2_gvar_num(char *name)
|
|||||||
extern char *sc_tokens[];
|
extern char *sc_tokens[];
|
||||||
|
|
||||||
tok=lex(&val,&str);
|
tok=lex(&val,&str);
|
||||||
if (tok!=tSYMBOL) {
|
if (tok!=tSYMBOL)
|
||||||
emit_invalid_token(tSYMBOL, tok);
|
emit_invalid_token(tSYMBOL,tok);
|
||||||
} /* if */
|
|
||||||
sym=findloc(str);
|
sym=findloc(str);
|
||||||
if (sym==NULL || sym->vclass!=sSTATIC)
|
if (sym==NULL || sym->vclass!=sSTATIC)
|
||||||
sym=findglb(str,sGLOBAL);
|
sym=findglb(str,sGLOBAL);
|
||||||
if (sym==NULL) {
|
if (sym==NULL || sym->ident!=iVARIABLE)
|
||||||
error(17,str);
|
error(17,str); /* undefined symbol */
|
||||||
} else {
|
markusage(sym,uREAD);
|
||||||
if (sym->ident!=iVARIABLE) {
|
p[0]=sym->addr;
|
||||||
error(17,str); /* undefined symbol */
|
tok=lex(&val,&str);
|
||||||
} /* if */
|
if (tok!=tNUMBER)
|
||||||
markusage(sym,uREAD);
|
emit_invalid_token(tNUMBER,tok);
|
||||||
p[0]=sym->addr;
|
p[1]=val;
|
||||||
tok=lex(&val,&str);
|
outinstr(name,(sizeof p / sizeof p[0]),p);
|
||||||
if (tok!=tNUMBER) {
|
|
||||||
emit_invalid_token(tNUMBER, tok);
|
|
||||||
} /* if */
|
|
||||||
p[1]=val;
|
|
||||||
outinstr(name,arraysize(p),p);
|
|
||||||
} /* if */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OPHANDLER_CALL emit_parm3_num(char *name)
|
static void OPHANDLER_CALL emit_parm3_num(char *name)
|
||||||
{
|
{
|
||||||
ucell p[3];
|
ucell p[3];
|
||||||
|
|
||||||
emit_param_num(name, p, arraysize(p));
|
emit_param_num(name,p,(sizeof p / sizeof p[0]));
|
||||||
outinstr(name,arraysize(p),p);
|
outinstr(name,(sizeof p / sizeof p[0]),p);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OPHANDLER_CALL emit_parm3_gvar(char *name)
|
static void OPHANDLER_CALL emit_parm3_gvar(char *name)
|
||||||
{
|
{
|
||||||
ucell p[3];
|
ucell p[3];
|
||||||
|
|
||||||
emit_param_data(name, p, arraysize(p));
|
emit_param_data(name,p,(sizeof p / sizeof p[0]));
|
||||||
outinstr(name,arraysize(p),p);
|
outinstr(name,(sizeof p / sizeof p[0]),p);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OPHANDLER_CALL emit_parm4_num(char *name)
|
static void OPHANDLER_CALL emit_parm4_num(char *name)
|
||||||
{
|
{
|
||||||
ucell p[4];
|
ucell p[4];
|
||||||
|
|
||||||
emit_param_num(name, p, arraysize(p));
|
emit_param_num(name,p,(sizeof p / sizeof p[0]));
|
||||||
outinstr(name,arraysize(p),p);
|
outinstr(name,(sizeof p / sizeof p[0]),p);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OPHANDLER_CALL emit_parm4_gvar(char *name)
|
static void OPHANDLER_CALL emit_parm4_gvar(char *name)
|
||||||
{
|
{
|
||||||
ucell p[4];
|
ucell p[4];
|
||||||
|
|
||||||
emit_param_data(name, p, arraysize(p));
|
emit_param_data(name,p,(sizeof p / sizeof p[0]));
|
||||||
outinstr(name,arraysize(p),p);
|
outinstr(name,(sizeof p / sizeof p[0]),p);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OPHANDLER_CALL emit_parm5_num(char *name)
|
static void OPHANDLER_CALL emit_parm5_num(char *name)
|
||||||
{
|
{
|
||||||
ucell p[5];
|
ucell p[5];
|
||||||
|
|
||||||
emit_param_num(name, p, arraysize(p));
|
emit_param_num(name,p,(sizeof p / sizeof p[0]));
|
||||||
outinstr(name,arraysize(p),p);
|
outinstr(name,(sizeof p / sizeof p[0]),p);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OPHANDLER_CALL emit_parm5_gvar(char *name)
|
static void OPHANDLER_CALL emit_parm5_gvar(char *name)
|
||||||
{
|
{
|
||||||
ucell p[5];
|
ucell p[5];
|
||||||
|
|
||||||
emit_param_data(name, p, arraysize(p));
|
emit_param_data(name,p,(sizeof p / sizeof p[0]));
|
||||||
outinstr(name,arraysize(p),p);
|
outinstr(name,(sizeof p / sizeof p[0]),p);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OPHANDLER_CALL emit_do_case(char *name)
|
static void OPHANDLER_CALL emit_do_case(char *name)
|
||||||
@ -6094,18 +6076,15 @@ static void OPHANDLER_CALL emit_do_case(char *name)
|
|||||||
stgwrite(" ");
|
stgwrite(" ");
|
||||||
|
|
||||||
tok=lex(&val,&str);
|
tok=lex(&val,&str);
|
||||||
if (tok!=tNUMBER) {
|
if (tok!=tNUMBER)
|
||||||
emit_invalid_token(tSYMBOL, tok);
|
emit_invalid_token(tSYMBOL,tok);
|
||||||
} /* if */
|
|
||||||
outval(val,FALSE);
|
outval(val,FALSE);
|
||||||
tok=lex(&val,&str);
|
tok=lex(&val,&str);
|
||||||
if (tok!=tSYMBOL) {
|
if (tok!=tSYMBOL)
|
||||||
emit_invalid_token(tSYMBOL, tok);
|
emit_invalid_token(tSYMBOL,tok);
|
||||||
} /* if */
|
|
||||||
sym=fetchlab(str);
|
sym=fetchlab(str);
|
||||||
if (sym==NULL) {
|
if (sym==NULL)
|
||||||
error(17,str); /* undefined symbol */
|
error(17,str); /* undefined symbol */
|
||||||
} /* if */
|
|
||||||
outval(sym->addr,FALSE);
|
outval(sym->addr,FALSE);
|
||||||
stgwrite("\n");
|
stgwrite("\n");
|
||||||
code_idx+=opargs(2)+opcodes(0);
|
code_idx+=opargs(2)+opcodes(0);
|
||||||
@ -6119,12 +6098,10 @@ static void OPHANDLER_CALL emit_do_lodb_strb(char *name)
|
|||||||
extern char *sc_tokens[];
|
extern char *sc_tokens[];
|
||||||
|
|
||||||
tok=lex(&val,&str);
|
tok=lex(&val,&str);
|
||||||
if (tok!=tNUMBER) {
|
if (tok!=tNUMBER)
|
||||||
emit_invalid_token(tNUMBER, tok);
|
emit_invalid_token(tNUMBER,tok);
|
||||||
} /* if */
|
if (val!=1 && val!=2 && val!=4)
|
||||||
if (val!=1 && val!=2 && val!=4) {
|
|
||||||
error(50); /* invalid range */
|
error(50); /* invalid range */
|
||||||
} /* if */
|
|
||||||
outinstr(name,1,&val);
|
outinstr(name,1,&val);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6137,22 +6114,18 @@ static void OPHANDLER_CALL emit_do_call(char *name)
|
|||||||
extern char *sc_tokens[];
|
extern char *sc_tokens[];
|
||||||
|
|
||||||
tok=lex(&val,&str);
|
tok=lex(&val,&str);
|
||||||
if (tok!=tSYMBOL) {
|
if (tok!=tSYMBOL)
|
||||||
emit_invalid_token(tSYMBOL, tok);
|
emit_invalid_token(tSYMBOL,tok);
|
||||||
} /* if */
|
|
||||||
sym=findglb(str,sGLOBAL);
|
sym=findglb(str,sGLOBAL);
|
||||||
if (sym==NULL) {
|
if (sym==NULL)
|
||||||
error(12); /* invalid function call */
|
error(12); /* invalid function call */
|
||||||
} else {
|
stgwrite("\t");
|
||||||
stgwrite("\t");
|
stgwrite(name);
|
||||||
stgwrite(name);
|
stgwrite(" .");
|
||||||
stgwrite(" ");
|
stgwrite(str);
|
||||||
stgwrite(".");
|
stgwrite("\n");
|
||||||
stgwrite(str);
|
code_idx+=opcodes(1)+opargs(1);
|
||||||
stgwrite("\n");
|
markusage(sym,uREAD);
|
||||||
code_idx+=opcodes(1)+opargs(1);
|
|
||||||
markusage(sym,uREAD);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static EMIT_OPCODE emit_opcodelist[] = {
|
static EMIT_OPCODE emit_opcodelist[] = {
|
||||||
@ -6354,36 +6327,32 @@ SC_FUNC void emit_parse_line(void)
|
|||||||
int tok,len,i;
|
int tok,len,i;
|
||||||
symbol *sym;
|
symbol *sym;
|
||||||
char name[MAX_INSTR_LEN];
|
char name[MAX_INSTR_LEN];
|
||||||
|
extern char *sc_tokens[];
|
||||||
|
|
||||||
tok=tokeninfo(&val,&st);
|
tok=tokeninfo(&val,&st);
|
||||||
if (tok==tSYMBOL || (tok > tMIDDLE && tok <= tLAST)) {
|
if (tok==tSYMBOL || (tok>tMIDDLE && tok<=tLAST)) {
|
||||||
/* get the token length */
|
/* get the token length */
|
||||||
if (tok > tMIDDLE && tok <= tLAST) {
|
if (tok>tMIDDLE && tok<=tLAST)
|
||||||
extern char *sc_tokens[];
|
|
||||||
len=strlen(sc_tokens[tok-tFIRST]);
|
len=strlen(sc_tokens[tok-tFIRST]);
|
||||||
} else {
|
else
|
||||||
len=strlen(st);
|
len=strlen(st);
|
||||||
} /* if */
|
|
||||||
lptr-=len;
|
lptr-=len;
|
||||||
for(i=0; i<sizeof(name) && (isalnum(*lptr) || *lptr=='.'); ++i,++lptr) {
|
for(i=0; i<sizeof(name) && (isalnum(*lptr) || *lptr=='.'); ++i,++lptr)
|
||||||
name[i]=(char)tolower(*lptr);
|
name[i]=(char)tolower(*lptr);
|
||||||
} /* for */
|
|
||||||
name[i]='\0';
|
name[i]='\0';
|
||||||
i=emit_findopcode(name,strlen(name));
|
i=emit_findopcode(name,strlen(name));
|
||||||
if (emit_opcodelist[i].name==NULL && *name!='\0') {
|
if (emit_opcodelist[i].name==NULL && *name!='\0')
|
||||||
error(104,name); /* invalid assembler instruction */
|
error(104,name); /* invalid assembler instruction */
|
||||||
} /* if */
|
|
||||||
emit_opcodelist[i].func(name);
|
emit_opcodelist[i].func(name);
|
||||||
check_empty(lptr);
|
check_empty(lptr);
|
||||||
} else if (tok==tLABEL) {
|
} else if (tok==tLABEL) {
|
||||||
if (!emit_block_parsing) {
|
if (!emit_block_parsing)
|
||||||
error(38); /* extra characters on line */
|
error(38); /* extra characters on line */
|
||||||
} /* if */
|
|
||||||
sym=fetchlab(st);
|
sym=fetchlab(st);
|
||||||
setlabel((int)sym->addr);
|
setlabel((int)sym->addr);
|
||||||
sym->usage|=uDEFINE;
|
sym->usage|=uDEFINE;
|
||||||
} /* if */
|
} /* if */
|
||||||
if ((emit_block_parsing && matchtoken('}')) || !emit_block_parsing) {
|
if (!emit_block_parsing || matchtoken('}')) {
|
||||||
matchtoken(';');
|
matchtoken(';');
|
||||||
emit_block_parsing=FALSE;
|
emit_block_parsing=FALSE;
|
||||||
} /* if */
|
} /* if */
|
||||||
|
@ -1453,12 +1453,12 @@ static int hier2(value *lval)
|
|||||||
cell val;
|
cell val;
|
||||||
char* st;
|
char* st;
|
||||||
if (!matchtoken('{'))
|
if (!matchtoken('{'))
|
||||||
error(38);
|
error(38); /* extra characters on line */
|
||||||
lex(&val,&st);
|
lex(&val,&st);
|
||||||
lval->ident=iEXPRESSION;
|
lval->ident=iEXPRESSION;
|
||||||
emit_parse_line();
|
emit_parse_line();
|
||||||
if (!matchtoken('}'))
|
if (!matchtoken('}'))
|
||||||
error(38);
|
error(38); /* extra characters on line */
|
||||||
return FALSE;
|
return FALSE;
|
||||||
} /* case */
|
} /* case */
|
||||||
default:
|
default:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user