Skip to content

Commit

Permalink
replace "yylval" with "pylval" to make it compile with byacc.
Browse files Browse the repository at this point in the history
  • Loading branch information
tsahara committed Feb 24, 2017
1 parent a9f7b41 commit da4f8e1
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 39 deletions.
4 changes: 2 additions & 2 deletions mrbgems/mruby-bin-mruby/bintest/mruby.rb
Expand Up @@ -2,9 +2,9 @@


assert('regression for #1564') do assert('regression for #1564') do
o = `#{cmd('mruby')} -e #{shellquote('<<')} 2>&1` o = `#{cmd('mruby')} -e #{shellquote('<<')} 2>&1`
assert_equal o, "-e:1:2: syntax error, unexpected tLSHFT\n" assert_include o, "-e:1:2: syntax error"
o = `#{cmd('mruby')} -e #{shellquote('<<-')} 2>&1` o = `#{cmd('mruby')} -e #{shellquote('<<-')} 2>&1`
assert_equal o, "-e:1:3: syntax error, unexpected tLSHFT\n" assert_include o, "-e:1:3: syntax error"
end end


assert('regression for #1572') do assert('regression for #1572') do
Expand Down
74 changes: 37 additions & 37 deletions mrbgems/mruby-compiler/core/parse.y
Expand Up @@ -3327,7 +3327,7 @@ none : /* none */
} }
; ;
%% %%
#define yylval (*((YYSTYPE*)(p->ylval))) #define pylval (*((YYSTYPE*)(p->ylval)))


static void static void
yyerror(parser_state *p, const char *s) yyerror(parser_state *p, const char *s)
Expand Down Expand Up @@ -3962,7 +3962,7 @@ parse_string(parser_state *p)
yyerror(p, buf); yyerror(p, buf);
return 0; return 0;
} }
yylval.nd = new_str(p, tok(p), toklen(p)); pylval.nd = new_str(p, tok(p), toklen(p));
return tHD_STRING_MID; return tHD_STRING_MID;
} }
if (c < 0) { if (c < 0) {
Expand Down Expand Up @@ -4035,7 +4035,7 @@ parse_string(parser_state *p)
tokfix(p); tokfix(p);
p->lstate = EXPR_BEG; p->lstate = EXPR_BEG;
p->cmd_start = TRUE; p->cmd_start = TRUE;
yylval.nd = new_str(p, tok(p), toklen(p)); pylval.nd = new_str(p, tok(p), toklen(p));
if (hinf) { if (hinf) {
hinf->line_head = FALSE; hinf->line_head = FALSE;
return tHD_STRING_PART; return tHD_STRING_PART;
Expand Down Expand Up @@ -4065,7 +4065,7 @@ parse_string(parser_state *p)
else { else {
pushback(p, c); pushback(p, c);
tokfix(p); tokfix(p);
yylval.nd = new_str(p, tok(p), toklen(p)); pylval.nd = new_str(p, tok(p), toklen(p));
return tSTRING_MID; return tSTRING_MID;
} }
} }
Expand All @@ -4077,7 +4077,7 @@ parse_string(parser_state *p)
end_strterm(p); end_strterm(p);


if (type & STR_FUNC_XQUOTE) { if (type & STR_FUNC_XQUOTE) {
yylval.nd = new_xstr(p, tok(p), toklen(p)); pylval.nd = new_xstr(p, tok(p), toklen(p));
return tXSTRING; return tXSTRING;
} }


Expand Down Expand Up @@ -4127,11 +4127,11 @@ parse_string(parser_state *p)
} else { } else {
encp = NULL; encp = NULL;
} }
yylval.nd = new_regx(p, s, dup, encp); pylval.nd = new_regx(p, s, dup, encp);


