summaryrefslogtreecommitdiff
path: root/ext/json/json_parser.tab.h
diff options
context:
space:
mode:
authorXinchen Hui <laruence@php.net>2015-05-06 11:37:30 +0800
committerXinchen Hui <laruence@php.net>2015-05-06 11:37:30 +0800
commit76fb02123fd176d8f201a072ba2fa1930e0a991c (patch)
tree7b4e1e0a138eed7e6f3b8452b14009b074be5699 /ext/json/json_parser.tab.h
parent9f0dbdf6c882e476bbad1fe8d42ef7c39362f3fa (diff)
downloadphp-git-76fb02123fd176d8f201a072ba2fa1930e0a991c.tar.gz
Optimized json_parser
1. use zend_string in key 2. use faster APIs 3. use ZVAL_COPY_VALUE instead of assignment (save u2 copy)
Diffstat (limited to 'ext/json/json_parser.tab.h')
-rw-r--r--ext/json/json_parser.tab.h67
1 files changed, 30 insertions, 37 deletions
diff --git a/ext/json/json_parser.tab.h b/ext/json/json_parser.tab.h
index 1fd8ff6ea5..f29e14a6f7 100644
--- a/ext/json/json_parser.tab.h
+++ b/ext/json/json_parser.tab.h
@@ -1,19 +1,21 @@
-/* A Bison parser, made by GNU Bison 3.0.4. */
-/* Bison interface for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+/* A Bison parser, made by GNU Bison 2.4.1. */
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+ Free Software Foundation, Inc.
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
@@ -26,35 +28,27 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
-#ifndef YY_PHP_JSON_YY_HOME_JAKUB_PROG_PHP_MASTER_EXT_JSON_JSON_PARSER_TAB_H_INCLUDED
-# define YY_PHP_JSON_YY_HOME_JAKUB_PROG_PHP_MASTER_EXT_JSON_JSON_PARSER_TAB_H_INCLUDED
-/* Debug traces. */
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-#if YYDEBUG
-extern int php_json_yydebug;
-#endif
-/* Token type. */
+/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
- enum yytokentype
- {
- PHP_JSON_T_NUL = 258,
- PHP_JSON_T_TRUE = 259,
- PHP_JSON_T_FALSE = 260,
- PHP_JSON_T_INT = 261,
- PHP_JSON_T_DOUBLE = 262,
- PHP_JSON_T_STRING = 263,
- PHP_JSON_T_ESTRING = 264,
- PHP_JSON_T_EOI = 265,
- PHP_JSON_T_ERROR = 266
- };
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ PHP_JSON_T_NUL = 258,
+ PHP_JSON_T_TRUE = 259,
+ PHP_JSON_T_FALSE = 260,
+ PHP_JSON_T_INT = 261,
+ PHP_JSON_T_DOUBLE = 262,
+ PHP_JSON_T_STRING = 263,
+ PHP_JSON_T_ESTRING = 264,
+ PHP_JSON_T_EOI = 265,
+ PHP_JSON_T_ERROR = 266
+ };
#endif
/* Tokens. */
#define PHP_JSON_T_NUL 258
@@ -67,29 +61,28 @@ extern int php_json_yydebug;
#define PHP_JSON_T_EOI 265
#define PHP_JSON_T_ERROR 266
-/* Value type. */
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-union YYSTYPE
+
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
{
zval value;
struct {
- zval key;
+ zend_string *key;
zval val;
} pair;
-};
-typedef union YYSTYPE YYSTYPE;
+} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
-int php_json_yyparse (php_json_parser *parser);
-#endif /* !YY_PHP_JSON_YY_HOME_JAKUB_PROG_PHP_MASTER_EXT_JSON_JSON_PARSER_TAB_H_INCLUDED */