summaryrefslogtreecommitdiff
path: root/Zend
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>2000-03-10 15:01:21 +0000
committerAndi Gutmans <andi@php.net>2000-03-10 15:01:21 +0000
commitd609112c0eedd4094a1e8e01ba9ed0a348975aa4 (patch)
treef69019ad487e9b7c4f570203f80e6eec30ba2635 /Zend
parentcf89b8db5a264d1179edb9e876ebc32f80c5ee2b (diff)
downloadphp-git-d609112c0eedd4094a1e8e01ba9ed0a348975aa4.tar.gz
- Nuke import, add include_once and include_require scanner/parser rules.
Hope to nuke use too :)
Diffstat (limited to 'Zend')
-rw-r--r--Zend/zend-parser.y6
-rw-r--r--Zend/zend-scanner.l8
2 files changed, 10 insertions, 4 deletions
diff --git a/Zend/zend-parser.y b/Zend/zend-parser.y
index fb482d75b9..511caac30b 100644
--- a/Zend/zend-parser.y
+++ b/Zend/zend-parser.y
@@ -49,7 +49,7 @@
%pure_parser
%expect 7
-%left T_INCLUDE T_EVAL T_IMPORT
+%left T_INCLUDE T_INCLUDE_ONCE T_EVAL
%left ','
%left T_LOGICAL_OR
%left T_LOGICAL_XOR
@@ -108,6 +108,7 @@
%token T_CONST
%token T_RETURN
%token T_REQUIRE
+%token T_REQUIRE_ONCE
%token T_USE
%token T_GLOBAL
%token T_STATIC
@@ -200,6 +201,7 @@ unticked_statement:
| T_INLINE_HTML { do_echo(&$1 CLS_CC); }
| expr ';' { do_free(&$1 CLS_CC); }
| T_REQUIRE expr ';' { do_require(&$2 CLS_CC); }
+ | T_REQUIRE_ONCE use_filename ';' { do_require(&$2 CLS_CC); }
| T_USE use_filename ';' { use_filename($2.u.constant.value.str.val, $2.u.constant.value.str.len CLS_CC); zval_dtor(&$2.u.constant); }
| T_UNSET '(' cvar ')' ';' { do_end_variable_parse(BP_VAR_UNSET, 0 CLS_CC); do_unset(&$3 CLS_CC); }
| T_FOREACH '(' expr T_AS { do_foreach_begin(&$1, &$3, &$2, &$4 CLS_CC); } w_cvar foreach_optional_arg ')' { do_foreach_cont(&$6, &$7, &$4 CLS_CC); } foreach_statement { do_foreach_end(&$1, &$2 CLS_CC); }
@@ -708,8 +710,8 @@ internal_functions_in_yacc:
T_ISSET '(' cvar ')' { do_isset_or_isempty(ZEND_ISSET, &$$, &$3 CLS_CC); }
| T_EMPTY '(' cvar ')' { do_isset_or_isempty(ZEND_ISEMPTY, &$$, &$3 CLS_CC); }
| T_INCLUDE expr { do_include_or_eval(ZEND_INCLUDE, &$$, &$2 CLS_CC); }
+ | T_INCLUDE_ONCE expr { do_include_or_eval(ZEND_INCLUDE, &$$, &$2 CLS_CC); }
| T_EVAL '(' expr ')' { do_include_or_eval(ZEND_EVAL, &$$, &$3 CLS_CC); }
- | T_IMPORT '(' expr ')' { do_include_or_eval(ZEND_IMPORT, &$$, &$3 CLS_CC); }
;
diff --git a/Zend/zend-scanner.l b/Zend/zend-scanner.l
index 869fd30093..878c33a4df 100644
--- a/Zend/zend-scanner.l
+++ b/Zend/zend-scanner.l
@@ -918,14 +918,18 @@ ESCAPED_AND_WHITESPACE [\n\t\r #'.:;,()|^&+-/*=%!~<>?@]+
return T_INCLUDE;
}
-<ST_IN_SCRIPTING>"import" {
- return T_IMPORT;
+<ST_IN_SCRIPTING>"include_once" {
+ return T_INCLUDE_ONCE;
}
<ST_IN_SCRIPTING>"require" {
return T_REQUIRE;
}
+<ST_IN_SCRIPTING>"require_once" {
+ return T_REQUIRE_ONCE;
+}
+
<ST_IN_SCRIPTING>"use" {
return T_USE;
}