Back to index

php5  5.3.10
Classes | Defines | Typedefs | Enumerations | Functions | Variables
zend_ini_parser.c File Reference
#include "zend.h"
#include "zend_API.h"
#include "zend_ini.h"
#include "zend_constants.h"
#include "zend_ini_scanner.h"
#include "zend_extensions.h"

Go to the source code of this file.

Classes

union  yyalloc

Defines

#define YYBISON   1
#define YYBISON_VERSION   "2.4.1"
#define YYSKELETON_NAME   "yacc.c"
#define YYPURE   1
#define YYPUSH   0
#define YYPULL   1
#define YYLSP_NEEDED   0
#define yyparse   ini_parse
#define yylex   ini_lex
#define yyerror   ini_error
#define yylval   ini_lval
#define yychar   ini_char
#define yydebug   ini_debug
#define yynerrs   ini_nerrs
#define DEBUG_CFG_PARSER   0
#define YYERROR_VERBOSE
#define YYSTYPE   zval
#define ZEND_INI_PARSER_CB   (CG(ini_parser_param))->ini_parser_cb
#define ZEND_INI_PARSER_ARG   (CG(ini_parser_param))->arg
#define YYDEBUG   0
#define YYERROR_VERBOSE   1
#define YYTOKEN_TABLE   0
#define YYTOKENTYPE
#define TC_SECTION   258
#define TC_RAW   259
#define TC_CONSTANT   260
#define TC_NUMBER   261
#define TC_STRING   262
#define TC_WHITESPACE   263
#define TC_LABEL   264
#define TC_OFFSET   265
#define TC_DOLLAR_CURLY   266
#define TC_VARNAME   267
#define TC_QUOTED_STRING   268
#define BOOL_TRUE   269
#define BOOL_FALSE   270
#define END_OF_LINE   271
#define YYSIZE_T   unsigned int
#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)
#define YY_(msgid)   msgid
#define YYUSE(e)   ((void) (e))
#define YYID(n)   (n)
#define YYSTACK_ALLOC   YYMALLOC
#define YYSTACK_FREE   YYFREE
#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM
#define YYMALLOC   malloc
#define YYFREE   free
#define YYSTACK_GAP_MAXIMUM   (sizeof (union yyalloc) - 1)
#define YYSTACK_BYTES(N)
#define YYCOPY(To, From, Count)
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
#define YYFINAL   2
#define YYLAST   109
#define YYNTOKENS   43
#define YYNNTS   13
#define YYNRULES   48
#define YYNSTATES   69
#define YYUNDEFTOK   2
#define YYMAXUTOK   271
#define YYTRANSLATE(YYX)   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
#define YYPACT_NINF   -36
#define YYTABLE_NINF   -1
#define yyerrok   (yyerrstatus = 0)
#define yyclearin   (yychar = YYEMPTY)
#define YYEMPTY   (-2)
#define YYEOF   0
#define YYACCEPT   goto yyacceptlab
#define YYABORT   goto yyabortlab
#define YYERROR   goto yyerrorlab
#define YYFAIL   goto yyerrlab
#define YYRECOVERING()   (!!yyerrstatus)
#define YYBACKUP(Token, Value)
#define YYTERROR   1
#define YYERRCODE   256
#define YYRHSLOC(Rhs, K)   ((Rhs)[K])
#define YYLLOC_DEFAULT(Current, Rhs, N)
#define YY_LOCATION_PRINT(File, Loc)   ((void) 0)
#define YYLEX   yylex (&yylval)
#define YYDPRINTF(Args)
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
#define YY_STACK_PRINT(Bottom, Top)
#define YY_REDUCE_PRINT(Rule)
#define YYINITDEPTH   200
#define YYMAXDEPTH   10000
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))

Typedefs

typedef unsigned char yytype_uint8
typedef short int yytype_int8
typedef unsigned short int yytype_uint16
typedef short int yytype_int16

Enumerations

