VIRTUAL I32 whichsig _((char* sig));
VIRTUAL int yyerror _((char* s));
#ifdef USE_PURE_BISON
-VIRTUAL int yylex _((YYSTYPE* lvalp, int* lcharp));
+# define PERL_YYLEX_PARAM_DECL YYSTYPE *, int *
#else
-VIRTUAL int yylex _((void));
+# define PERL_YYLEX_PARAM_DECL
#endif
+VIRTUAL int yylex _((PERL_YYLEX_PARAM_DECL));
VIRTUAL int yyparse _((void));
VIRTUAL int yywarn _((char* s));
#endif
#define yylval (*yylval_pointer)
#define yychar (*yychar_pointer)
-#define YYLEXPARAM yylval_pointer,yychar_pointer
-#else
-#define YYLEXPARAM
#endif
#include "keywords.h"
if (PL_lex_casemods) { /* oops, we've got some unbalanced parens */
PL_lex_state = LEX_INTERPCASEMOD;
- return yylex(YYLEXPARAM);
+ return yylex(PERL_YYLEX_PARAM_DECL);
}
/* Is there a right-hand side to take care of? */
if we already built the token before, use it.
*/
-int yylex
-#ifdef USE_PURE_BISON
-(YYSTYPE* lvalp, int* lcharp)
-#else
-(void)
-#endif
+int yylex(PERL_YYLEX_PARAM_DECL)
{
dTHR;
register char *s;
if (PL_bufptr != PL_bufend)
PL_bufptr += 2;
PL_lex_state = LEX_INTERPCONCAT;
- return yylex(YYLEXPARAM);
+ return yylex(PERL_YYLEX_PARAM_DECL);
}
else {
s = PL_bufptr + 1;
Aop(OP_CONCAT);
}
else
- return yylex(YYLEXPARAM);
+ return yylex(PERL_YYLEX_PARAM_DECL);
}
case LEX_INTERPPUSH:
s = PL_bufptr;
Aop(OP_CONCAT);
}
- return yylex(YYLEXPARAM);
+ return yylex(PERL_YYLEX_PARAM_DECL);
case LEX_INTERPENDMAYBE:
if (intuit_more(PL_bufptr)) {
Aop(OP_CONCAT);
else {
PL_bufptr = s;
- return yylex(YYLEXPARAM);
+ return yylex(PERL_YYLEX_PARAM_DECL);
}
}
- return yylex(YYLEXPARAM);
+ return yylex(PERL_YYLEX_PARAM_DECL);
case LEX_FORMLINE:
PL_lex_state = LEX_NORMAL;
s = scan_formline(PL_bufptr);
if (PL_lex_formbrack && PL_lex_brackets <= PL_lex_formbrack) {
PL_bufptr = s;
PL_lex_state = LEX_FORMLINE;
- return yylex(YYLEXPARAM);
+ return yylex(PERL_YYLEX_PARAM_DECL);
}
goto retry;
case '\r':
if (PL_lex_formbrack && PL_lex_brackets <= PL_lex_formbrack) {
PL_bufptr = s;
PL_lex_state = LEX_FORMLINE;
- return yylex(YYLEXPARAM);
+ return yylex(PERL_YYLEX_PARAM_DECL);
}
}
else {
if (PL_lex_fakebrack) {
PL_lex_state = LEX_INTERPEND;
PL_bufptr = s;
- return yylex(YYLEXPARAM); /* ignore fake brackets */
+ return yylex(PERL_YYLEX_PARAM_DECL); /* ignore fake brackets */
}
if (*s == '-' && s[1] == '>')
PL_lex_state = LEX_INTERPENDMAYBE;
if (PL_lex_brackets < PL_lex_fakebrack) {
PL_bufptr = s;
PL_lex_fakebrack = 0;
- return yylex(YYLEXPARAM); /* ignore fake brackets */
+ return yylex(PERL_YYLEX_PARAM_DECL); /* ignore fake brackets */
}
force_next('}');
TOKEN(';');