version 1.3, 1999/10/13 20:05:00
|
version 1.6, 2000/02/22 18:19:02
|
Line 352 EndLine ([\r][\n]|[\n])
|
Line 352 EndLine ([\r][\n]|[\n])
|
%k 10000 |
%k 10000 |
%p 10000 |
%p 10000 |
%n 1000 |
%n 1000 |
%x S_COMMENT S_HINT S_HINTEXLAINX S_IMPORT S_EXPLAIN S_ENDX S_UNIT S_IGNORE |
%x S_COMMENT S_HINT S_HINTEXLAINX S_IMPORT S_EXPLAIN S_ENDX S_UNIT S_IGNORE |
%x S_SKIP S_VARIABLE S_LET S_DEFINE S_TEXT S_MAP S_FIGURE S_ANSWER |
%x S_SKIP S_VARIABLE S_LET S_DEFINE S_TEXT S_MAP S_FIGURE S_ANSWER |
%x S_STRING S_ANSCONTINUE S_TRUE_FALSE_STMT S_IF_SKIP S_WHILE_SKIP |
%x S_STRING S_ANSCONTINUE S_TRUE_FALSE_STMT S_IF_SKIP S_WHILE_SKIP |
%x S_NEXT_LINE S_RANDOMORDER S_VERB |
%x S_NEXT_LINE S_RANDOMORDER S_VERB |
%array |
%array |
|
|
|
|
Line 849 EndLine ([\r][\n]|[\n])
|
Line 849 EndLine ([\r][\n]|[\n])
|
} |
} |
|
|
<S_TRUE_FALSE_STMT>{ |
<S_TRUE_FALSE_STMT>{ |
[\)] { LLDBUG_PR1("[) in TRUE_FALSE]"); Pcount--; if(Pcount == 0) BEGIN S_NEXT_LINE; return(yytext[0]); } |
[\)] { LLDBUG_PRL1("[) in TRUE_FALSE]"); Pcount--; if(Pcount == 0) BEGIN S_NEXT_LINE; return(yytext[0]); } |
[\\]{Space}*{EndLine} { LLDBUG_PR2("[\\EoL continue in S_TRUE_FALSE_STMT](%s)",yytext); /* continuation on next line */ } |
[\\]{Space}*{EndLine} { LLDBUG_PR2("[\\EoL continue in S_TRUE_FALSE_STMT](%s)",yytext); /* continuation on next line */ } |
{EndLine} { LLDBUG_PR1("[EoL within /IF()]\n"); RETURN(EoL); } |
{EndLine} { LLDBUG_PR1("[EoL within /IF()]\n"); RETURN(EoL); } |
. { char warn_msg[WARN_MSG_LENGTH]; |
. { char warn_msg[WARN_MSG_LENGTH]; |
Line 949 EndLine ([\r][\n]|[\n])
|
Line 949 EndLine ([\r][\n]|[\n])
|
[^\n]*$ { LLDBUG_PRL2("[SkipIF anything <IFcount=%d>]",IFcount); } |
[^\n]*$ { LLDBUG_PRL2("[SkipIF anything <IFcount=%d>]",IFcount); } |
} |
} |
<S_NEXT_LINE>{ |
<S_NEXT_LINE>{ |
([.]*){EndLine} { /* this ignores everything until it hits an EoL */ BEGIN S_TEXT; } |
([.]*){EndLine} { /* this ignores everything until it hits an EoL */ |
|
LLDBUG_PRL2("[<S_NEXT_LINE> skip \'%s\' until EoL]\n",yytext); |
|
BEGIN S_TEXT; |
|
} |
} |
} |
|
|
<S_WHILE_SKIP>{ |
<S_WHILE_SKIP>{ |
Line 1135 char *
|
Line 1138 char *
|
strsave(char *s) |
strsave(char *s) |
{ |
{ |
char *p; |
char *p; |
|
if (s==NULL) {return s;} |
p=capa_malloc(strlen(s)+1,1); |
p=capa_malloc(strlen(s)+1,1); |
strcpy(p,s); |
strcpy(p,s); |
return (p); |
return (p); |
Line 1194 capa_msg(int type, char *p)
|
Line 1198 capa_msg(int type, char *p)
|
} |
} |
warn_msg[idx]=0; |
warn_msg[idx]=0; |
append_error(warn_msg); append_error(p); |
append_error(warn_msg); append_error(p); |
break; |
break; |
case MESSAGE_WARN: |
case MESSAGE_WARN: |
default: |
default: |
sprintf(tmp_line,", Line %d: WARNING:", Current_line[Input_idx]); |
sprintf(tmp_line,", Line %d: WARNING:", Current_line[Input_idx]); |
Line 1525 char* parser_status()
|
Line 1529 char* parser_status()
|
void yyfatalerror(char*msg) |
void yyfatalerror(char*msg) |
{ |
{ |
char warn_msg[WARN_MSG_LENGTH]; |
char warn_msg[WARN_MSG_LENGTH]; |
sprintf(warn_msg,"Invalid character[%s]\n",yytext); |
sprintf(warn_msg,"Invalid character[\'%s\']\n",yytext); |
capa_msg(MESSAGE_ERROR,warn_msg); |
capa_msg(MESSAGE_ERROR,warn_msg); |
|
capa_msg(MESSAGE_ERROR,msg); |
} |
} |
void yyerror(char* msg) |
void yyerror(char* msg) |
{ |
{ |