enum  yytokentype {
  TC_SECTION = 258, TC_RAW = 259, TC_CONSTANT = 260, TC_NUMBER = 261,
  TC_STRING = 262, TC_WHITESPACE = 263, TC_LABEL = 264, TC_OFFSET = 265,
  TC_DOLLAR_CURLY = 266, TC_VARNAME = 267, TC_QUOTED_STRING = 268, BOOL_TRUE = 269,
  BOOL_FALSE = 270, END_OF_LINE = 271, TC_SECTION = 258, TC_RAW = 259,
  TC_CONSTANT = 260, TC_NUMBER = 261, TC_STRING = 262, TC_WHITESPACE = 263,
  TC_LABEL = 264, TC_OFFSET = 265, TC_DOLLAR_CURLY = 266, TC_VARNAME = 267,
  TC_QUOTED_STRING = 268, BOOL_TRUE = 269, BOOL_FALSE = 270, END_OF_LINE = 271,
  T_REQUIRE_ONCE = 258, T_REQUIRE = 259, T_EVAL = 260, T_INCLUDE_ONCE = 261,
  T_INCLUDE = 262, T_LOGICAL_OR = 263, T_LOGICAL_XOR = 264, T_LOGICAL_AND = 265,
  T_PRINT = 266, T_SR_EQUAL = 267, T_SL_EQUAL = 268, T_XOR_EQUAL = 269,
  T_OR_EQUAL = 270, T_AND_EQUAL = 271, T_MOD_EQUAL = 272, T_CONCAT_EQUAL = 273,
  T_DIV_EQUAL = 274, T_MUL_EQUAL = 275, T_MINUS_EQUAL = 276, T_PLUS_EQUAL = 277,
  T_BOOLEAN_OR = 278, T_BOOLEAN_AND = 279, T_IS_NOT_IDENTICAL = 280, T_IS_IDENTICAL = 281,
  T_IS_NOT_EQUAL = 282, T_IS_EQUAL = 283, T_IS_GREATER_OR_EQUAL = 284, T_IS_SMALLER_OR_EQUAL = 285,
  T_SR = 286, T_SL = 287, T_INSTANCEOF = 288, T_UNSET_CAST = 289,
  T_BOOL_CAST = 290, T_OBJECT_CAST = 291, T_ARRAY_CAST = 292, T_STRING_CAST = 293,
  T_DOUBLE_CAST = 294, T_INT_CAST = 295, T_DEC = 296, T_INC = 297,
  T_CLONE = 298, T_NEW = 299, T_EXIT = 300, T_IF = 301,
  T_ELSEIF = 302, T_ELSE = 303, T_ENDIF = 304, T_LNUMBER = 305,
  T_DNUMBER = 306, T_STRING = 307, T_STRING_VARNAME = 308, T_VARIABLE = 309,
  T_NUM_STRING = 310, T_INLINE_HTML = 311, T_CHARACTER = 312, T_BAD_CHARACTER = 313,
  T_ENCAPSED_AND_WHITESPACE = 314, T_CONSTANT_ENCAPSED_STRING = 315, T_ECHO = 316, T_DO = 317,
  T_WHILE = 318, T_ENDWHILE = 319, T_FOR = 320, T_ENDFOR = 321,
  T_FOREACH = 322, T_ENDFOREACH = 323, T_DECLARE = 324, T_ENDDECLARE = 325,
  T_AS = 326, T_SWITCH = 327, T_ENDSWITCH = 328, T_CASE = 329,
  T_DEFAULT = 330, T_BREAK = 331, T_CONTINUE = 332, T_GOTO = 333,
  T_FUNCTION = 334, T_CONST = 335, T_RETURN = 336, T_TRY = 337,
  T_CATCH = 338, T_THROW = 339, T_USE = 340, T_GLOBAL = 341,
  T_PUBLIC = 342, T_PROTECTED = 343, T_PRIVATE = 344, T_FINAL = 345,
  T_ABSTRACT = 346, T_STATIC = 347, T_VAR = 348, T_UNSET = 349,
  T_ISSET = 350, T_EMPTY = 351, T_HALT_COMPILER = 352, T_CLASS = 353,
  T_INTERFACE = 354, T_EXTENDS = 355, T_IMPLEMENTS = 356, T_OBJECT_OPERATOR = 357,
  T_DOUBLE_ARROW = 358, T_LIST = 359, T_ARRAY = 360, T_CLASS_C = 361,
  T_METHOD_C = 362, T_FUNC_C = 363, T_LINE = 364, T_FILE = 365,
  T_COMMENT = 366, T_DOC_COMMENT = 367, T_OPEN_TAG = 368, T_OPEN_TAG_WITH_ECHO = 369,
  T_CLOSE_TAG = 370, T_WHITESPACE = 371, T_START_HEREDOC = 372, T_END_HEREDOC = 373,
  T_DOLLAR_OPEN_CURLY_BRACES = 374, T_CURLY_OPEN = 375, T_PAAMAYIM_NEKUDOTAYIM = 376, T_NAMESPACE = 377,
  T_NS_C = 378, T_DIR = 379, T_NS_SEPARATOR = 380, T_REQUIRE_ONCE = 258,
  T_REQUIRE = 259, T_EVAL = 260, T_INCLUDE_ONCE = 261, T_INCLUDE = 262,
  T_LOGICAL_OR = 263, T_LOGICAL_XOR = 264, T_LOGICAL_AND = 265, T_PRINT = 266,
  T_SR_EQUAL = 267, T_SL_EQUAL = 268, T_XOR_EQUAL = 269, T_OR_EQUAL = 270,
  T_AND_EQUAL = 271, T_MOD_EQUAL = 272, T_CONCAT_EQUAL = 273, T_DIV_EQUAL = 274,
  T_MUL_EQUAL = 275, T_MINUS_EQUAL = 276, T_PLUS_EQUAL = 277, T_BOOLEAN_OR = 278,
  T_BOOLEAN_AND = 279, T_IS_NOT_IDENTICAL = 280, T_IS_IDENTICAL = 281, T_IS_NOT_EQUAL = 282,
  T_IS_EQUAL = 283, T_IS_GREATER_OR_EQUAL = 284, T_IS_SMALLER_OR_EQUAL = 285, T_SR = 286,
  T_SL = 287, T_INSTANCEOF = 288, T_UNSET_CAST = 289, T_BOOL_CAST = 290,
  T_OBJECT_CAST = 291, T_ARRAY_CAST = 292, T_STRING_CAST = 293, T_DOUBLE_CAST = 294,
  T_INT_CAST = 295, T_DEC = 296, T_INC = 297, T_CLONE = 298,
  T_NEW = 299, T_EXIT = 300, T_IF = 301, T_ELSEIF = 302,
  T_ELSE = 303, T_ENDIF = 304, T_LNUMBER = 305, T_DNUMBER = 306,
  T_STRING = 307, T_STRING_VARNAME = 308, T_VARIABLE = 309, T_NUM_STRING = 310,
  T_INLINE_HTML = 311, T_CHARACTER = 312, T_BAD_CHARACTER = 313, T_ENCAPSED_AND_WHITESPACE = 314,
  T_CONSTANT_ENCAPSED_STRING = 315, T_ECHO = 316, T_DO = 317, T_WHILE = 318,
  T_ENDWHILE = 319, T_FOR = 320, T_ENDFOR = 321, T_FOREACH = 322,
  T_ENDFOREACH = 323, T_DECLARE = 324, T_ENDDECLARE = 325, T_AS = 326,
  T_SWITCH = 327, T_ENDSWITCH = 328, T_CASE = 329, T_DEFAULT = 330,
  T_BREAK = 331, T_CONTINUE = 332, T_GOTO = 333, T_FUNCTION = 334,
  T_CONST = 335, T_RETURN = 336, T_TRY = 337, T_CATCH = 338,
  T_THROW = 339, T_USE = 340, T_GLOBAL = 341, T_PUBLIC = 342,
  T_PROTECTED = 343, T_PRIVATE = 344, T_FINAL = 345, T_ABSTRACT = 346,
  T_STATIC = 347, T_VAR = 348, T_UNSET = 349, T_ISSET = 350,
  T_EMPTY = 351, T_HALT_COMPILER = 352, T_CLASS = 353, T_INTERFACE = 354,
  T_EXTENDS = 355, T_IMPLEMENTS = 356, T_OBJECT_OPERATOR = 357, T_DOUBLE_ARROW = 358,
  T_LIST = 359, T_ARRAY = 360, T_CLASS_C = 361, T_METHOD_C = 362,
  T_FUNC_C = 363, T_LINE = 364, T_FILE = 365, T_COMMENT = 366,
  T_DOC_COMMENT = 367, T_OPEN_TAG = 368, T_OPEN_TAG_WITH_ECHO = 369, T_CLOSE_TAG = 370,
  T_WHITESPACE = 371, T_START_HEREDOC = 372, T_END_HEREDOC = 373, T_DOLLAR_OPEN_CURLY_BRACES = 374,
  T_CURLY_OPEN = 375, T_PAAMAYIM_NEKUDOTAYIM = 376, T_NAMESPACE = 377, T_NS_C = 378,
  T_DIR = 379, T_NS_SEPARATOR = 380
}

Functions

