diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2000-10-28 16:02:47 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2000-10-28 16:02:47 +0000 |
commit | dba4d15314674d8e2372d6f7a985345787581cbb (patch) | |
tree | 234455629f7743610048270294f4bc627f10234e /toke.c | |
parent | 47deb5e7d69449fbaa65f4bd4f42d66014743a75 (diff) | |
download | perl-dba4d15314674d8e2372d6f7a985345787581cbb.tar.gz |
The reëntrant version shouldn't be needed unless USE_PURE_BISON.
p4raw-id: //depot/perl@7465
Diffstat (limited to 'toke.c')
-rw-r--r-- | toke.c | 36 |
1 files changed, 19 insertions, 17 deletions
@@ -80,9 +80,9 @@ static I32 utf16rev_textfilter(pTHXo_ int idx, SV *sv, int maxlen); #endif #ifdef USE_PURE_BISON -#ifndef YYMAXLEVEL -#define YYMAXLEVEL 100 -#endif +# ifndef YYMAXLEVEL +# define YYMAXLEVEL 100 +# endif YYSTYPE* yylval_pointer[YYMAXLEVEL]; int* yychar_pointer[YYMAXLEVEL]; int yyactlevel = 0; @@ -92,7 +92,7 @@ int yyactlevel = 0; # define yychar (*yychar_pointer[yyactlevel]) # define PERL_YYLEX_PARAM yylval_pointer[yyactlevel],yychar_pointer[yyactlevel] # undef yylex -# define yylex() Perl_yylex(aTHX_ yylval_pointer[yyactlevel],yychar_pointer[yyactlevel]) +# define yylex() Perl_yylex_r(aTHX_ yylval_pointer[yyactlevel],yychar_pointer[yyactlevel]) #endif #include "keywords.h" @@ -2071,38 +2071,40 @@ S_find_in_my_stash(pTHX_ char *pkgname, I32 len) if we already built the token before, use it. */ +#ifdef USE_PURE_BISON #ifdef __SC__ -#pragma segment Perl_yylex +#pragma segment Perl_yylex_r #endif int -#ifdef USE_PURE_BISON -Perl_yylex(pTHX_ YYSTYPE *lvalp, int *lcharp) -#else -Perl_yylex(pTHX) -#endif +Perl_yylex_r(pTHX_ YYSTYPE *lvalp, int *lcharp) { dTHR; int r; -#ifdef USE_PURE_BISON yylval_pointer[yyactlevel] = lvalp; yychar_pointer[yyactlevel] = lcharp; yyactlevel++; if (yyactlevel >= YYMAXLEVEL) Perl_croak(aTHX_ "panic: YYMAXLEVEL"); -#endif - r = S_syylex(aTHX); + r = Perl_yylex(aTHX); -#ifdef USE_PURE_BISON yyactlevel--; -#endif return r; } +#endif -STATIC int -S_syylex(pTHX) /* need to be separate from yylex for reentrancy */ +#ifdef __SC__ +#pragma segment Perl_yylex +#endif + +int +#ifdef USE_PURE_BISON +Perl_yylex(pTHX_ YYSTYPE *lvalp, int *lcharp) +#else +Perl_yylex(pTHX) +#endif { dTHR; register char *s; |