# INI parser/scanner rules
zend_ini_parser.c: $(srcdir)/zend_ini_parser.y
- $(YACC) -p zend_ini -v -d $(srcdir)/zend_ini_parser.y -o zend_ini_parser.c
+ $(YACC) -p ini -v -d $(srcdir)/zend_ini_parser.y -o zend_ini_parser.c
zend_ini_scanner.c: $(srcdir)/zend_ini_scanner.l
- $(LEX) -Pzend_ini -o$@ -i $(srcdir)/zend_ini_scanner.l
+ $(LEX) -Pini -o$@ -i $(srcdir)/zend_ini_scanner.l
zend_ini_scanner_cc.cc: $(srcdir)/zend_ini_scanner.l
- $(LEX) -+ -B -i -S$(srcdir)/flex.skl -Pzend_ini -o$@ $(srcdir)/zend_ini_scanner.l
+ $(LEX) -+ -B -i -S$(srcdir)/flex.skl -Pini -o$@ $(srcdir)/zend_ini_scanner.l
depend:
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
# Begin Source File\r
\r
-SOURCE=".\zend_language_parser.c"\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=".\zend_language_scanner.cpp"\r
-# End Source File\r
-# Begin Source File\r
-\r
SOURCE=.\zend.c\r
# End Source File\r
# Begin Source File\r
# End Source File\r
# Begin Source File\r
\r
+SOURCE=".\zend_language_parser.c"\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=".\zend_language_scanner.cpp"\r
+# End Source File\r
+# Begin Source File\r
+\r
SOURCE=.\zend_list.c\r
# End Source File\r
# Begin Source File\r
# End Source File\r
# Begin Source File\r
\r
-SOURCE=".\zend_language_parser.h"\r
-# End Source File\r
-# Begin Source File\r
-\r
-SOURCE=".\zend_language_scanner.h"\r
-# End Source File\r
-# Begin Source File\r
-\r
SOURCE=.\zend.h\r
# End Source File\r
# Begin Source File\r
# End Source File\r
# Begin Source File\r
\r
+SOURCE=".\zend_language_parser.h"\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=".\zend_language_scanner.h"\r
+# End Source File\r
+# Begin Source File\r
+\r
SOURCE=.\zend_list.h\r
# End Source File\r
# Begin Source File\r
# PROP Default_Filter "y"\r
# Begin Source File\r
\r
+SOURCE=.\zend_ini_parser.y\r
+\r
+!IF "$(CFG)" == "ZendTS - Win32 Release_TS"\r
+\r
+# Begin Custom Build\r
+InputDir=.\r
+InputPath=.\zend_ini_parser.y\r
+\r
+BuildCmds= \\r
+ if not "X%CYGWIN%"=="X" bison --output=zend_ini_parser.c -v -d -S "%CYGWIN%\share\bison.simple" -p zend_ini zend_ini_parser.y \\r
+ if "X%CYGWIN%"=="X" bison --output=zend_ini_parser.c -v -d -S "C:\Program Files\Cygnus\share\bison.simple" -p zend_ini zend_ini_parser.y \\r
+ \r
+\r
+"$(InputDir)\zend_ini_parser.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"\r
+ $(BuildCmds)\r
+\r
+"$(InputDir)\zend_ini_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"\r
+ $(BuildCmds)\r
+# End Custom Build\r
+\r
+!ELSEIF "$(CFG)" == "ZendTS - Win32 Debug_TS"\r
+\r
+# Begin Custom Build\r
+InputDir=.\r
+InputPath=.\zend_ini_parser.y\r
+\r
+BuildCmds= \\r
+ if not "X%CYGWIN%"=="X" bison --output=zend_ini_parser.c -v -d -S "%CYGWIN%\share\bison.simple" -p zend_ini zend_ini_parser.y \\r
+ if "X%CYGWIN%"=="X" bison --output=zend_ini_parser.c -v -d -S "C:\Program Files\Cygnus\share\bison.simple" -p zend_ini zend_ini_parser.y \\r
+ \r
+\r
+"$(InputDir)\zend_ini_parser.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"\r
+ $(BuildCmds)\r
+\r
+"$(InputDir)\zend_ini_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"\r
+ $(BuildCmds)\r
+# End Custom Build\r
+\r
+!ELSEIF "$(CFG)" == "ZendTS - Win32 Release_TS_inline"\r
+\r
+# Begin Custom Build\r
+InputDir=.\r
+InputPath=.\zend_ini_parser.y\r
+\r
+BuildCmds= \\r
+ if not "X%CYGWIN%"=="X" bison --output=zend_ini_parser.c -v -d -S "%CYGWIN%\share\bison.simple" -p zend_ini zend_ini_parser.y \\r
+ if "X%CYGWIN%"=="X" bison --output=zend_ini_parser.c -v -d -S "C:\Program Files\Cygnus\share\bison.simple" -p zend_ini zend_ini_parser.y \\r
+ \r
+\r
+"$(InputDir)\zend_ini_parser.c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"\r
+ $(BuildCmds)\r
+\r
+"$(InputDir)\zend_ini_parser.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"\r
+ $(BuildCmds)\r
+# End Custom Build\r
+\r
+!ENDIF \r
+\r
+# End Source File\r
+# Begin Source File\r
+\r
SOURCE=".\zend_language_parser.y"\r
\r
!IF "$(CFG)" == "ZendTS - Win32 Release_TS"\r
# PROP Default_Filter "l"\r
# Begin Source File\r
\r
+SOURCE=.\zend_ini_scanner.l\r
+\r
+!IF "$(CFG)" == "ZendTS - Win32 Release_TS"\r
+\r
+# Begin Custom Build\r
+InputPath=.\zend_ini_scanner.l\r
+\r
+"zend_ini_scanner.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"\r
+ flex -+ -B -i -Sflex.skl -Pzend_ini -ozend_ini_scanner.cpp zend_ini_scanner.l\r
+\r
+# End Custom Build\r
+\r
+!ELSEIF "$(CFG)" == "ZendTS - Win32 Debug_TS"\r
+\r
+# Begin Custom Build\r
+InputPath=.\zend_ini_scanner.l\r
+\r
+"zend_ini_scanner.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"\r
+ flex -+ -B -i -Sflex.skl -Pzend_ini -ozend_ini_scanner.cpp zend_ini_scanner.l\r
+\r
+# End Custom Build\r
+\r
+!ELSEIF "$(CFG)" == "ZendTS - Win32 Release_TS_inline"\r
+\r
+# Begin Custom Build\r
+InputPath=.\zend_ini_scanner.l\r
+\r
+"zend_ini_scanner.cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"\r
+ flex -+ -B -i -Sflex.skl -Pzend_ini -ozend_ini_scanner.cpp zend_ini_scanner.l\r
+\r
+# End Custom Build\r
+\r
+!ENDIF \r
+\r
+# End Source File\r
+# Begin Source File\r
+\r
SOURCE=".\zend_language_scanner.l"\r
\r
!IF "$(CFG)" == "ZendTS - Win32 Release_TS"\r
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <winbase.h>
-#include "win32/wfile.h"
+//#include "win32/wfile.h"
#endif
#define YYSTYPE zval
#include "zend.h"
#include "zend_ini_parser.h"
+#include "zend_ini_scanner.h"
#undef YYSTYPE
#define YYSTYPE zval
-#define YY_DECL cfglex(zval *cfglval)
-
+#ifdef ZTS
+#define YY_DECL int ZendIniFlexLexer::lex_scan(zval *inilval CLS_DC)
+#else
+#define YY_DECL int ini_lex_scan(zval *inilval CLS_DC)
+#endif
+#ifndef ZTS
void init_cfg_scanner()
{
- cfglineno=1;
+ inilineno=1;
}
+#endif
%}
<INITIAL>[ ]*("true"|"on"|"yes")[ ]* {
- cfglval->value.str.val = zend_strndup("1",1);
- cfglval->value.str.len = 1;
- cfglval->type = IS_STRING;
+ inilval->value.str.val = zend_strndup("1",1);
+ inilval->value.str.len = 1;
+ inilval->type = IS_STRING;
return CFG_TRUE;
}
<INITIAL>[ ]*("false"|"off"|"no"|"none")[ ]* {
- cfglval->value.str.val = zend_strndup("",0);
- cfglval->value.str.len = 0;
- cfglval->type = IS_STRING;
+ inilval->value.str.val = zend_strndup("",0);
+ inilval->value.str.len = 0;
+ inilval->type = IS_STRING;
return CFG_FALSE;
}
yytext++;
yyleng--;
- cfglval->value.str.val = zend_strndup(yytext,yyleng);
- cfglval->value.str.len = yyleng;
- cfglval->type = IS_STRING;
+ inilval->value.str.val = zend_strndup(yytext,yyleng);
+ inilval->value.str.len = yyleng;
+ inilval->type = IS_STRING;
return SECTION;
}
/* eat leading " */
yytext++;
- cfglval->value.str.val = zend_strndup(yytext, yyleng - 2);
- cfglval->value.str.len = yyleng - 2;
- cfglval->type = IS_STRING;
+ inilval->value.str.val = zend_strndup(yytext, yyleng - 2);
+ inilval->value.str.len = yyleng - 2;
+ inilval->type = IS_STRING;
return TC_ENCAPSULATED_STRING;
}
}
}
if (yyleng!=0) {
- cfglval->value.str.val = zend_strndup(yytext,yyleng);
- cfglval->value.str.len = yyleng;
- cfglval->type = IS_STRING;
+ inilval->value.str.val = zend_strndup(yytext,yyleng);
+ inilval->value.str.len = yyleng;
+ inilval->type = IS_STRING;
return TC_STRING;
} else {
/* whitespace */
#else
#define YY_DECL int lex_scan(zval *zendlval CLS_DC)
#endif
+
#define ECHO { ZEND_WRITE( yytext, yyleng ); }
#ifdef ZTS
class istdiostream : public istream
{
private:
- stdiobuf _file;
+ stdiobuf _file;
public:
- istdiostream (FILE* __f) : istream(), _file(__f) { init(&_file); }
- stdiobuf* rdbuf()/* const */ { return &_file; }
+ istdiostream (FILE* __f) : istream(), _file(__f) { init(&_file); }
+ stdiobuf* rdbuf()/* const */ { return &_file; }
};
#endif