int ini_parse (void)
static void zend_ini_do_op (char type, zval *result, zval *op1, zval *op2)
static void zend_ini_init_string (zval *result)
static void zend_ini_add_string (zval *result, zval *op1, zval *op2)
static void zend_ini_get_constant (zval *result, zval *name TSRMLS_DC)
static void zend_ini_get_var (zval *result, zval *name TSRMLS_DC)
static void ini_error (char *msg)
ZEND_API int zend_parse_ini_file (zend_file_handle *fh, zend_bool unbuffered_errors, int scanner_mode, zend_ini_parser_cb_t ini_parser_cb, void *arg TSRMLS_DC)
ZEND_API int zend_parse_ini_string (char *str, zend_bool unbuffered_errors, int scanner_mode, zend_ini_parser_cb_t ini_parser_cb, void *arg TSRMLS_DC)
static YYSIZE_T yystrlen (char *yystr) const
static char * yystpcpy (char *yydest, const char *yysrc)
static YYSIZE_T yytnamerr (char *yyres, const char *yystr)
static YYSIZE_T yysyntax_error (char *yyresult, int yystate, int yychar)
static void yydestruct (char *yymsg, int yytype, YYSTYPE *yyvaluep) const
int yyparse ()

Variables

static const yytype_uint8 yytranslate []
static const char *const yytname []
static const yytype_uint8 yyr1 []
static const yytype_uint8 yyr2 []
static const yytype_uint8 yydefact []
static const yytype_int8 yydefgoto []
static const yytype_int8 yypact []
static const yytype_int8 yypgoto []
static const yytype_uint8 yytable []
static const yytype_int8 yycheck []
static const yytype_uint8 yystos []

Class Documentation

union yyalloc

Definition at line 558 of file zend_ini_parser.c.

Class Members
yytype_int16 yyss_alloc
YYSTYPE yyvs_alloc

Define Documentation

#define BOOL_FALSE   270

Definition at line 381 of file zend_ini_parser.c.

#define BOOL_TRUE   269

Definition at line 380 of file zend_ini_parser.c.

#define DEBUG_CFG_PARSER   0

Definition at line 100 of file zend_ini_parser.c.

#define END_OF_LINE   271

Definition at line 382 of file zend_ini_parser.c.

#define TC_CONSTANT   260

Definition at line 371 of file zend_ini_parser.c.

#define TC_DOLLAR_CURLY   266

Definition at line 377 of file zend_ini_parser.c.

#define TC_LABEL   264

Definition at line 375 of file zend_ini_parser.c.

#define TC_NUMBER   261

Definition at line 372 of file zend_ini_parser.c.

#define TC_OFFSET   265

Definition at line 376 of file zend_ini_parser.c.

#define TC_QUOTED_STRING   268

Definition at line 379 of file zend_ini_parser.c.

#define TC_RAW   259

Definition at line 370 of file zend_ini_parser.c.

#define TC_SECTION   258

Definition at line 369 of file zend_ini_parser.c.

#define TC_STRING   262

Definition at line 373 of file zend_ini_parser.c.

#define TC_VARNAME   267

Definition at line 378 of file zend_ini_parser.c.

#define TC_WHITESPACE   263

Definition at line 374 of file zend_ini_parser.c.

#define YY_ (   msgid)    msgid

Definition at line 454 of file zend_ini_parser.c.

#define YY_LOCATION_PRINT (   File,
  Loc 
)    ((void) 0)

Definition at line 922 of file zend_ini_parser.c.

#define YY_REDUCE_PRINT (   Rule)

Definition at line 1095 of file zend_ini_parser.c.

#define YY_STACK_PRINT (   Bottom,
  Top 
)

Definition at line 1094 of file zend_ini_parser.c.

#define YY_SYMBOL_PRINT (   Title,
  Type,
  Value,
  Location 
)

Definition at line 1093 of file zend_ini_parser.c.

#define YYABORT   goto yyabortlab

Definition at line 851 of file zend_ini_parser.c.

#define YYACCEPT   goto yyacceptlab

Definition at line 850 of file zend_ini_parser.c.

#define YYBACKUP (   Token,
  Value 
)
Value:
do								\
  if (yychar == YYEMPTY && yylen == 1)                         \
    {                                                   \
      yychar = (Token);                                        \
      yylval = (Value);                                        \
      yytoken = YYTRANSLATE (yychar);                          \
      YYPOPSTACK (1);                                          \
      goto yybackup;                                    \
    }                                                   \
  else                                                  \
    {                                                   \
      yyerror (YY_("syntax error: cannot back up")); \
      YYERROR;                                                 \
    }                                                   \
while (YYID (0))

Definition at line 863 of file zend_ini_parser.c.

#define YYBISON   1

Definition at line 46 of file zend_ini_parser.c.

#define YYBISON_VERSION   "2.4.1"

Definition at line 49 of file zend_ini_parser.c.

#define yychar   ini_char

Definition at line 71 of file zend_ini_parser.c.

#define yyclearin   (yychar = YYEMPTY)

Definition at line 846 of file zend_ini_parser.c.

#define YYCOPY (   To,
  From,
  Count 
)
Value:
do                                 \
       {                                  \
         YYSIZE_T yyi;                           \
         for (yyi = 0; yyi < (Count); yyi++)     \
           (To)[yyi] = (From)[yyi];              \
       }                                  \
      while (YYID (0))

Definition at line 580 of file zend_ini_parser.c.

#define yydebug   ini_debug

Definition at line 72 of file zend_ini_parser.c.

#define YYDEBUG   0

Definition at line 329 of file zend_ini_parser.c.

#define YYDPRINTF (   Args)

Definition at line 1092 of file zend_ini_parser.c.

#define YYEMPTY   (-2)

Definition at line 847 of file zend_ini_parser.c.

#define YYEOF   0

Definition at line 848 of file zend_ini_parser.c.

#define YYERRCODE   256

Definition at line 882 of file zend_ini_parser.c.

#define yyerrok   (yyerrstatus = 0)

Definition at line 845 of file zend_ini_parser.c.

#define yyerror   ini_error

Definition at line 69 of file zend_ini_parser.c.

#define YYERROR   goto yyerrorlab

Definition at line 852 of file zend_ini_parser.c.

#define YYERROR_VERBOSE

Definition at line 335 of file zend_ini_parser.c.

#define YYERROR_VERBOSE   1

Definition at line 335 of file zend_ini_parser.c.

#define YYFAIL   goto yyerrlab

Definition at line 859 of file zend_ini_parser.c.

#define YYFINAL   2

Definition at line 610 of file zend_ini_parser.c.

#define YYFREE   free

