|
|
@ -352,8 +352,8 @@ static void yynoreturn yy_fatal_error ( const char* msg );
|
|
|
|
(yy_hold_char) = *yy_cp; \
|
|
|
|
(yy_hold_char) = *yy_cp; \
|
|
|
|
*yy_cp = '\0'; \
|
|
|
|
*yy_cp = '\0'; \
|
|
|
|
(yy_c_buf_p) = yy_cp;
|
|
|
|
(yy_c_buf_p) = yy_cp;
|
|
|
|
#define YY_NUM_RULES 5
|
|
|
|
#define YY_NUM_RULES 6
|
|
|
|
#define YY_END_OF_BUFFER 6
|
|
|
|
#define YY_END_OF_BUFFER 7
|
|
|
|
/* This struct is not used in this scanner,
|
|
|
|
/* This struct is not used in this scanner,
|
|
|
|
but its presence is necessary. */
|
|
|
|
but its presence is necessary. */
|
|
|
|
struct yy_trans_info
|
|
|
|
struct yy_trans_info
|
|
|
@ -361,10 +361,10 @@ struct yy_trans_info
|
|
|
|
flex_int32_t yy_verify;
|
|
|
|
flex_int32_t yy_verify;
|
|
|
|
flex_int32_t yy_nxt;
|
|
|
|
flex_int32_t yy_nxt;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
static const flex_int16_t yy_accept[13] =
|
|
|
|
static const flex_int16_t yy_accept[14] =
|
|
|
|
{ 0,
|
|
|
|
{ 0,
|
|
|
|
0, 0, 6, 5, 4, 3, 2, 2, 2, 2,
|
|
|
|
0, 0, 7, 6, 5, 4, 3, 3, 3, 2,
|
|
|
|
1, 0
|
|
|
|
3, 1, 0
|
|
|
|
} ;
|
|
|
|
} ;
|
|
|
|
|
|
|
|
|
|
|
|
static const YY_CHAR yy_ec[256] =
|
|
|
|
static const YY_CHAR yy_ec[256] =
|
|
|
@ -374,15 +374,15 @@ static const YY_CHAR yy_ec[256] =
|
|
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
|
|
1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
|
|
1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
|
|
1, 1, 1, 1, 1, 1, 1, 4, 5, 5,
|
|
|
|
1, 1, 1, 1, 1, 1, 1, 4, 5, 5,
|
|
|
|
5, 5, 5, 5, 5, 5, 5, 1, 1, 1,
|
|
|
|
5, 5, 5, 5, 5, 5, 5, 6, 1, 1,
|
|
|
|
1, 1, 2, 1, 5, 5, 5, 5, 5, 5,
|
|
|
|
1, 1, 2, 1, 5, 5, 5, 5, 5, 5,
|
|
|
|
6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
|
|
|
|
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
|
|
|
6, 6, 6, 6, 6, 6, 6, 7, 6, 6,
|
|
|
|
7, 7, 7, 7, 7, 7, 7, 8, 7, 7,
|
|
|
|
1, 1, 1, 1, 6, 1, 5, 5, 5, 5,
|
|
|
|
1, 1, 1, 1, 7, 1, 5, 5, 5, 5,
|
|
|
|
|
|
|
|
|
|
|
|
5, 5, 6, 6, 6, 6, 6, 6, 6, 6,
|
|
|
|
5, 5, 7, 7, 7, 7, 7, 7, 7, 7,
|
|
|
|
6, 6, 6, 6, 6, 6, 6, 6, 6, 7,
|
|
|
|
7, 7, 7, 7, 7, 7, 7, 7, 7, 8,
|
|
|
|
6, 6, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
|
|
7, 7, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
|
|
@ -399,33 +399,35 @@ static const YY_CHAR yy_ec[256] =
|
|
|
|
1, 1, 1, 1, 1
|
|
|
|
1, 1, 1, 1, 1
|
|
|
|
} ;
|
|
|
|
} ;
|
|
|
|
|
|
|
|
|
|
|
|
static const YY_CHAR yy_meta[8] =
|
|
|
|
static const YY_CHAR yy_meta[9] =
|
|
|
|
{ 0,
|
|
|
|
{ 0,
|
|
|
|
1, 1, 1, 2, 2, 2, 2
|
|
|
|
1, 1, 1, 2, 2, 2, 2, 2
|
|
|
|
} ;
|
|
|
|
} ;
|
|
|
|
|
|
|
|
|
|
|
|
static const flex_int16_t yy_base[14] =
|
|
|
|
static const flex_int16_t yy_base[15] =
|
|
|
|
{ 0,
|
|
|
|
{ 0,
|
|
|
|
0, 0, 12, 13, 13, 13, 4, 0, 0, 4,
|
|
|
|
0, 0, 15, 16, 16, 16, 3, 8, 0, 16,
|
|
|
|
0, 13, 8
|
|
|
|
8, 0, 16, 8
|
|
|
|
} ;
|
|
|
|
} ;
|
|
|
|
|
|
|
|
|
|
|
|
static const flex_int16_t yy_def[14] =
|
|
|
|
static const flex_int16_t yy_def[15] =
|
|
|
|
{ 0,
|
|
|
|
{ 0,
|
|
|
|
12, 1, 12, 12, 12, 12, 13, 13, 13, 13,
|
|
|
|
13, 1, 13, 13, 13, 13, 14, 14, 8, 13,
|
|
|
|
10, 0, 12
|
|
|
|
8, 11, 0, 13
|
|
|
|
} ;
|
|
|
|
} ;
|
|
|
|
|
|
|
|
|
|
|
|
static const flex_int16_t yy_nxt[21] =
|
|
|
|
static const flex_int16_t yy_nxt[25] =
|
|
|
|
{ 0,
|
|
|
|
{ 0,
|
|
|
|
4, 5, 6, 7, 8, 8, 8, 11, 11, 9,
|
|
|
|
4, 5, 6, 7, 8, 4, 8, 8, 10, 9,
|
|
|
|
10, 12, 3, 12, 12, 12, 12, 12, 12, 12
|
|
|
|
11, 12, 12, 10, 13, 3, 13, 13, 13, 13,
|
|
|
|
|
|
|
|
13, 13, 13, 13
|
|
|
|
} ;
|
|
|
|
} ;
|
|
|
|
|
|
|
|
|
|
|
|
static const flex_int16_t yy_chk[21] =
|
|
|
|
static const flex_int16_t yy_chk[25] =
|
|
|
|
{ 0,
|
|
|
|
{ 0,
|
|
|
|
1, 1, 1, 1, 1, 1, 1, 10, 10, 13,
|
|
|
|
1, 1, 1, 1, 1, 1, 1, 1, 7, 14,
|
|
|
|
7, 3, 12, 12, 12, 12, 12, 12, 12, 12
|
|
|
|
7, 11, 11, 8, 3, 13, 13, 13, 13, 13,
|
|
|
|
|
|
|
|
13, 13, 13, 13
|
|
|
|
} ;
|
|
|
|
} ;
|
|
|
|
|
|
|
|
|
|
|
|
static yy_state_type yy_last_accepting_state;
|
|
|
|
static yy_state_type yy_last_accepting_state;
|
|
|
@ -446,8 +448,8 @@ char *yytext;
|
|
|
|
#line 2 "lexer.l"
|
|
|
|
#line 2 "lexer.l"
|
|
|
|
#include "parser.tab.h"
|
|
|
|
#include "parser.tab.h"
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#line 449 "lexer.flex.cpp"
|
|
|
|
#line 451 "lexer.flex.cpp"
|
|
|
|
#line 450 "lexer.flex.cpp"
|
|
|
|
#line 452 "lexer.flex.cpp"
|
|
|
|
|
|
|
|
|
|
|
|
#define INITIAL 0
|
|
|
|
#define INITIAL 0
|
|
|
|
|
|
|
|
|
|
|
@ -663,7 +665,7 @@ YY_DECL
|
|
|
|
{
|
|
|
|
{
|
|
|
|
#line 6 "lexer.l"
|
|
|
|
#line 6 "lexer.l"
|
|
|
|
|
|
|
|
|
|
|
|
#line 666 "lexer.flex.cpp"
|
|
|
|
#line 668 "lexer.flex.cpp"
|
|
|
|
|
|
|
|
|
|
|
|
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
|
|
|
|
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -690,13 +692,13 @@ yy_match:
|
|
|
|
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
|
|
|
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
yy_current_state = (int) yy_def[yy_current_state];
|
|
|
|
yy_current_state = (int) yy_def[yy_current_state];
|
|
|
|
if ( yy_current_state >= 13 )
|
|
|
|
if ( yy_current_state >= 14 )
|
|
|
|
yy_c = yy_meta[yy_c];
|
|
|
|
yy_c = yy_meta[yy_c];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
|
|
|
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
|
|
|
++yy_cp;
|
|
|
|
++yy_cp;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
while ( yy_base[yy_current_state] != 13 );
|
|
|
|
while ( yy_base[yy_current_state] != 16 );
|
|
|
|
|
|
|
|
|
|
|
|
yy_find_action:
|
|
|
|
yy_find_action:
|
|
|
|
yy_act = yy_accept[yy_current_state];
|
|
|
|
yy_act = yy_accept[yy_current_state];
|
|
|
@ -728,26 +730,31 @@ YY_RULE_SETUP
|
|
|
|
case 2:
|
|
|
|
case 2:
|
|
|
|
YY_RULE_SETUP
|
|
|
|
YY_RULE_SETUP
|
|
|
|
#line 8 "lexer.l"
|
|
|
|
#line 8 "lexer.l"
|
|
|
|
{ strcpy(yylval.vinstr_name, yytext); return VINSTR; }
|
|
|
|
{ strcpy(yylval.label_name, yytext); return LABEL; }
|
|
|
|
YY_BREAK
|
|
|
|
YY_BREAK
|
|
|
|
case 3:
|
|
|
|
case 3:
|
|
|
|
/* rule 3 can match eol */
|
|
|
|
|
|
|
|
YY_RULE_SETUP
|
|
|
|
YY_RULE_SETUP
|
|
|
|
#line 9 "lexer.l"
|
|
|
|
#line 9 "lexer.l"
|
|
|
|
{ yylineno++; }
|
|
|
|
{ strcpy(yylval.vinstr_name, yytext); return VINSTR; }
|
|
|
|
YY_BREAK
|
|
|
|
YY_BREAK
|
|
|
|
case 4:
|
|
|
|
case 4:
|
|
|
|
/* rule 4 can match eol */
|
|
|
|
/* rule 4 can match eol */
|
|
|
|
YY_RULE_SETUP
|
|
|
|
YY_RULE_SETUP
|
|
|
|
#line 10 "lexer.l"
|
|
|
|
#line 10 "lexer.l"
|
|
|
|
|
|
|
|
{ yylineno++; }
|
|
|
|
YY_BREAK
|
|
|
|
YY_BREAK
|
|
|
|
case 5:
|
|
|
|
case 5:
|
|
|
|
|
|
|
|
/* rule 5 can match eol */
|
|
|
|
YY_RULE_SETUP
|
|
|
|
YY_RULE_SETUP
|
|
|
|
#line 11 "lexer.l"
|
|
|
|
#line 11 "lexer.l"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
YY_BREAK
|
|
|
|
|
|
|
|
case 6:
|
|
|
|
|
|
|
|
YY_RULE_SETUP
|
|
|
|
|
|
|
|
#line 12 "lexer.l"
|
|
|
|
ECHO;
|
|
|
|
ECHO;
|
|
|
|
YY_BREAK
|
|
|
|
YY_BREAK
|
|
|
|
#line 750 "lexer.flex.cpp"
|
|
|
|
#line 757 "lexer.flex.cpp"
|
|
|
|
case YY_STATE_EOF(INITIAL):
|
|
|
|
case YY_STATE_EOF(INITIAL):
|
|
|
|
yyterminate();
|
|
|
|
yyterminate();
|
|
|
|
|
|
|
|
|
|
|
@ -1044,7 +1051,7 @@ static int yy_get_next_buffer (void)
|
|
|
|
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
|
|
|
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
yy_current_state = (int) yy_def[yy_current_state];
|
|
|
|
yy_current_state = (int) yy_def[yy_current_state];
|
|
|
|
if ( yy_current_state >= 13 )
|
|
|
|
if ( yy_current_state >= 14 )
|
|
|
|
yy_c = yy_meta[yy_c];
|
|
|
|
yy_c = yy_meta[yy_c];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
|
|
|
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
|
|
@ -1072,11 +1079,11 @@ static int yy_get_next_buffer (void)
|
|
|
|
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
|
|
|
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
yy_current_state = (int) yy_def[yy_current_state];
|
|
|
|
yy_current_state = (int) yy_def[yy_current_state];
|
|
|
|
if ( yy_current_state >= 13 )
|
|
|
|
if ( yy_current_state >= 14 )
|
|
|
|
yy_c = yy_meta[yy_c];
|
|
|
|
yy_c = yy_meta[yy_c];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
|
|
|
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
|
|
|
yy_is_jam = (yy_current_state == 12);
|
|
|
|
yy_is_jam = (yy_current_state == 13);
|
|
|
|
|
|
|
|
|
|
|
|
return yy_is_jam ? 0 : yy_current_state;
|
|
|
|
return yy_is_jam ? 0 : yy_current_state;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -1752,5 +1759,5 @@ void yyfree (void * ptr )
|
|
|
|
|
|
|
|
|
|
|
|
#define YYTABLES_NAME "yytables"
|
|
|
|
#define YYTABLES_NAME "yytables"
|
|
|
|
|
|
|
|
|
|
|
|
#line 11 "lexer.l"
|
|
|
|
#line 12 "lexer.l"
|
|
|
|
|
|
|
|
|
|
|
|