return tREGEXP; return tREGEXP;
} }
yylval.nd = new_str(p, tok(p), toklen(p)); pylval.nd = new_str(p, tok(p), toklen(p));
if (IS_LABEL_POSSIBLE()) { if (IS_LABEL_POSSIBLE()) {
if (IS_LABEL_SUFFIX(0)) { if (IS_LABEL_SUFFIX(0)) {
p->lstate = EXPR_BEG; p->lstate = EXPR_BEG;
Expand Down Expand Up @@ -4209,7 +4209,7 @@ heredoc_identifier(parser_state *p)
p->heredocs_from_nextline = push(p->heredocs_from_nextline, newnode); p->heredocs_from_nextline = push(p->heredocs_from_nextline, newnode);
p->lstate = EXPR_END; p->lstate = EXPR_END;


yylval.nd = newnode; pylval.nd = newnode;
return tHEREDOC_BEG; return tHEREDOC_BEG;
} }


Expand Down Expand Up @@ -4313,7 +4313,7 @@ parser_yylex(parser_state *p)
case '*': case '*':
if ((c = nextc(p)) == '*') { if ((c = nextc(p)) == '*') {
if ((c = nextc(p)) == '=') { if ((c = nextc(p)) == '=') {
yylval.id = intern("**",2); pylval.id = intern("**",2);
p->lstate = EXPR_BEG; p->lstate = EXPR_BEG;
return tOP_ASGN; return tOP_ASGN;
} }
Expand All @@ -4322,7 +4322,7 @@ parser_yylex(parser_state *p)
} }
else { else {
if (c == '=') { if (c == '=') {
yylval.id = intern_c('*'); pylval.id = intern_c('*');
p->lstate = EXPR_BEG; p->lstate = EXPR_BEG;
return tOP_ASGN; return tOP_ASGN;
} }
Expand Down Expand Up @@ -4438,7 +4438,7 @@ parser_yylex(parser_state *p)
} }
if (c == '<') { if (c == '<') {
if ((c = nextc(p)) == '=') { if ((c = nextc(p)) == '=') {
yylval.id = intern("<<",2); pylval.id = intern("<<",2);
p->lstate = EXPR_BEG; p->lstate = EXPR_BEG;
return tOP_ASGN; return tOP_ASGN;
} }
Expand All @@ -4460,7 +4460,7 @@ parser_yylex(parser_state *p)
} }
if (c == '>') { if (c == '>') {
if ((c = nextc(p)) == '=') { if ((c = nextc(p)) == '=') {
yylval.id = intern(">>",2); pylval.id = intern(">>",2);
p->lstate = EXPR_BEG; p->lstate = EXPR_BEG;
return tOP_ASGN; return tOP_ASGN;
} }
Expand Down Expand Up @@ -4557,15 +4557,15 @@ parser_yylex(parser_state *p)
tokadd(p, c); tokadd(p, c);
} }
tokfix(p); tokfix(p);
yylval.nd = new_str(p, tok(p), toklen(p)); pylval.nd = new_str(p, tok(p), toklen(p));
p->lstate = EXPR_END; p->lstate = EXPR_END;
return tCHAR; return tCHAR;


case '&': case '&':
if ((c = nextc(p)) == '&') { if ((c = nextc(p)) == '&') {
p->lstate = EXPR_BEG; p->lstate = EXPR_BEG;
if ((c = nextc(p)) == '=') { if ((c = nextc(p)) == '=') {
yylval.id = intern("&&",2); pylval.id = intern("&&",2);
p->lstate = EXPR_BEG; p->lstate = EXPR_BEG;
return tOP_ASGN; return tOP_ASGN;
} }
Expand All @@ -4577,7 +4577,7 @@ parser_yylex(parser_state *p)
return tANDDOT; return tANDDOT;
} }
else if (c == '=') { else if (c == '=') {
yylval.id = intern_c('&'); pylval.id = intern_c('&');
p->lstate = EXPR_BEG; p->lstate = EXPR_BEG;
return tOP_ASGN; return tOP_ASGN;
} }
Expand All @@ -4604,15 +4604,15 @@ parser_yylex(parser_state *p)
if ((c = nextc(p)) == '|') { if ((c = nextc(p)) == '|') {
p->lstate = EXPR_BEG; p->lstate = EXPR_BEG;
if ((c = nextc(p)) == '=') { if ((c = nextc(p)) == '=') {
yylval.id = intern("||",2); pylval.id = intern("||",2);
p->lstate = EXPR_BEG; p->lstate = EXPR_BEG;
return tOP_ASGN; return tOP_ASGN;
} }
pushback(p, c); pushback(p, c);
return tOROP; return tOROP;
} }
if (c == '=') { if (c == '=') {
yylval.id = intern_c('|'); pylval.id = intern_c('|');
p->lstate = EXPR_BEG; p->lstate = EXPR_BEG;
return tOP_ASGN; return tOP_ASGN;
} }
Expand All @@ -4636,7 +4636,7 @@ parser_yylex(parser_state *p)
return '+'; return '+';
} }
if (c == '=') { if (c == '=') {
yylval.id = intern_c('+'); pylval.id = intern_c('+');
p->lstate = EXPR_BEG; p->lstate = EXPR_BEG;
return tOP_ASGN; return tOP_ASGN;
} }
Expand Down Expand Up @@ -4664,7 +4664,7 @@ parser_yylex(parser_state *p)
return '-'; return '-';
} }
if (c == '=') { if (c == '=') {
yylval.id = intern_c('-'); pylval.id = intern_c('-');
p->lstate = EXPR_BEG; p->lstate = EXPR_BEG;
return tOP_ASGN; return tOP_ASGN;
} }
Expand Down Expand Up @@ -4738,7 +4738,7 @@ parser_yylex(parser_state *p)
no_digits(); no_digits();
} }
else if (nondigit) goto trailing_uc; else if (nondigit) goto trailing_uc;
yylval.nd = new_int(p, tok(p), 16); pylval.nd = new_int(p, tok(p), 16);
return tINTEGER; return tINTEGER;
} }
if (c == 'b' || c == 'B') { if (c == 'b' || c == 'B') {
Expand All @@ -4762,7 +4762,7 @@ parser_yylex(parser_state *p)
no_digits(); no_digits();
} }
else if (nondigit) goto trailing_uc; else if (nondigit) goto trailing_uc;
yylval.nd = new_int(p, tok(p), 2); pylval.nd = new_int(p, tok(p), 2);
return tINTEGER; return tINTEGER;
} }
if (c == 'd' || c == 'D') { if (c == 'd' || c == 'D') {
Expand All @@ -4786,7 +4786,7 @@ parser_yylex(parser_state *p)
no_digits(); no_digits();
} }
else if (nondigit) goto trailing_uc; else if (nondigit) goto trailing_uc;
yylval.nd = new_int(p, tok(p), 10); pylval.nd = new_int(p, tok(p), 10);
return tINTEGER; return tINTEGER;
} }
if (c == '_') { if (c == '_') {
Expand Down Expand Up @@ -4819,7 +4819,7 @@ parser_yylex(parser_state *p)
pushback(p, c); pushback(p, c);
tokfix(p); tokfix(p);
if (nondigit) goto trailing_uc; if (nondigit) goto trailing_uc;
yylval.nd = new_int(p, tok(p), 8); pylval.nd = new_int(p, tok(p), 8);
return tINTEGER; return tINTEGER;
} }
if (nondigit) { if (nondigit) {
Expand All @@ -4836,7 +4836,7 @@ parser_yylex(parser_state *p)
} }
else { else {
pushback(p, c); pushback(p, c);
yylval.nd = new_int(p, "0", 10); pylval.nd = new_int(p, "0", 10);
return tINTEGER; return tINTEGER;
} }
} }
Expand Down Expand Up @@ -4920,10 +4920,10 @@ parser_yylex(parser_state *p)
yywarning_s(p, "float %s out of range", tok(p)); yywarning_s(p, "float %s out of range", tok(p));
errno = 0; errno = 0;
} }
yylval.nd = new_float(p, tok(p)); pylval.nd = new_float(p, tok(p));
return tFLOAT; return tFLOAT;
} }
yylval.nd = new_int(p, tok(p), 10); pylval.nd = new_int(p, tok(p), 10);
return tINTEGER; return tINTEGER;
} }