Definition at line 543 of file zend_ini_parser.c.

#define YYID (   n)    (n)

Definition at line 467 of file zend_ini_parser.c.

#define YYINITDEPTH   200

Definition at line 1101 of file zend_ini_parser.c.

#define YYLAST   109

Definition at line 612 of file zend_ini_parser.c.

#define yylex   ini_lex

Definition at line 68 of file zend_ini_parser.c.

#define YYLEX   yylex (&yylval)

Definition at line 932 of file zend_ini_parser.c.

#define YYLLOC_DEFAULT (   Current,
  Rhs,
  N 
)
Value:
do									\
      if (YYID (N))                                                    \
       {                                                       \
         (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;       \
         (Current).first_column = YYRHSLOC (Rhs, 1).first_column;     \
         (Current).last_line    = YYRHSLOC (Rhs, N).last_line;        \
         (Current).last_column  = YYRHSLOC (Rhs, N).last_column;      \
       }                                                       \
      else                                                     \
       {                                                       \
         (Current).first_line   = (Current).last_line   =             \
           YYRHSLOC (Rhs, 0).last_line;                        \
         (Current).first_column = (Current).last_column =             \
           YYRHSLOC (Rhs, 0).last_column;                      \
       }                                                       \
    while (YYID (0))

Definition at line 891 of file zend_ini_parser.c.

#define YYLSP_NEEDED   0

Definition at line 64 of file zend_ini_parser.c.

#define yylval   ini_lval

Definition at line 70 of file zend_ini_parser.c.

#define YYMALLOC   malloc

Definition at line 536 of file zend_ini_parser.c.

#define YYMAXDEPTH   10000

Definition at line 1112 of file zend_ini_parser.c.

#define YYMAXUTOK   271

Definition at line 625 of file zend_ini_parser.c.

#define yynerrs   ini_nerrs

Definition at line 73 of file zend_ini_parser.c.

#define YYNNTS   13

Definition at line 617 of file zend_ini_parser.c.

#define YYNRULES   48

Definition at line 619 of file zend_ini_parser.c.

#define YYNSTATES   69

Definition at line 621 of file zend_ini_parser.c.

#define YYNTOKENS   43

Definition at line 615 of file zend_ini_parser.c.

#define YYPACT_NINF   -36

Definition at line 778 of file zend_ini_parser.c.

Definition at line 67 of file zend_ini_parser.c.

#define YYPOPSTACK (   N)    (yyvsp -= (N), yyssp -= (N))
#define YYPULL   1

Definition at line 61 of file zend_ini_parser.c.

#define YYPURE   1

Definition at line 55 of file zend_ini_parser.c.

#define YYPUSH   0

Definition at line 58 of file zend_ini_parser.c.

#define YYRECOVERING ( )    (!!yyerrstatus)

Definition at line 861 of file zend_ini_parser.c.

#define YYRHSLOC (   Rhs,
  K 
)    ((Rhs)[K])

Definition at line 889 of file zend_ini_parser.c.

#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)

Definition at line 444 of file zend_ini_parser.c.

#define YYSIZE_T   unsigned int

Definition at line 440 of file zend_ini_parser.c.

#define YYSKELETON_NAME   "yacc.c"

Definition at line 52 of file zend_ini_parser.c.

#define YYSTACK_ALLOC   YYMALLOC

Definition at line 522 of file zend_ini_parser.c.

Definition at line 525 of file zend_ini_parser.c.

#define YYSTACK_BYTES (   N)
Value:
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
      + YYSTACK_GAP_MAXIMUM)

Definition at line 569 of file zend_ini_parser.c.

#define YYSTACK_FREE   YYFREE

Definition at line 523 of file zend_ini_parser.c.

#define YYSTACK_GAP_MAXIMUM   (sizeof (union yyalloc) - 1)

Definition at line 565 of file zend_ini_parser.c.

#define YYSTACK_RELOCATE (   Stack_alloc,
  Stack 
)
Value:
do                                                             \
      {                                                               \
       YYSIZE_T yynewbytes;                                    \
       YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                   \
       Stack = &yyptr->Stack_alloc;                                   \
       yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
       yyptr += yynewbytes / sizeof (*yyptr);                         \
      }                                                               \
    while (YYID (0))

Definition at line 596 of file zend_ini_parser.c.

#define YYSTYPE   zval

Definition at line 110 of file zend_ini_parser.c.

#define YYTABLE_NINF   -1

Definition at line 801 of file zend_ini_parser.c.

#define YYTERROR   1

Definition at line 881 of file zend_ini_parser.c.

#define YYTOKEN_TABLE   0

Definition at line 342 of file zend_ini_parser.c.

#define YYTOKENTYPE

Definition at line 348 of file zend_ini_parser.c.

#define YYTRANSLATE (   YYX)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)

Definition at line 627 of file zend_ini_parser.c.

#define YYUNDEFTOK   2

Definition at line 624 of file zend_ini_parser.c.

#define YYUSE (   e)    ((void) (e))

Definition at line 460 of file zend_ini_parser.c.

#define ZEND_INI_PARSER_ARG   (CG(ini_parser_param))->arg

Definition at line 121 of file zend_ini_parser.c.

#define ZEND_INI_PARSER_CB   (CG(ini_parser_param))->ini_parser_cb

Definition at line 120 of file zend_ini_parser.c.


Typedef Documentation

typedef short int yytype_int16

Definition at line 427 of file zend_ini_parser.c.

typedef short int yytype_int8

Definition at line 415 of file zend_ini_parser.c.

typedef unsigned short int yytype_uint16

Definition at line 421 of file zend_ini_parser.c.

typedef unsigned char yytype_uint8

Definition at line 406 of file zend_ini_parser.c.


Enumeration Type Documentation

Enumerator:
TC_SECTION 
TC_RAW 
TC_CONSTANT 
TC_NUMBER 
TC_STRING 
TC_WHITESPACE 
TC_LABEL 
TC_OFFSET 
TC_DOLLAR_CURLY 
TC_VARNAME 
TC_QUOTED_STRING 
BOOL_TRUE 
BOOL_FALSE 
END_OF_LINE 
TC_SECTION 
TC_RAW 
TC_CONSTANT 
TC_NUMBER 
TC_STRING 
TC_WHITESPACE 
TC_LABEL 
TC_OFFSET 
TC_DOLLAR_CURLY 
TC_VARNAME 
TC_QUOTED_STRING 
BOOL_TRUE 
BOOL_FALSE 
END_OF_LINE 
T_REQUIRE_ONCE 
T_REQUIRE 
T_EVAL 
T_INCLUDE_ONCE 
T_INCLUDE 
T_LOGICAL_OR 
T_LOGICAL_XOR 
T_LOGICAL_AND 
T_PRINT 
T_SR_EQUAL 
T_SL_EQUAL 
T_XOR_EQUAL 
T_OR_EQUAL 
T_AND_EQUAL 
T_MOD_EQUAL 
T_CONCAT_EQUAL 
T_DIV_EQUAL 
T_MUL_EQUAL 
T_MINUS_EQUAL 
T_PLUS_EQUAL 
T_BOOLEAN_OR 
T_BOOLEAN_AND 
T_IS_NOT_IDENTICAL 
T_IS_IDENTICAL 
T_IS_NOT_EQUAL 
T_IS_EQUAL 
T_IS_GREATER_OR_EQUAL 
T_IS_SMALLER_OR_EQUAL 
T_SR 
T_SL 
T_INSTANCEOF 
T_UNSET_CAST 
T_BOOL_CAST 
T_OBJECT_CAST 
T_ARRAY_CAST 
T_STRING_CAST 
T_DOUBLE_CAST 
T_INT_CAST 
T_DEC 
T_INC 
T_CLONE 
T_NEW 
T_EXIT 
T_IF 
T_ELSEIF 
T_ELSE 
T_ENDIF 
T_LNUMBER 
T_DNUMBER 
T_STRING 
T_STRING_VARNAME 
T_VARIABLE 
T_NUM_STRING 
T_INLINE_HTML 
T_CHARACTER 
T_BAD_CHARACTER 
T_ENCAPSED_AND_WHITESPACE 
T_CONSTANT_ENCAPSED_STRING 
T_ECHO 
T_DO 
T_WHILE 
T_ENDWHILE 
T_FOR 
T_ENDFOR 
T_FOREACH 
T_ENDFOREACH 
T_DECLARE 
T_ENDDECLARE 
T_AS 
T_SWITCH 
T_ENDSWITCH 
T_CASE 
T_DEFAULT 
T_BREAK 
T_CONTINUE 
T_GOTO 
T_FUNCTION 
T_CONST 
T_RETURN 
T_TRY 
T_CATCH 
T_THROW 
T_USE 
T_GLOBAL 
T_PUBLIC 
T_PROTECTED 
T_PRIVATE 
T_FINAL 
T_ABSTRACT 
T_STATIC 
T_VAR 
T_UNSET 
T_ISSET 
T_EMPTY 
T_HALT_COMPILER 
T_CLASS 
T_INTERFACE 
T_EXTENDS 
T_IMPLEMENTS 
T_OBJECT_OPERATOR 
T_DOUBLE_ARROW 
T_LIST 
T_ARRAY 
T_CLASS_C 
T_METHOD_C 
T_FUNC_C 
T_LINE 
T_FILE 
T_COMMENT 
T_DOC_COMMENT 
T_OPEN_TAG 
T_OPEN_TAG_WITH_ECHO 
T_CLOSE_TAG 
T_WHITESPACE 
T_START_HEREDOC 
T_END_HEREDOC 
T_DOLLAR_OPEN_CURLY_BRACES 
T_CURLY_OPEN 
T_PAAMAYIM_NEKUDOTAYIM 
T_NAMESPACE 
T_NS_C 
T_DIR 
T_NS_SEPARATOR 
T_REQUIRE_ONCE 
T_REQUIRE 
T_EVAL 
T_INCLUDE_ONCE 
T_INCLUDE 
T_LOGICAL_OR 
T_LOGICAL_XOR 
T_LOGICAL_AND 
T_PRINT 
T_SR_EQUAL 
T_SL_EQUAL 
T_XOR_EQUAL 
T_OR_EQUAL 
T_AND_EQUAL 
T_MOD_EQUAL 
T_CONCAT_EQUAL 
T_DIV_EQUAL 
T_MUL_EQUAL 
T_MINUS_EQUAL 
T_PLUS_EQUAL 
T_BOOLEAN_OR 
T_BOOLEAN_AND 
T_IS_NOT_IDENTICAL 
T_IS_IDENTICAL 
T_IS_NOT_EQUAL 
T_IS_EQUAL 
T_IS_GREATER_OR_EQUAL 
T_IS_SMALLER_OR_EQUAL 
T_SR 
T_SL 
T_INSTANCEOF 
T_UNSET_CAST 
T_BOOL_CAST 
T_OBJECT_CAST 
T_ARRAY_CAST 
T_STRING_CAST 
T_DOUBLE_CAST 
T_INT_CAST 
T_DEC 
T_INC 
T_CLONE 
T_NEW 
T_EXIT 
T_IF 
T_ELSEIF 
T_ELSE 
T_ENDIF 
T_LNUMBER 
T_DNUMBER 
T_STRING 
T_STRING_VARNAME 
T_VARIABLE 
T_NUM_STRING 
T_INLINE_HTML 
T_CHARACTER 
T_BAD_CHARACTER 
T_ENCAPSED_AND_WHITESPACE 
T_CONSTANT_ENCAPSED_STRING 
T_ECHO 
T_DO 
T_WHILE 
T_ENDWHILE 
T_FOR 
T_ENDFOR 
T_FOREACH 
T_ENDFOREACH 
T_DECLARE 
T_ENDDECLARE 
T_AS 
T_SWITCH 
T_ENDSWITCH 
T_CASE 
T_DEFAULT 
T_BREAK 
T_CONTINUE 
T_GOTO 
T_FUNCTION 
T_CONST 
T_RETURN 
T_TRY 
T_CATCH 
T_THROW 
T_USE 
T_GLOBAL 
T_PUBLIC 
T_PROTECTED 
T_PRIVATE 
T_FINAL 
T_ABSTRACT 
T_STATIC 
T_VAR 
T_UNSET 
T_ISSET 
T_EMPTY 
T_HALT_COMPILER 
T_CLASS 
T_INTERFACE 
T_EXTENDS 
T_IMPLEMENTS 
T_OBJECT_OPERATOR 
T_DOUBLE_ARROW 
T_LIST 
T_ARRAY 
T_CLASS_C 
T_METHOD_C 
T_FUNC_C 
T_LINE 
T_FILE 
T_COMMENT 
T_DOC_COMMENT 
T_OPEN_TAG 
T_OPEN_TAG_WITH_ECHO 
T_CLOSE_TAG 
T_WHITESPACE 
T_START_HEREDOC 
T_END_HEREDOC 
T_DOLLAR_OPEN_CURLY_BRACES 
T_CURLY_OPEN 
T_PAAMAYIM_NEKUDOTAYIM 
T_NAMESPACE 
T_NS_C 
T_DIR 
T_NS_SEPARATOR 