Expand Down Expand Up @@ -4965,7 +4965,7 @@ parser_yylex(parser_state *p)
return tREGEXP_BEG; return tREGEXP_BEG;
} }
if ((c = nextc(p)) == '=') { if ((c = nextc(p)) == '=') {
yylval.id = intern_c('/'); pylval.id = intern_c('/');
p->lstate = EXPR_BEG; p->lstate = EXPR_BEG;
return tOP_ASGN; return tOP_ASGN;
} }
Expand All @@ -4984,7 +4984,7 @@ parser_yylex(parser_state *p)


case '^': case '^':
if ((c = nextc(p)) == '=') { if ((c = nextc(p)) == '=') {
yylval.id = intern_c('^'); pylval.id = intern_c('^');
p->lstate = EXPR_BEG; p->lstate = EXPR_BEG;
return tOP_ASGN; return tOP_ASGN;
} }
Expand Down Expand Up @@ -5158,7 +5158,7 @@ parser_yylex(parser_state *p)
} }
} }
if ((c = nextc(p)) == '=') { if ((c = nextc(p)) == '=') {
yylval.id = intern_c('%'); pylval.id = intern_c('%');
p->lstate = EXPR_BEG; p->lstate = EXPR_BEG;
return tOP_ASGN; return tOP_ASGN;
} }
Expand Down Expand Up @@ -5212,7 +5212,7 @@ parser_yylex(parser_state *p)
tokadd(p, '$'); tokadd(p, '$');
tokadd(p, c); tokadd(p, c);
tokfix(p); tokfix(p);
yylval.id = intern_cstr(tok(p)); pylval.id = intern_cstr(tok(p));
return tGVAR; return tGVAR;