Definition at line 351 of file zend_ini_parser.c.

                    {
     TC_SECTION = 258,
     TC_RAW = 259,
     TC_CONSTANT = 260,
     TC_NUMBER = 261,
     TC_STRING = 262,
     TC_WHITESPACE = 263,
     TC_LABEL = 264,
     TC_OFFSET = 265,
     TC_DOLLAR_CURLY = 266,
     TC_VARNAME = 267,
     TC_QUOTED_STRING = 268,
     BOOL_TRUE = 269,
     BOOL_FALSE = 270,
     END_OF_LINE = 271
   };

Function Documentation

static void ini_error ( char *  msg) [static]

Definition at line 237 of file zend_ini_parser.c.

{
       char *error_buf;
       int error_buf_len;
       char *currently_parsed_filename;
       TSRMLS_FETCH();

       currently_parsed_filename = zend_ini_scanner_get_filename(TSRMLS_C);
       if (currently_parsed_filename) {
              error_buf_len = 128 + strlen(msg) + strlen(currently_parsed_filename); /* should be more than enough */
              error_buf = (char *) emalloc(error_buf_len);

              sprintf(error_buf, "%s in %s on line %d\n", msg, currently_parsed_filename, zend_ini_scanner_get_lineno(TSRMLS_C));
       } else {
              error_buf = estrdup("Invalid configuration directive\n");
       }

       if (CG(ini_parser_unbuffered_errors)) {
#ifdef PHP_WIN32
              MessageBox(NULL, error_buf, "PHP Error", MB_OK|MB_TOPMOST|0x00200000L);
#else
              fprintf(stderr, "PHP:  %s", error_buf);
#endif
       } else {
              zend_error(E_WARNING, "%s", error_buf);
       }
       efree(error_buf);
}

Here is the call graph for this function:

int ini_parse ( void  )

Here is the caller graph for this function:

static void yydestruct ( char *  yymsg,
int  yytype,
YYSTYPE yyvaluep 
) const [static]

Definition at line 1339 of file zend_ini_parser.c.

{
  YYUSE (yyvaluep);

  if (!yymsg)
    yymsg = "Deleting";
  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);

  switch (yytype)
    {

      default:
       break;
    }
}
int yyparse ( )
static char* yystpcpy ( char *  yydest,
const char *  yysrc 
) [static]

Definition at line 1154 of file zend_ini_parser.c.

{
  char *yyd = yydest;
  const char *yys = yysrc;

  while ((*yyd++ = *yys++) != '\0')
    continue;

  return yyd - 1;
}

Here is the caller graph for this function:

static YYSIZE_T yystrlen ( char *  yystr) const [static]

Definition at line 1130 of file zend_ini_parser.c.

{
  YYSIZE_T yylen;
  for (yylen = 0; yystr[yylen]; yylen++)
    continue;
  return yylen;
}

Here is the caller graph for this function:

static YYSIZE_T yysyntax_error ( char *  yyresult,
int  yystate,
int  yychar 
) [static]

Definition at line 1226 of file zend_ini_parser.c.

{
  int yyn = yypact[yystate];

  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
    return 0;
  else
    {
      int yytype = YYTRANSLATE (yychar);
      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
      YYSIZE_T yysize = yysize0;
      YYSIZE_T yysize1;
      int yysize_overflow = 0;
      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
      int yyx;

# if 0
      /* This is so xgettext sees the translatable formats that are
        constructed on the fly.  */
      YY_("syntax error, unexpected %s");
      YY_("syntax error, unexpected %s, expecting %s");
      YY_("syntax error, unexpected %s, expecting %s or %s");
      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
# endif
      char *yyfmt;
      char const *yyf;
      static char const yyunexpected[] = "syntax error, unexpected %s";
      static char const yyexpecting[] = ", expecting %s";
      static char const yyor[] = " or %s";
      char yyformat[sizeof yyunexpected
                  + sizeof yyexpecting - 1
                  + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
                     * (sizeof yyor - 1))];
      char const *yyprefix = yyexpecting;

      /* Start YYX at -YYN if negative to avoid negative indexes in
        YYCHECK.  */
      int yyxbegin = yyn < 0 ? -yyn : 0;

      /* Stay within bounds of both yycheck and yytname.  */
      int yychecklim = YYLAST - yyn + 1;
      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
      int yycount = 1;

      yyarg[0] = yytname[yytype];
      yyfmt = yystpcpy (yyformat, yyunexpected);

      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
       if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
         {
           if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
             {
              yycount = 1;
              yysize = yysize0;
              yyformat[sizeof yyunexpected - 1] = '\0';
              break;
             }
           yyarg[yycount++] = yytname[yyx];
           yysize1 = yysize + yytnamerr (0, yytname[yyx]);
           yysize_overflow |= (yysize1 < yysize);
           yysize = yysize1;
           yyfmt = yystpcpy (yyfmt, yyprefix);
           yyprefix = yyor;
         }

      yyf = YY_(yyformat);
      yysize1 = yysize + yystrlen (yyf);
      yysize_overflow |= (yysize1 < yysize);
      yysize = yysize1;

      if (yysize_overflow)
       return YYSIZE_MAXIMUM;

      if (yyresult)
       {
         /* Avoid sprintf, as that infringes on the user's name space.
            Don't have undefined behavior even if the translation
            produced a string with the wrong number of "%s"s.  */
         char *yyp = yyresult;
         int yyi = 0;
         while ((*yyp = *yyf) != '\0')
           {
             if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
              {
                yyp += yytnamerr (yyp, yyarg[yyi++]);
                yyf += 2;
              }
             else
              {
                yyp++;
                yyf++;
              }
           }
       }
      return yysize;
    }
}

Here is the call graph for this function:

static YYSIZE_T yytnamerr ( char *  yyres,
const char *  yystr 
) [static]

Definition at line 1179 of file zend_ini_parser.c.

{
  if (*yystr == '"')
    {
      YYSIZE_T yyn = 0;
      char const *yyp = yystr;

      for (;;)
       switch (*++yyp)
         {
         case '\'':
         case ',':
           goto do_not_strip_quotes;

         case '\\':
           if (*++yyp != '\\')
             goto do_not_strip_quotes;
           /* Fall through.  */
         default:
           if (yyres)
             yyres[yyn] = *yyp;
           yyn++;
           break;

         case '"':
           if (yyres)
             yyres[yyn] = '\0';
           return yyn;
         }
    do_not_strip_quotes: ;
    }

  if (! yyres)
    return yystrlen (yystr);

  return yystpcpy (yyres, yystr) - yyres;
}

Here is the call graph for this function:

Here is the caller graph for this function:

static void zend_ini_add_string ( zval *  result,
zval *  op1,
zval *  op2 
) [static]

Definition at line 179 of file zend_ini_parser.c.

{
       int length = Z_STRLEN_P(op1) + Z_STRLEN_P(op2);

       Z_STRVAL_P(result) = (char *) realloc(Z_STRVAL_P(op1), length+1);
       memcpy(Z_STRVAL_P(result)+Z_STRLEN_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op2));
       Z_STRVAL_P(result)[length] = 0;
       Z_STRLEN_P(result) = length;
       Z_TYPE_P(result) = IS_STRING;
}
static void zend_ini_do_op ( char  type,
zval *  result,
zval *  op1,
zval *  op2 
) [static]

Definition at line 125 of file zend_ini_parser.c.

{
       int i_result;
       int i_op1, i_op2;
       char str_result[MAX_LENGTH_OF_LONG];

       i_op1 = atoi(Z_STRVAL_P(op1));
       free(Z_STRVAL_P(op1));
       if (op2) {
              i_op2 = atoi(Z_STRVAL_P(op2));
              free(Z_STRVAL_P(op2));
       } else {
              i_op2 = 0;
       }

       switch (type) {
              case '|':
                     i_result = i_op1 | i_op2;
                     break;
              case '&':
                     i_result = i_op1 & i_op2;
                     break;
              case '~':
                     i_result = ~i_op1;
                     break;
              case '!':
                     i_result = !i_op1;
                     break;
              default:
                     i_result = 0;
                     break;
       }

       Z_STRLEN_P(result) = zend_sprintf(str_result, "%d", i_result);
       Z_STRVAL_P(result) = (char *) malloc(Z_STRLEN_P(result)+1);
       memcpy(Z_STRVAL_P(result), str_result, Z_STRLEN_P(result));
       Z_STRVAL_P(result)[Z_STRLEN_P(result)] = 0;
       Z_TYPE_P(result) = IS_STRING;
}
static void zend_ini_get_constant ( zval *  result,
zval *name  TSRMLS_DC 
) [static]

Definition at line 193 of file zend_ini_parser.c.

{
       zval z_constant;

       /* If name contains ':' it is not a constant. Bug #26893. */
       if (!memchr(Z_STRVAL_P(name), ':', Z_STRLEN_P(name))
                     && zend_get_constant(Z_STRVAL_P(name), Z_STRLEN_P(name), &z_constant TSRMLS_CC)) {
              /* z_constant is emalloc()'d */
              convert_to_string(&z_constant);
              Z_STRVAL_P(result) = zend_strndup(Z_STRVAL(z_constant), Z_STRLEN(z_constant));
              Z_STRLEN_P(result) = Z_STRLEN(z_constant);
              Z_TYPE_P(result) = Z_TYPE(z_constant);
              zval_dtor(&z_constant);
              free(Z_STRVAL_P(name));
       } else {
              *result = *name;
       }
}

Here is the call graph for this function:

static void zend_ini_get_var ( zval *  result,
zval *name  TSRMLS_DC 
) [static]

Definition at line 215 of file zend_ini_parser.c.

{
       zval curval;
       char *envvar;

       /* Fetch configuration option value */
       if (zend_get_configuration_directive(Z_STRVAL_P(name), Z_STRLEN_P(name)+1, &curval) == SUCCESS) {
              Z_STRVAL_P(result) = zend_strndup(Z_STRVAL(curval), Z_STRLEN(curval));
              Z_STRLEN_P(result) = Z_STRLEN(curval);
       /* ..or if not found, try ENV */
       } else if ((envvar = zend_getenv(Z_STRVAL_P(name), Z_STRLEN_P(name) TSRMLS_CC)) != NULL ||
                        (envvar = getenv(Z_STRVAL_P(name))) != NULL) {
              Z_STRVAL_P(result) = strdup(envvar);
              Z_STRLEN_P(result) = strlen(envvar);
       } else {
              zend_ini_init_string(result);
       }
}

Here is the call graph for this function:

static void zend_ini_init_string ( zval *  result) [static]

Definition at line 168 of file zend_ini_parser.c.

{
       Z_STRVAL_P(result) = malloc(1);
       Z_STRVAL_P(result)[0] = 0;
       Z_STRLEN_P(result) = 0;
       Z_TYPE_P(result) = IS_STRING;
}

Here is the caller graph for this function:

ZEND_API int zend_parse_ini_file ( zend_file_handle fh,
zend_bool  unbuffered_errors,
int  scanner_mode,
zend_ini_parser_cb_t  ini_parser_cb,
void *arg  TSRMLS_DC 
)

Definition at line 269 of file zend_ini_parser.c.

{
       int retval;
       zend_ini_parser_param ini_parser_param;

       ini_parser_param.ini_parser_cb = ini_parser_cb;
       ini_parser_param.arg = arg;
       CG(ini_parser_param) = &ini_parser_param;

       if (zend_ini_open_file_for_scanning(fh, scanner_mode TSRMLS_CC) == FAILURE) {
              return FAILURE;
       }

       CG(ini_parser_unbuffered_errors) = unbuffered_errors;
       retval = ini_parse(TSRMLS_C);
       zend_file_handle_dtor(fh TSRMLS_CC);

       shutdown_ini_scanner(TSRMLS_C);
       
       if (retval == 0) {
              return SUCCESS;
       } else {
              return FAILURE;
       }
}

Here is the call graph for this function:

Here is the caller graph for this function:

ZEND_API int zend_parse_ini_string ( char *  str,
zend_bool  unbuffered_errors,
int  scanner_mode,
zend_ini_parser_cb_t  ini_parser_cb,
void *arg  TSRMLS_DC 
)

Definition at line 298 of file zend_ini_parser.c.

{
       int retval;
       zend_ini_parser_param ini_parser_param;

       ini_parser_param.ini_parser_cb = ini_parser_cb;
       ini_parser_param.arg = arg;
       CG(ini_parser_param) = &ini_parser_param;

       if (zend_ini_prepare_string_for_scanning(str, scanner_mode TSRMLS_CC) == FAILURE) {
              return FAILURE;
       }

       CG(ini_parser_unbuffered_errors) = unbuffered_errors;
       retval = ini_parse(TSRMLS_C);

       shutdown_ini_scanner(TSRMLS_C);

       if (retval == 0) {
              return SUCCESS;
       } else {
              return FAILURE;
       }
}

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