case '-': case '-':
Expand All @@ -5222,7 +5222,7 @@ parser_yylex(parser_state *p)
pushback(p, c); pushback(p, c);
gvar: gvar:
tokfix(p); tokfix(p);
yylval.id = intern_cstr(tok(p)); pylval.id = intern_cstr(tok(p));
return tGVAR; return tGVAR;


case '&': /* $&: last match */ case '&': /* $&: last match */
Expand All @@ -5234,7 +5234,7 @@ parser_yylex(parser_state *p)
tokadd(p, c); tokadd(p, c);
goto gvar; goto gvar;
} }
yylval.nd = new_back_ref(p, c); pylval.nd = new_back_ref(p, c);
return tBACK_REF; return tBACK_REF;


case '1': case '2': case '3': case '1': case '2': case '3':
Expand All @@ -5253,7 +5253,7 @@ parser_yylex(parser_state *p)
yyerror_i(p, "capture group index must be <= %d", INT_MAX); yyerror_i(p, "capture group index must be <= %d", INT_MAX);
return 0; return 0;
} }
yylval.nd = new_nth_ref(p, (int)n); pylval.nd = new_nth_ref(p, (int)n);
} }
return tNTH_REF; return tNTH_REF;


Expand Down Expand Up @@ -5381,7 +5381,7 @@ parser_yylex(parser_state *p)
p->lstate = EXPR_BEG; p->lstate = EXPR_BEG;
nextc(p); nextc(p);
tokfix(p); tokfix(p);
yylval.id = intern_cstr(tok(p)); pylval.id = intern_cstr(tok(p));
return tLABEL; return tLABEL;
} }
} }
Expand All @@ -5392,10 +5392,10 @@ parser_yylex(parser_state *p)
kw = mrb_reserved_word(tok(p), toklen(p)); kw = mrb_reserved_word(tok(p), toklen(p));
if (kw) { if (kw) {
enum mrb_lex_state_enum state = p->lstate; enum mrb_lex_state_enum state = p->lstate;
yylval.num = p->lineno; pylval.num = p->lineno;
p->lstate = kw->state; p->lstate = kw->state;
if (state == EXPR_FNAME) { if (state == EXPR_FNAME) {
yylval.id = intern_cstr(kw->name); pylval.id = intern_cstr(kw->name);
return kw->id[0]; return kw->id[0];
} }
if (p->lstate == EXPR_BEG) { if (p->lstate == EXPR_BEG) {
Expand Down Expand Up @@ -5442,7 +5442,7 @@ parser_yylex(parser_state *p)
{ {
mrb_sym ident = intern_cstr(tok(p)); mrb_sym ident = intern_cstr(tok(p));


yylval.id = ident; pylval.id = ident;
#if 0 #if 0
if (last_state != EXPR_DOT && islower(tok(p)[0]) && lvar_defined(ident)) { if (last_state != EXPR_DOT && islower(tok(p)[0]) && lvar_defined(ident)) {
p->lstate = EXPR_END; p->lstate = EXPR_END;
Expand Down

0 comments on commit da4f8e1

Please sign in to comment.