const yytype_int8 yycheck[] [static]
Initial value:
{
       3,    25,    37,    38,     4,     5,     6,     7,     8,    33,
      27,    11,    17,    16,    14,    15,    16,    39,    40,    41,
      12,    21,    40,    47,    27,    40,    43,    36,    31,    17,
      30,     4,     5,     6,     7,     8,    58,    59,    11,    39,
      43,    41,    45,     4,     5,     6,     7,     8,    21,    61,
      11,    54,    11,    11,    13,    13,     5,    30,    -1,    62,
      21,    -1,    21,    21,    16,    11,    39,    13,    41,     4,
       5,     6,     7,     8,    -1,    21,    11,     4,     5,     6,
       7,     8,    37,    38,    11,    -1,    21,    42,     4,     5,
       6,     7,     8,     0,    21,    11,     3,    11,    -1,    13,
      -1,    -1,     9,    10,    -1,    21,    -1,    21,    -1,    16
}

Definition at line 817 of file zend_ini_parser.c.

const yytype_uint8 yydefact[] [static]
Initial value:
{
       3,     0,     1,    10,     7,    16,     8,     2,    40,    39,
      41,    42,    43,     0,    19,     0,     9,    20,    21,     0,
      45,    44,    46,    47,    48,    19,     0,    15,    26,    27,
       0,     0,     4,    19,    23,    24,    12,    13,    14,     0,
       0,     0,     5,    32,    11,     0,     0,    19,    29,    30,
      38,    18,    22,    17,     0,    35,    36,     0,     0,     0,
      28,     0,     0,    25,    37,    33,    34,     6,    31
}

Definition at line 758 of file zend_ini_parser.c.

const yytype_int8 yydefgoto[] [static]
Initial value:
{
      -1,     1,     7,    15,    42,    26,    31,    16,    43,    44,
      28,    18,    29
}

Definition at line 770 of file zend_ini_parser.c.

const yytype_int8 yypact[] [static]
Initial value:
{
     -36,    93,   -36,    39,    -5,    65,   -36,   -36,   -36,   -36,
     -36,   -36,   -36,     8,   -36,   -18,    73,   -36,   -36,     0,
     -36,   -36,   -36,   -36,   -36,   -36,   -15,    84,   -36,   -36,
      -9,    41,   -36,   -36,   -36,   -36,   -36,   -36,   -36,    27,
      27,    27,   -36,    84,   -35,    42,    12,   -36,   -36,   -36,
     -36,   -36,   -36,   -36,    54,   -36,   -36,    45,    27,    27,
     -36,     0,    86,   -36,   -36,   -36,   -36,   -36,   -36
}

Definition at line 779 of file zend_ini_parser.c.

const yytype_int8 yypgoto[] [static]
Initial value:
{
     -36,   -36,   -36,   -36,   -12,   -36,   -24,   -36,    51,   -22,
      -3,    48,   -17
}

Definition at line 791 of file zend_ini_parser.c.

const yytype_uint8 yyr1[] [static]
Initial value:
{
       0,    43,    44,    44,    45,    45,    45,    45,    45,    46,
      46,    47,    47,    47,    47,    48,    48,    49,    49,    49,
      50,    50,    50,    50,    50,    50,    51,    51,    51,    51,
      51,    51,    52,    52,    52,    52,    52,    52,    53,    54,
      54,    54,    54,    54,    55,    55,    55,    55,    55
}

Definition at line 736 of file zend_ini_parser.c.

const yytype_uint8 yyr2[] [static]
Initial value:
{
       0,     2,     2,     0,     3,     3,     5,     1,     1,     1,
       0,     1,     1,     1,     1,     1,     0,     2,     2,     0,
       1,     1,     3,     2,     2,     4,     1,     1,     3,     2,
       2,     4,     1,     3,     3,     2,     2,     3,     3,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1
}

Definition at line 746 of file zend_ini_parser.c.

const yytype_uint8 yystos[] [static]
Initial value:
{
       0,    44,     0,     3,     9,    10,    16,    45,     4,     5,
       6,     7,     8,    11,    21,    46,    50,    53,    54,    17,
       4,     5,     6,     7,     8,    21,    48,    51,    53,    55,
      12,    49,    40,    21,    53,    54,    14,    15,    16,    30,
      39,    41,    47,    51,    52,    49,    40,    21,    53,    55,
      36,    13,    21,    53,    49,    52,    52,    52,    37,    38,
      21,    17,    49,    21,    42,    52,    52,    47,    21
}

Definition at line 834 of file zend_ini_parser.c.

const yytype_uint8 yytable[] [static]
Initial value:
{
      17,    45,    58,    59,    20,    21,    22,    23,    24,    54,
      49,    13,    19,    34,    36,    37,    38,    55,    56,    57,
      30,    25,    32,    62,    48,    46,    49,    50,    53,    61,
      39,    20,    21,    22,    23,    24,    65,    66,    13,    40,
      48,    41,    53,     8,     9,    10,    11,    12,    25,    67,
      13,    53,    13,    13,    51,    51,    27,    39,     0,    53,
      14,     0,    52,    60,    35,    13,    40,    51,    41,    20,
      21,    22,    23,    24,     0,    63,    13,     8,     9,    10,
      11,    12,    58,    59,    13,     0,    25,    64,    20,    21,
      22,    23,    24,     2,    33,    13,     3,    13,     0,    51,
       0,     0,     4,     5,     0,    47,     0,    68,     0,     6
}

Definition at line 802 of file zend_ini_parser.c.

const char* const yytname[] [static]
Initial value:
{
  "$end", "error", "$undefined", "TC_SECTION", "TC_RAW", "TC_CONSTANT",
  "TC_NUMBER", "TC_STRING", "TC_WHITESPACE", "TC_LABEL", "TC_OFFSET",
  "TC_DOLLAR_CURLY", "TC_VARNAME", "TC_QUOTED_STRING", "BOOL_TRUE",
  "BOOL_FALSE", "END_OF_LINE", "'='", "':'", "','", "'.'", "'\"'", "'\\''",
  "'^'", "'+'", "'-'", "'/'", "'*'", "'%'", "'$'", "'~'", "'<'", "'>'",
  "'?'", "'@'", "'{'", "'}'", "'|'", "'&'", "'!'", "']'", "'('", "')'",
  "$accept", "statement_list", "statement", "section_string_or_value",
  "string_or_value", "option_offset", "encapsed_list",
  "var_string_list_section", "var_string_list", "expr", "cfg_var_ref",
  "constant_literal", "constant_string", 0
}

Definition at line 707 of file zend_ini_parser.c.

const yytype_uint8 yytranslate[] [static]

Definition at line 631 of file zend_ini_parser.c.