diff --git a/dist/nophp-0.1.8-py3-none-any.whl b/dist/nophp-0.1.8-py3-none-any.whl
index ea4c62f..38e663b 100644
Binary files a/dist/nophp-0.1.8-py3-none-any.whl and b/dist/nophp-0.1.8-py3-none-any.whl differ
diff --git a/dist/nophp-0.1.8.tar.gz b/dist/nophp-0.1.8.tar.gz
index 5bda010..87bd10f 100644
Binary files a/dist/nophp-0.1.8.tar.gz and b/dist/nophp-0.1.8.tar.gz differ
diff --git a/dist/nophp-0.1.9rc1-py3-none-any.whl b/dist/nophp-0.1.9rc1-py3-none-any.whl
new file mode 100644
index 0000000..6c8249a
Binary files /dev/null and b/dist/nophp-0.1.9rc1-py3-none-any.whl differ
diff --git a/dist/nophp-0.1.9rc1.tar.gz b/dist/nophp-0.1.9rc1.tar.gz
new file mode 100644
index 0000000..c30c876
Binary files /dev/null and b/dist/nophp-0.1.9rc1.tar.gz differ
diff --git a/index.php b/index.php
index 16bff60..6bbde8e 100644
--- a/index.php
+++ b/index.php
@@ -45,7 +45,7 @@
echo $NAVBAR;
// Body
-$greeting = Example/greet();
+$greeting = Example/greet(1);
echo
diff --git a/nophp/__pycache__/spindle.cpython-312.pyc b/nophp/__pycache__/spindle.cpython-312.pyc
index 1862a71..c5e6512 100644
Binary files a/nophp/__pycache__/spindle.cpython-312.pyc and b/nophp/__pycache__/spindle.cpython-312.pyc differ
diff --git a/nophp/lang/__pycache__/compiler.cpython-312.pyc b/nophp/lang/__pycache__/compiler.cpython-312.pyc
index 21d85f5..37f72ea 100644
Binary files a/nophp/lang/__pycache__/compiler.cpython-312.pyc and b/nophp/lang/__pycache__/compiler.cpython-312.pyc differ
diff --git a/nophp/lang/__pycache__/lexer.cpython-312.pyc b/nophp/lang/__pycache__/lexer.cpython-312.pyc
index 8103268..a1f02da 100644
Binary files a/nophp/lang/__pycache__/lexer.cpython-312.pyc and b/nophp/lang/__pycache__/lexer.cpython-312.pyc differ
diff --git a/nophp/lang/__pycache__/module.cpython-312.pyc b/nophp/lang/__pycache__/module.cpython-312.pyc
index fca6631..39cb158 100644
Binary files a/nophp/lang/__pycache__/module.cpython-312.pyc and b/nophp/lang/__pycache__/module.cpython-312.pyc differ
diff --git a/nophp/lang/__pycache__/modules.cpython-312.pyc b/nophp/lang/__pycache__/modules.cpython-312.pyc
index 022cbc8..8b4a83c 100644
Binary files a/nophp/lang/__pycache__/modules.cpython-312.pyc and b/nophp/lang/__pycache__/modules.cpython-312.pyc differ
diff --git a/nophp/lang/__pycache__/pparser.cpython-312.pyc b/nophp/lang/__pycache__/pparser.cpython-312.pyc
index fe1eb3e..f81d8b6 100644
Binary files a/nophp/lang/__pycache__/pparser.cpython-312.pyc and b/nophp/lang/__pycache__/pparser.cpython-312.pyc differ
diff --git a/nophp/lang/__pycache__/types.cpython-312.pyc b/nophp/lang/__pycache__/types.cpython-312.pyc
index 10adbfe..457bed1 100644
Binary files a/nophp/lang/__pycache__/types.cpython-312.pyc and b/nophp/lang/__pycache__/types.cpython-312.pyc differ
diff --git a/nophp/lang/compiler.py b/nophp/lang/compiler.py
index 84f40b6..2121825 100644
--- a/nophp/lang/compiler.py
+++ b/nophp/lang/compiler.py
@@ -225,12 +225,7 @@ def run(self, code=None):
console.bell()
console.print(f"[red]({__file__.split('/')[-1]}:{action[-1]})\n\t({self.namespace})ERROR:[/red]", e)
rprint(
- Syntax(
- str(action) + '\nPrevious:\t'+ str(self.prev),
- "lisp",
- padding=1,
- line_numbers=True
- )
+ str(action) + '\nPrevious:\t'+ str(self.prev)
)
print("Stacktrace:")
parent = self.parent
@@ -319,9 +314,10 @@ def create_class(
parent = None,
force = False
) -> None:
- if name in self.classes and not force:
- print(f"At {self.line}")
- raise TranspilerExceptions.ClassExists(name, clss=self.classes)
+ # TODO: I don't think this is necessary
+ # if name in self.classes and not force:
+ # print(f"At {self.line}")
+ # raise TranspilerExceptions.ClassExists(name, clss=self.classes)
obj.parent = parent
diff --git a/nophp/lang/lexer.py b/nophp/lang/lexer.py
index 099424e..b8e39df 100644
--- a/nophp/lang/lexer.py
+++ b/nophp/lang/lexer.py
@@ -64,6 +64,7 @@ class PyettyLexer(Lexer):
# TEXT
EXTENDS,
ATTR_LEVEL,
+ USING,
}
literals = {
"+",
@@ -145,6 +146,7 @@ class PyettyLexer(Lexer):
ID["from"] = FROM
ID["_init"] = INIT
ID["new"] = NEW
+ ID["using"] = USING
ATTR_LEVEL = r'(public|private|protected)'
# TEXT = r'>\s*([^<>\s]+)\s*'
# HTMLSTRING = r'[\s\S]+?'
diff --git a/nophp/lang/modules.py b/nophp/lang/modules.py
index 58f4146..8b6fa78 100644
--- a/nophp/lang/modules.py
+++ b/nophp/lang/modules.py
@@ -98,10 +98,11 @@ def proc_tree(self, tree):
elif type(second_resolved) == Auto:
second_value = second_resolved.value
- # TODO: Patch with exhaustive matching later
- if second_value in NOPHP_TYPES:
+ # TODO: Patch with "sane" exhaustive matching later
+ while type(second_value) in NOPHP_TYPES:
second_value = second_value.value
- if first_value in NOPHP_TYPES:
+
+ while type(first_value) in NOPHP_TYPES:
first_value = first_value.value
return String(self.remove_quotes(first_value) + self.remove_quotes(second_value))
@@ -292,6 +293,9 @@ def proc_tree(self, _):
Warn("Use is obsolete in NoPHP, the namespace was autoloaded, skipping.")
class RequireOnceMod(Module):
+ """
+ This is legacy now and should get a rework.
+ """
name="REQUIRE_ONCE"
type = Module.MODULE_TYPES.NON_WRITEABLE
@@ -326,6 +330,9 @@ def proc_tree(self, tree):
elif type(resolved) == String:
value = self.remove_quotes(resolved.value)
+ # TODO: Legacy failsafe
+ if type(value) == String:
+ value = self.remove_quotes(value.value)
values.append(value)
@@ -341,6 +348,7 @@ def proc_tree(self, tree):
tokens = parser.parse(
lexer.tokenize(php)
)
+ self.compiler_instance.finished.append(html)
old_nm = self.compiler_instance.namespace
@@ -471,8 +479,20 @@ def proc_tree(self, tree):
if type(index) == String:
index_value = self.remove_quotes(index.value)
+ elif type(index) == ID:
+ index_value = self.compiler_instance.get_variable(index.value)['object']
+ print("IndexOBJ:",index_value)
+ if type(index_value) == Auto: # Fucking auto istg
+ index_value = index_value.value
+ print("HandledAuto:",index_value)
+ if type(index_value) == String:
+ index_value = self.remove_quotes(index_value.value)
+ print("HandledString:",index_value)
+ else:
+ index_value = index_value.value
else: index_value = index.value
+
if type(name) == ID:
var = self.compiler_instance.get_variable(name.value)
# print(var)
@@ -590,8 +610,21 @@ def add_quotes_if_missing(match):
raise TranspilerExceptions.TypeMissmatch(f"Get Index Actor: {name.value}", type(name.value), [ID, DynArray, Map], line)
elif type(name) == Nil:
return Nil()
+ elif type(name) == Map:
+ value = {}
+ for key, v in name.value.items():
+ if type(key) not in BASE_TYPES:
+ value[self.remove_quotes(key.value) if type(key.value) == str else key.value] = v
+ else:
+ value[self.remove_quotes(key)] = v
+ if index_value in value:
+ print("Found mapping")
+ return Auto(value[index_value], "basic")
+ else:
+ print(f"Map does not contain {index_value}, it only contains: {list(value.keys())}")
+ return Nil()
else:
- raise TranspilerExceptions.TypeMissmatch(f"Get Index Actor: {name}", type(name), [ID, DynArray], line)
+ raise TranspilerExceptions.TypeMissmatch(f"Get Index Actor: {name}", type(name), [ID, DynArray, Map, Auto], line)
return Nil()
class SetIndexMod(Module):
@@ -614,6 +647,8 @@ def proc_tree(self, tree):
value = resolution_module(tree['EXPRESSION'])
while type(index_value) not in BASE_TYPES:
+ if type(index_value) == ID:
+ index_value = self.compiler_instance.get_variable(index_value.value)["object"]
index_value = index_value.value
if type(index_value) == str:
index_value = self.remove_quotes(index_value)
@@ -641,7 +676,8 @@ def add_quotes_if_missing(match):
else:
return Nil()
-
+ while type(value) == ID: # TODO: Why should we keep this while?
+ value = self.compiler_instance.get_variable(value.value)['object']
if type(name) == ID:
var = self.compiler_instance.get_variable(name.value)
@@ -650,6 +686,9 @@ def add_quotes_if_missing(match):
var['object'].value[index_value] = value
else:
raise TranspilerExceptions.OutOfBounds(index_value, var['object'].length)
+ elif var['type'] == Map:
+ print(index_value, value, var)
+ var['object'].value[index_value] = value
elif var['type'] == Session:
print("Session contains:",var['object'].value.get(index_value), type(var['object'].value.get(index_value)))
var['object'].value[index_value] = value # Auto(value, "basic").value
@@ -822,8 +861,33 @@ def __init__(self, compiler_instance):
def proc_tree(self, tree):
# pprint(tree)
+ resolution_module: Module = self.compiler_instance.get_action('RESOLUT')
extends = None
source: list = []
+ uses: list = []
+
+ # Create a new instance, it will track the functions and variables in its namespace
+ instance = self.compiler_instance.new_instance(
+ namespace=tree['ID']
+ )
+
+ if "USES" in tree:
+ for use in tree["USES"]:
+ uses.append(resolution_module(use))
+
+ for use in uses:
+ print(f"Using {use}")
+ if use.value in self.compiler_instance.variables:
+ print(f"Loaded {use} as var")
+ instance.variables[use.value] = self.compiler_instance.variables[use.value]
+ elif use.value in self.compiler_instance.classes:
+ print(f"Loaded {use} as class")
+ instance.classes[use.value] = self.compiler_instance.classes[use.value]
+ elif use.value in self.compiler_instance.functions:
+ print(f"Loaded {use} as func")
+ instance.functions[use.value] = self.compiler_instance.functions[use.value]
+ else:
+ raise TranspilerExceptions.Generic(f"Unkown var {use} passed into new scope of {tree['ID']} {self.compiler_instance.classes}")
if "EXTENDS" in tree:
# Check if the class exists
@@ -831,9 +895,6 @@ def proc_tree(self, tree):
if extends in self.compiler_instance.classes:
# Get tree of the class, then we copy its code
- instance = self.compiler_instance.new_instance(
- namespace=tree['ID']
- )
source = list(self.compiler_instance.classes[extends]["source"])
source.extend(tree['PROGRAM'])
instance.run(source)
@@ -842,14 +903,14 @@ def proc_tree(self, tree):
raise TranspilerExceptions.ClassNotFound(extends)
else:
-
# Create a new instance, it will track the functions and variables in its namespace
- instance = self.compiler_instance.new_instance(
- namespace=tree['ID'],
- tree=tree['PROGRAM']
- )
+ # instance = self.compiler_instance.new_instance(
+ # namespace=tree['ID'],
+ # tree=tree['PROGRAM']
+ # )
source = tree['PROGRAM']
- instance.run()
+ # instance.run()
+ instance.run(tree['PROGRAM'])
# Then Add this instance as a class template object, we can duplicate it later
self.compiler_instance.create_class(
@@ -859,9 +920,10 @@ def proc_tree(self, tree):
parent=extends
)
- # print(
- # instance.variables.keys()
- # )
+ print(
+ instance.namespace,
+ instance.classes.keys()
+ )
# input('c')
console.log("[ClassMod] New class & scope created for \"{}\" ({})".format(tree['ID'], instance))
@@ -888,14 +950,22 @@ def proc_tree(self, tree):
namespace=name.value[1] + "_obj",
sync="b"
)
+ # Inject classes that have been "used"
+ for _clas in clas['object'].classes:
+ obj.classes[_clas] = clas['object'].classes[_clas]
obj.run(clas['source'])
elif name.value in self.compiler_instance.classes:
+ clas = self.compiler_instance.classes[name.value]
obj = self.compiler_instance.new_instance(
namespace=name.value + "_obj",
sync="b"
)
- obj.run(self.compiler_instance.classes[name.value]["source"])
+ # Inject classes that have been "used"
+ for _clas in clas['object'].classes:
+ obj.classes[_clas] = clas['object'].classes[_clas]
+ obj.run(clas["source"])
else:
+ print(self.compiler_instance.namespace, self.compiler_instance.classes.keys())
raise TranspilerExceptions.ClassNotFound(name)
# Call it's constructor
@@ -1207,6 +1277,47 @@ def proc_tree(self, tree):
done = ret
else:
raise TranspilerExceptions.UnkownMethodReference(funcname, list(self.compiler_instance.variables[cls]['object'].functions.keys()), ns=self.compiler_instance.variables[cls]['object'].namespace)
+
+ elif cls in self.compiler_instance.classes:
+ if funcname in self.compiler_instance.classes[cls]['object'].functions:
+ funcobj = self.compiler_instance.classes[cls]['object'].functions[funcname]
+
+ for i, arg in enumerate(self.compiler_instance.classes[cls]['object'].functions[funcname]["arguments"]):
+ try:
+ v = parsed_args[i]
+ except IndexError as e:
+ raise TranspilerExceptions.OutOfBounds(i, len(self.compiler_instance.classes[cls]['object'].functions[funcname]["arguments"]))
+
+ self.compiler_instance.classes[cls]['object'].functions[funcname]["object"].create_variable(
+ arg.value,
+ type(v),
+ v,
+ force=True
+ )
+ # TODO: REMOVE
+ # print(self.compiler_instance.classes[cls]['object'].functions[funcname]["object"].namespace ,self.compiler_instance.classes[cls]['object'].functions[funcname]["object"].classes)
+ func = self.compiler_instance.classes[cls]['object'].functions[funcname]["run_func"]
+ # TODO: Check permission level
+ func()
+ self.compiler_instance.write_back(
+ self.compiler_instance.classes[cls]['object'].functions[funcname]['object']
+ )
+ ret = self.compiler_instance.classes[cls]['object'].functions[funcname]['object'].returns
+ exp = self.compiler_instance.classes[cls]['object'].functions[funcname]['returns']
+ # TODO: REMOVE
+ # print(funcname, ret)
+ if ret != Nil:
+ if type(ret) == ID:
+ # print(list(self.compiler_instance.classes[cls]['object'].functions[funcname]['object'].classes.keys()))
+ # input("vars.")
+ ret = self.compiler_instance.classes[cls]['object'].functions[funcname]['object'].get_variable(ret.value)['object']
+ if type(ret) != exp and exp != Any:
+ raise TranspilerExceptions.TypeMissmatchNL(f"{funcname}(...) return value", ret, exp)
+ done = ret
+ else:
+ raise TranspilerExceptions.UnkownMethodReference(funcname, list(self.compiler_instance.classes[cls]['object'].functions.keys()), ns=self.compiler_instance.classes[cls]['object'].namespace)
+
+
else:
raise TranspilerExceptions.ClassNotFound(cls)
@@ -1283,6 +1394,14 @@ def proc_tree(self, tree):
raise TranspilerExceptions.Generic(f"Unable to find callable unit on a value of Nil. '{tree['FROM']}' was Nil\n::Information::\n'{self.compiler_instance.get_variable(tree['FROM'])}'")
# print(tree["TO"], o.get_variable(tree["TO"]), self.compiler_instance.namespace)
return Auto(o.get_variable(tree["TO"])['object'], 'basic').value
+
+ # For classes that don't require initialization or construction
+ elif tree["FROM"] in self.compiler_instance.classes:
+ o = self.compiler_instance.classes[tree["FROM"]]['object']
+ if type(o) == Nil:
+ raise TranspilerExceptions.Generic(f"Unable to find callable unit on a value of Nil. '{tree['FROM']}' was Nil\n::Information::\n'{self.compiler_instance.get_variable(tree['FROM'])}'")
+
+ return Auto(o.get_variable(tree["TO"])['object'], 'basic').value
else:
raise TranspilerExceptions.NotImplemented
@@ -1531,7 +1650,7 @@ def atomize(val):
# Evaluate condition and run it's code
c = condition(first, second)
- # print(c, self.remove_quotes(first), self.remove_quotes(second), if_condition[0])
+ print(c, first, second, if_condition[0])
else:
c = condition(if_condition[1])
# print(c)
diff --git a/nophp/lang/pparser.py b/nophp/lang/pparser.py
index e32b6ad..766e8df 100644
--- a/nophp/lang/pparser.py
+++ b/nophp/lang/pparser.py
@@ -744,6 +744,10 @@ def function_arguments(self, p):
@_("kwargs")
def function_arguments(self, p):
return {"KWARGS": p.kwargs}
+
+ @_("CLASS ID '[' positional_args ']' '{' program '}'")
+ def class_declaration(self, p):
+ return ("CLASS_DECLARATION", {"ID": p.ID, "USES": p.positional_args, "PROGRAM": p.program}, p.lineno)
@_("CLASS ID '{' program '}'")
def class_declaration(self, p):
@@ -751,8 +755,11 @@ def class_declaration(self, p):
@_("CLASS ID EXTENDS ID '{' program '}'")
def class_declaration(self, p):
- return ("CLASS_DECLARATION", {"ID": p.ID0, "EXTENDS": p.ID1, "PROGRAM": p.program}, p.lineno)
+ return ("CLASS_DECLARATION", {"ID": p.ID0, "EXTENDS": p.ID1, "PROGRAM": p.program}, p.lineno)
+ @_("CLASS ID EXTENDS ID '[' positional_args ']' '{' program '}'")
+ def class_declaration(self, p):
+ return ("CLASS_DECLARATION", {"ID": p.ID0, "EXTENDS": p.ID1, "USES": p.positional_args, "PROGRAM": p.program}, p.lineno)
@_("NAMESPACE ID '{' program '}'")
def class_declaration(self, p):
diff --git a/nophp/lang/std/__pycache__/db.cpython-312.pyc b/nophp/lang/std/__pycache__/db.cpython-312.pyc
index 3745d7c..d376dfc 100644
Binary files a/nophp/lang/std/__pycache__/db.cpython-312.pyc and b/nophp/lang/std/__pycache__/db.cpython-312.pyc differ
diff --git a/nophp/lang/std/__pycache__/echo.cpython-312.pyc b/nophp/lang/std/__pycache__/echo.cpython-312.pyc
index da5f495..aa9dde4 100644
Binary files a/nophp/lang/std/__pycache__/echo.cpython-312.pyc and b/nophp/lang/std/__pycache__/echo.cpython-312.pyc differ
diff --git a/nophp/lang/std/__pycache__/htmlspecialchars.cpython-312.pyc b/nophp/lang/std/__pycache__/htmlspecialchars.cpython-312.pyc
index 4c9fd44..cca7a1a 100644
Binary files a/nophp/lang/std/__pycache__/htmlspecialchars.cpython-312.pyc and b/nophp/lang/std/__pycache__/htmlspecialchars.cpython-312.pyc differ
diff --git a/nophp/lang/std/__pycache__/internal.cpython-312.pyc b/nophp/lang/std/__pycache__/internal.cpython-312.pyc
index 24436ca..59698cb 100644
Binary files a/nophp/lang/std/__pycache__/internal.cpython-312.pyc and b/nophp/lang/std/__pycache__/internal.cpython-312.pyc differ
diff --git a/nophp/lang/std/__pycache__/json.cpython-312.pyc b/nophp/lang/std/__pycache__/json.cpython-312.pyc
index a274c14..b3581e8 100644
Binary files a/nophp/lang/std/__pycache__/json.cpython-312.pyc and b/nophp/lang/std/__pycache__/json.cpython-312.pyc differ
diff --git a/nophp/lang/std/__pycache__/primitives.cpython-312.pyc b/nophp/lang/std/__pycache__/primitives.cpython-312.pyc
index 14afaf6..d60bf5f 100644
Binary files a/nophp/lang/std/__pycache__/primitives.cpython-312.pyc and b/nophp/lang/std/__pycache__/primitives.cpython-312.pyc differ
diff --git a/nophp/lang/std/__pycache__/session.cpython-312.pyc b/nophp/lang/std/__pycache__/session.cpython-312.pyc
index dbaf647..32bf2c1 100644
Binary files a/nophp/lang/std/__pycache__/session.cpython-312.pyc and b/nophp/lang/std/__pycache__/session.cpython-312.pyc differ
diff --git a/nophp/lang/std/__pycache__/string.cpython-312.pyc b/nophp/lang/std/__pycache__/string.cpython-312.pyc
index cd512d0..00a58c7 100644
Binary files a/nophp/lang/std/__pycache__/string.cpython-312.pyc and b/nophp/lang/std/__pycache__/string.cpython-312.pyc differ
diff --git a/nophp/lang/std/__pycache__/stripe.cpython-312.pyc b/nophp/lang/std/__pycache__/stripe.cpython-312.pyc
new file mode 100644
index 0000000..deb2e69
Binary files /dev/null and b/nophp/lang/std/__pycache__/stripe.cpython-312.pyc differ
diff --git a/nophp/lang/std/internal.py b/nophp/lang/std/internal.py
index e814edd..6691763 100644
--- a/nophp/lang/std/internal.py
+++ b/nophp/lang/std/internal.py
@@ -92,13 +92,26 @@ def proc_tree(self, tree):
return Int32(
value
)
-
+
+class NoPHPTemplate(CommonInternalMod):
+ name="template"
+ type = Module.MODULE_TYPES.FUNCTION
+
+ def __init__(self, compiler_instance):
+ super().__init__(compiler_instance)
+ self.compiler_instance = compiler_instance
+
+ def proc_tree(self, tree):
+ require = self.compiler_instance.get_action("REQUIRE_ONCE")
+ require(tree)
+
_MODS = {
"nophp_version": VersionInfo,
"die": NoPHPDie,
"typeof": NoPHPTypeOf,
"toInt": NoPHPToInt,
+ "template": NoPHPTemplate
}
def build_funcs(c):
diff --git a/nophp/lang/std/json.py b/nophp/lang/std/json.py
index 9a1fdc2..de88e7d 100644
--- a/nophp/lang/std/json.py
+++ b/nophp/lang/std/json.py
@@ -53,6 +53,7 @@ def proc_tree(self, tree):
# i.e. getters.
attrs = {}
obj = values[0]
+ print(f"Encoding: {obj}")
if type(obj) == Compiler:
for func in obj.functions:
if func[:3].lower() == 'get':
diff --git a/nophp/lang/std/memory.py b/nophp/lang/std/memory.py
index 247c65a..d8b0138 100644
--- a/nophp/lang/std/memory.py
+++ b/nophp/lang/std/memory.py
@@ -31,7 +31,7 @@ def base(self, tree, ref=False):
return values
-
+# TODO: What is this for??? it's been a month since I wrote this??
# set_session($key, $value) ->
class SetSessionMod(CommonMod):
name="set_session"
diff --git a/nophp/lang/std/primitives.py b/nophp/lang/std/primitives.py
index ceb938e..c3ac230 100644
--- a/nophp/lang/std/primitives.py
+++ b/nophp/lang/std/primitives.py
@@ -61,6 +61,23 @@ def proc_tree(self, tree):
emptiness = value is None or value == "" or value == [] or value == {} or value == set()
return Bool(emptiness)
+
+
+class ExistsMod(CommonMod):
+ name="exists"
+ type = Module.MODULE_TYPES.FUNCTION
+
+ def __init__(self, compiler_instance):
+ super().__init__(compiler_instance)
+ self.compiler_instance = compiler_instance
+
+ def proc_tree(self, tree):
+ value = self.base(tree)[0]
+
+ # print(value)
+
+ return Bool(value in self.compiler_instance.variables)
+
# For arrays
# array()
@@ -133,7 +150,8 @@ def proc_tree(self, tree):
"array": ArrayMod,
"array_push": ArrayPushMod,
"array_push_deep": ArrayPushDeepMod,
- "empty": EmptyMod
+ "empty": EmptyMod,
+ "exists": ExistsMod,
}
def build_funcs(c):
diff --git a/parser.out b/parser.out
index d06f80f..2bae733 100644
--- a/parser.out
+++ b/parser.out
@@ -109,200 +109,203 @@ Rule 105 class_declaration -> NAMESPACE ID ;
Rule 106 class_declaration -> NAMESPACE ID { program }
Rule 107 class_declaration -> CLASS ID EXTENDS ID { program }
Rule 108 class_declaration -> CLASS ID { program }
-Rule 109 for_loop -> FOREACH ( expression AS expression ) { program }
-Rule 110 for_loop -> FOR ( expression ) { program }
-Rule 111 while_loop -> WHILE ( expression ) { program }
-Rule 112 positional_args -> expression
-Rule 113 positional_args -> positional_args , expression [precedence=left, level=2]
-Rule 114 kwargs -> ID = expression [precedence=right, level=3]
-Rule 115 kwargs -> kwargs , id = expression [precedence=right, level=3]
-Rule 116 variable_assignment -> $ get_index = expression ;
-Rule 117 variable_assignment -> LET ID : ID = expression ;
-Rule 118 variable_assignment -> $ ID TARROW ID = expression ;
-Rule 119 variable_assignment -> $ ID = expression ;
-Rule 120 variable_operation -> get_index EQ_DIV expression ;
-Rule 121 variable_operation -> ID EQ_DIV expression ;
-Rule 122 variable_operation -> get_index EQ_MOD expression ;
-Rule 123 variable_operation -> ID EQ_MOD expression ;
-Rule 124 variable_operation -> get_index EQ_MUL expression ;
-Rule 125 variable_operation -> ID EQ_MUL expression ;
-Rule 126 variable_operation -> get_index EQ_SUB expression ;
-Rule 127 variable_operation -> ID EQ_SUB expression ;
-Rule 128 variable_operation -> get_index EQ_ADD expression ;
-Rule 129 variable_operation -> ID EQ_ADD expression ;
-Rule 130 conditional -> if_statement else_statement
-Rule 131 conditional -> if_statement else_if_loop else_statement
-Rule 132 conditional -> if_statement else_if_loop
-Rule 133 conditional -> if_statement
-Rule 134 if_statement -> IF ( expression ) { program }
-Rule 135 else_if_loop -> else_if_statement
-Rule 136 else_if_loop -> else_if_loop else_if_statement
-Rule 137 else_if_statement -> ELSE IF ( expression ) { program }
-Rule 138 else_statement -> ELSE { program }
-Rule 139 delete_statement -> DEL ID ;
-Rule 140 import_statement -> . SELFISH ;
-Rule 141 import_statement -> . GLOBAL ;
-Rule 142 import_statement -> IMPORT expression ;
-Rule 143 null -> NULL
-Rule 144 assoc_array -> [ assoc_array_items ]
-Rule 145 assoc_array -> { empty }
-Rule 146 assoc_array -> [ empty ]
-Rule 147 assoc_array_items -> expression SARROW expression
-Rule 148 assoc_array_items -> assoc_array_items , expression SARROW expression
-Rule 149 get_index -> expression ^ expression
-Rule 150 get_index -> expression [ expression ]
-Rule 151 _tuple -> { positional_args , }
-Rule 152 _tuple -> { positional_args }
-Rule 153 _list -> [ positional_args , ]
-Rule 154 _list -> [ positional_args ]
-Rule 155 items -> expression , expression [precedence=left, level=2]
-Rule 156 items -> items , expression [precedence=left, level=2]
-Rule 157 int -> INT
-Rule 158 string -> FORMATTED_STRING
-Rule 159 string -> MULTILINE_STRING
-Rule 160 string -> STRING
-Rule 161 string -> CHAR
-Rule 162 float -> FLOAT
-Rule 163 bool -> FALSE
-Rule 164 bool -> TRUE
-Rule 165 class_attribute -> expression COLON_COLON ID
-Rule 166 id -> ID
-Rule 167 python_code -> PYTHON_CODE_EXEC
-Rule 168 python_code -> PYTHON_CODE
-Rule 169 empty -> [precedence=left, level=1]
+Rule 109 class_declaration -> CLASS ID [ positional_args ] { program }
+Rule 110 for_loop -> FOREACH ( expression AS expression ) { program }
+Rule 111 for_loop -> FOR ( expression ) { program }
+Rule 112 while_loop -> WHILE ( expression ) { program }
+Rule 113 positional_args -> expression
+Rule 114 positional_args -> positional_args , expression [precedence=left, level=2]
+Rule 115 kwargs -> ID = expression [precedence=right, level=3]
+Rule 116 kwargs -> kwargs , id = expression [precedence=right, level=3]
+Rule 117 variable_assignment -> $ get_index = expression ;
+Rule 118 variable_assignment -> LET ID : ID = expression ;
+Rule 119 variable_assignment -> $ ID TARROW ID = expression ;
+Rule 120 variable_assignment -> $ ID = expression ;
+Rule 121 variable_operation -> get_index EQ_DIV expression ;
+Rule 122 variable_operation -> ID EQ_DIV expression ;
+Rule 123 variable_operation -> get_index EQ_MOD expression ;
+Rule 124 variable_operation -> ID EQ_MOD expression ;
+Rule 125 variable_operation -> get_index EQ_MUL expression ;
+Rule 126 variable_operation -> ID EQ_MUL expression ;
+Rule 127 variable_operation -> get_index EQ_SUB expression ;
+Rule 128 variable_operation -> ID EQ_SUB expression ;
+Rule 129 variable_operation -> get_index EQ_ADD expression ;
+Rule 130 variable_operation -> ID EQ_ADD expression ;
+Rule 131 conditional -> if_statement else_statement
+Rule 132 conditional -> if_statement else_if_loop else_statement
+Rule 133 conditional -> if_statement else_if_loop
+Rule 134 conditional -> if_statement
+Rule 135 if_statement -> IF ( expression ) { program }
+Rule 136 else_if_loop -> else_if_statement
+Rule 137 else_if_loop -> else_if_loop else_if_statement
+Rule 138 else_if_statement -> ELSE IF ( expression ) { program }
+Rule 139 else_statement -> ELSE { program }
+Rule 140 delete_statement -> DEL ID ;
+Rule 141 import_statement -> . SELFISH ;
+Rule 142 import_statement -> . GLOBAL ;
+Rule 143 import_statement -> IMPORT expression ;
+Rule 144 null -> NULL
+Rule 145 assoc_array -> [ assoc_array_items ]
+Rule 146 assoc_array -> { empty }
+Rule 147 assoc_array -> [ empty ]
+Rule 148 assoc_array_items -> expression SARROW expression
+Rule 149 assoc_array_items -> assoc_array_items , expression SARROW expression
+Rule 150 get_index -> expression ^ expression
+Rule 151 get_index -> expression [ expression ]
+Rule 152 _tuple -> { positional_args , }
+Rule 153 _tuple -> { positional_args }
+Rule 154 _list -> [ positional_args , ]
+Rule 155 _list -> [ positional_args ]
+Rule 156 items -> expression , expression [precedence=left, level=2]
+Rule 157 items -> items , expression [precedence=left, level=2]
+Rule 158 int -> INT
+Rule 159 string -> FORMATTED_STRING
+Rule 160 string -> MULTILINE_STRING
+Rule 161 string -> STRING
+Rule 162 string -> CHAR
+Rule 163 float -> FLOAT
+Rule 164 bool -> FALSE
+Rule 165 bool -> TRUE
+Rule 166 class_attribute -> expression COLON_COLON ID
+Rule 167 id -> ID
+Rule 168 python_code -> PYTHON_CODE_EXEC
+Rule 169 python_code -> PYTHON_CODE
+Rule 170 empty -> [precedence=left, level=1]
Unused terminals:
+ USING
+ SANDBOX
IN
TELSE
ATTR_LEVEL
- SANDBOX
Terminals, with rules where they appear:
! : 35
# : 78 79
-$ : 53 85 86 88 116 118 119
+$ : 53 85 86 88 117 119 120
% : 44
& : 38 51
-( : 32 73 74 80 81 82 83 84 85 86 87 89 91 92 93 94 95 96 97 98 99 100 101 109 110 111 134 137
-) : 32 73 74 80 81 82 83 84 85 86 87 89 91 92 93 94 95 96 97 98 99 100 101 109 110 111 134 137
+( : 32 73 74 80 81 82 83 84 85 86 87 89 91 92 93 94 95 96 97 98 99 100 101 110 111 112 135 138
+) : 32 73 74 80 81 82 83 84 85 86 87 89 91 92 93 94 95 96 97 98 99 100 101 110 111 112 135 138
* : 45 50
+ : 36 48
-, : 103 113 115 148 151 153 155 156
+, : 103 114 116 149 152 154 156 157
- : 37 47
-. : 54 71 72 140 141
+. : 54 71 72 141 142
/ : 46 76
-: : 96 97 99 101 117
-; : 4 59 65 66 67 68 69 70 88 93 105 116 117 118 119 120 121 122 123 124 125 126 127 128 129 139 140 141 142
+: : 96 97 99 101 118
+; : 4 59 65 66 67 68 69 70 88 93 105 117 118 119 120 121 122 123 124 125 126 127 128 129 130 140 141 142 143
< : 34
-= : 88 114 115 116 117 118 119
+= : 88 115 116 117 118 119 120
> : 33
? : 4 60 79
-AS : 109
+AS : 110
ATTR_LEVEL :
BREAK : 69
-CHAR : 161
-CLASS : 107 108
-COLON_COLON : 83 84 91 92 165
+CHAR : 162
+CLASS : 107 108 109
+COLON_COLON : 83 84 91 92 166
DEBUG : 67
DEFINE : 79
-DEL : 139
+DEL : 140
DEPENDS : 78
-ELSE : 137 138
+ELSE : 138 139
ENV : 71 72
EQEQ : 43
-EQ_ADD : 128 129
-EQ_DIV : 120 121
+EQ_ADD : 129 130
+EQ_DIV : 121 122
EQ_GREATER : 40
EQ_LESS : 41
-EQ_MOD : 122 123
-EQ_MUL : 124 125
-EQ_SUB : 126 127
+EQ_MOD : 123 124
+EQ_MUL : 125 126
+EQ_SUB : 127 128
EXTENDS : 107
-FALSE : 163
+FALSE : 164
FARROW : 73 87
-FLOAT : 162
-FOR : 110
-FOREACH : 109
-FORMATTED_STRING : 158
+FLOAT : 163
+FOR : 111
+FOREACH : 110
+FORMATTED_STRING : 159
FROM : 71
FUNC : 91 92 94 95 96 97 98 99 100 101
-GLOBAL : 141
+GLOBAL : 142
HTMLEND : 60 62 63
HTMLSTART : 61 62 63
-ID : 50 51 52 52 71 74 74 75 75 76 76 77 77 79 83 83 84 84 85 85 86 86 88 91 91 92 92 94 94 95 95 96 96 97 97 98 99 100 101 105 106 107 107 108 114 117 117 118 118 119 121 123 125 127 129 139 165 166
-IF : 134 137
-IMPORT : 142
+ID : 50 51 52 52 71 74 74 75 75 76 76 77 77 79 83 83 84 84 85 85 86 86 88 91 91 92 92 94 94 95 95 96 96 97 97 98 99 100 101 105 106 107 107 108 109 115 118 118 119 119 120 122 124 126 128 130 140 166 167
+IF : 135 138
+IMPORT : 143
IN :
INIT : 93
-INT : 157
-LET : 117
+INT : 158
+LET : 118
LIMPORT : 59
-MULTILINE_STRING : 159
+MULTILINE_STRING : 160
NAMESPACE : 105 106
NEW : 81 82
NOT_EQEQ : 42
-NULL : 143
+NULL : 144
OF : 52
PHPEND : 58
PHPSTART : 58
-PYTHON_CODE : 168
-PYTHON_CODE_EXEC : 167
+PYTHON_CODE : 169
+PYTHON_CODE_EXEC : 168
RETURN : 70
SANDBOX :
-SARROW : 147 148
-SELFISH : 140
+SARROW : 148 149
+SELFISH : 141
SKIP : 68
-STRING : 160
-TARROW : 74 77 85 86 91 92 118
+STRING : 161
+TARROW : 74 77 85 86 91 92 119
TELSE :
-TRUE : 164
-WHILE : 111
-[ : 144 146 150 153 154
+TRUE : 165
+USING :
+WHILE : 112
+[ : 109 145 147 151 154 155
\ : 75
-] : 144 146 150 153 154
-^ : 149
+] : 109 145 147 151 154 155
+^ : 150
error :
-{ : 71 72 73 87 91 92 93 94 95 96 97 98 99 100 101 106 107 108 109 110 111 134 137 138 145 151 152
+{ : 71 72 73 87 91 92 93 94 95 96 97 98 99 100 101 106 107 108 109 110 111 112 135 138 139 146 152 153
| : 39
-} : 71 72 73 87 91 92 93 94 95 96 97 98 99 100 101 106 107 108 109 110 111 134 137 138 145 151 152
+} : 71 72 73 87 91 92 93 94 95 96 97 98 99 100 101 106 107 108 109 110 111 112 135 138 139 146 152 153
Nonterminals, with rules where they appear:
_list : 21
_tuple : 22
assoc_array : 20
-assoc_array_items : 144 148
+assoc_array_items : 145 149
bool : 26
break_statement : 12
class_attribute : 23
class_declaration : 18
conditional : 16 57
delete_statement : 10
-else_if_loop : 131 132 136
-else_if_statement : 135 136
-else_statement : 130 131
-empty : 1 62 73 80 81 83 85 91 94 96 98 99 145 146
-expression : 4 5 32 33 33 34 34 35 36 37 38 38 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 53 54 54 59 63 64 70 73 78 79 80 81 82 87 88 88 89 90 91 92 96 97 99 101 109 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 134 137 142 147 147 148 148 149 149 150 150 155 155 156 165
+else_if_loop : 132 133 137
+else_if_statement : 136 137
+else_statement : 131 132
+empty : 1 62 73 80 81 83 85 91 94 96 98 99 146 147
+expression : 4 5 32 33 33 34 34 35 36 37 38 38 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 53 54 54 59 63 64 70 73 78 79 80 81 82 87 88 88 89 90 91 92 96 97 99 101 110 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 135 138 143 148 148 149 149 150 150 151 151 156 156 157 166
float : 27
for_loop : 11 56
function_arguments : 74 82 84 86 87 89 90 92 93 95 97 100 101
function_call : 39 39 49 65
function_call_statement : 17
function_declaration : 19
-get_index : 30 116 120 122 124 126 128
+get_index : 30 117 121 123 125 127 129
html_full : 55 64
-id : 24 115
-if_statement : 130 131 132 133
+id : 24 116
+if_statement : 131 132 133 134
import_statement : 7
int : 28
irregular_html_args :
-items : 156
-kwargs : 102 103 115
+items : 157
+kwargs : 102 103 116
null : 29
-positional_args : 103 104 113 151 152 153 154
-program : 3 58 71 72 73 87 91 92 93 94 95 96 97 98 99 100 101 106 107 108 109 110 111 134 137 138 0
+positional_args : 103 104 109 114 152 153 154 155
+program : 3 58 71 72 73 87 91 92 93 94 95 96 97 98 99 100 101 106 107 108 109 110 111 112 135 138 139 0
python_code : 31 66
python_code_statement : 14
return_statement : 9
@@ -320,7 +323,7 @@ state 0
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -377,41 +380,42 @@ state 0
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -423,28 +427,28 @@ state 0
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -469,46 +473,46 @@ state 0
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
- $end reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
+ $end reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
@@ -609,41 +613,42 @@ state 1
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -655,28 +660,28 @@ state 1
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -701,7 +706,7 @@ state 1
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
+ (135) if_statement -> . IF ( expression ) { program }
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -726,9 +731,9 @@ state 1
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -922,28 +927,28 @@ state 4
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -968,13 +973,13 @@ state 4
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
HTMLEND shift and go to state 80
( shift and go to state 32
! shift and go to state 33
@@ -984,7 +989,7 @@ state 4
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -1041,9 +1046,9 @@ state 5
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -1053,10 +1058,10 @@ state 5
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -1095,28 +1100,28 @@ state 5
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -1141,13 +1146,13 @@ state 5
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
! shift/reduce conflict for & resolved as shift
! shift/reduce conflict for * resolved as shift
! shift/reduce conflict for - resolved as shift
@@ -2839,11 +2844,11 @@ state 29
state 30
(30) expression -> get_index .
- (120) variable_operation -> get_index . EQ_DIV expression ;
- (122) variable_operation -> get_index . EQ_MOD expression ;
- (124) variable_operation -> get_index . EQ_MUL expression ;
- (126) variable_operation -> get_index . EQ_SUB expression ;
- (128) variable_operation -> get_index . EQ_ADD expression ;
+ (121) variable_operation -> get_index . EQ_DIV expression ;
+ (123) variable_operation -> get_index . EQ_MOD expression ;
+ (125) variable_operation -> get_index . EQ_MUL expression ;
+ (127) variable_operation -> get_index . EQ_SUB expression ;
+ (129) variable_operation -> get_index . EQ_ADD expression ;
> reduce using rule 30 (expression -> get_index .)
< reduce using rule 30 (expression -> get_index .)
& reduce using rule 30 (expression -> get_index .)
@@ -3013,28 +3018,28 @@ state 32
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -3059,13 +3064,13 @@ state 32
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -3074,7 +3079,7 @@ state 32
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -3156,28 +3161,28 @@ state 33
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -3202,13 +3207,13 @@ state 33
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -3217,7 +3222,7 @@ state 33
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -3299,28 +3304,28 @@ state 34
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -3345,13 +3350,13 @@ state 34
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -3360,7 +3365,7 @@ state 34
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -3442,28 +3447,28 @@ state 35
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -3488,13 +3493,13 @@ state 35
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -3503,7 +3508,7 @@ state 35
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -3625,16 +3630,16 @@ state 38
state 39
(52) expression -> ID . OF ID
- (121) variable_operation -> ID . EQ_DIV expression ;
- (123) variable_operation -> ID . EQ_MOD expression ;
- (125) variable_operation -> ID . EQ_MUL expression ;
- (127) variable_operation -> ID . EQ_SUB expression ;
- (129) variable_operation -> ID . EQ_ADD expression ;
+ (122) variable_operation -> ID . EQ_DIV expression ;
+ (124) variable_operation -> ID . EQ_MOD expression ;
+ (126) variable_operation -> ID . EQ_MUL expression ;
+ (128) variable_operation -> ID . EQ_SUB expression ;
+ (130) variable_operation -> ID . EQ_ADD expression ;
(94) function_declaration -> ID . FUNC ID ( empty ) { program }
(95) function_declaration -> ID . FUNC ID ( function_arguments ) { program }
(96) function_declaration -> ID . FUNC ID ( empty ) : expression { program }
(97) function_declaration -> ID . FUNC ID ( function_arguments ) : expression { program }
- (166) id -> ID .
+ (167) id -> ID .
(74) function_call -> ID . TARROW ID ( function_arguments )
(75) function_call -> ID . \ ID
(76) function_call -> ID . / ID
@@ -3651,60 +3656,60 @@ state 39
EQ_SUB shift and go to state 130
EQ_ADD shift and go to state 131
FUNC shift and go to state 132
- > reduce using rule 166 (id -> ID .)
- < reduce using rule 166 (id -> ID .)
- & reduce using rule 166 (id -> ID .)
- EQ_GREATER reduce using rule 166 (id -> ID .)
- EQ_LESS reduce using rule 166 (id -> ID .)
- NOT_EQEQ reduce using rule 166 (id -> ID .)
- EQEQ reduce using rule 166 (id -> ID .)
- % reduce using rule 166 (id -> ID .)
- * reduce using rule 166 (id -> ID .)
- - reduce using rule 166 (id -> ID .)
- + reduce using rule 166 (id -> ID .)
- . reduce using rule 166 (id -> ID .)
- ^ reduce using rule 166 (id -> ID .)
- [ reduce using rule 166 (id -> ID .)
- ( reduce using rule 166 (id -> ID .)
- $ reduce using rule 166 (id -> ID .)
- ID reduce using rule 166 (id -> ID .)
- ! reduce using rule 166 (id -> ID .)
- { reduce using rule 166 (id -> ID .)
- FORMATTED_STRING reduce using rule 166 (id -> ID .)
- MULTILINE_STRING reduce using rule 166 (id -> ID .)
- STRING reduce using rule 166 (id -> ID .)
- CHAR reduce using rule 166 (id -> ID .)
- FALSE reduce using rule 166 (id -> ID .)
- TRUE reduce using rule 166 (id -> ID .)
- FLOAT reduce using rule 166 (id -> ID .)
- INT reduce using rule 166 (id -> ID .)
- NULL reduce using rule 166 (id -> ID .)
- PYTHON_CODE_EXEC reduce using rule 166 (id -> ID .)
- PYTHON_CODE reduce using rule 166 (id -> ID .)
- # reduce using rule 166 (id -> ID .)
- NEW reduce using rule 166 (id -> ID .)
- ? reduce using rule 166 (id -> ID .)
- HTMLSTART reduce using rule 166 (id -> ID .)
- FOREACH reduce using rule 166 (id -> ID .)
- FOR reduce using rule 166 (id -> ID .)
- IF reduce using rule 166 (id -> ID .)
- PHPSTART reduce using rule 166 (id -> ID .)
- LIMPORT reduce using rule 166 (id -> ID .)
- IMPORT reduce using rule 166 (id -> ID .)
- RETURN reduce using rule 166 (id -> ID .)
- DEL reduce using rule 166 (id -> ID .)
- DEBUG reduce using rule 166 (id -> ID .)
- SKIP reduce using rule 166 (id -> ID .)
- BREAK reduce using rule 166 (id -> ID .)
- LET reduce using rule 166 (id -> ID .)
- WHILE reduce using rule 166 (id -> ID .)
- NAMESPACE reduce using rule 166 (id -> ID .)
- CLASS reduce using rule 166 (id -> ID .)
- INIT reduce using rule 166 (id -> ID .)
- $end reduce using rule 166 (id -> ID .)
- PHPEND reduce using rule 166 (id -> ID .)
- } reduce using rule 166 (id -> ID .)
- , reduce using rule 166 (id -> ID .)
+ > reduce using rule 167 (id -> ID .)
+ < reduce using rule 167 (id -> ID .)
+ & reduce using rule 167 (id -> ID .)
+ EQ_GREATER reduce using rule 167 (id -> ID .)
+ EQ_LESS reduce using rule 167 (id -> ID .)
+ NOT_EQEQ reduce using rule 167 (id -> ID .)
+ EQEQ reduce using rule 167 (id -> ID .)
+ % reduce using rule 167 (id -> ID .)
+ * reduce using rule 167 (id -> ID .)
+ - reduce using rule 167 (id -> ID .)
+ + reduce using rule 167 (id -> ID .)
+ . reduce using rule 167 (id -> ID .)
+ ^ reduce using rule 167 (id -> ID .)
+ [ reduce using rule 167 (id -> ID .)
+ ( reduce using rule 167 (id -> ID .)
+ $ reduce using rule 167 (id -> ID .)
+ ID reduce using rule 167 (id -> ID .)
+ ! reduce using rule 167 (id -> ID .)
+ { reduce using rule 167 (id -> ID .)
+ FORMATTED_STRING reduce using rule 167 (id -> ID .)
+ MULTILINE_STRING reduce using rule 167 (id -> ID .)
+ STRING reduce using rule 167 (id -> ID .)
+ CHAR reduce using rule 167 (id -> ID .)
+ FALSE reduce using rule 167 (id -> ID .)
+ TRUE reduce using rule 167 (id -> ID .)
+ FLOAT reduce using rule 167 (id -> ID .)
+ INT reduce using rule 167 (id -> ID .)
+ NULL reduce using rule 167 (id -> ID .)
+ PYTHON_CODE_EXEC reduce using rule 167 (id -> ID .)
+ PYTHON_CODE reduce using rule 167 (id -> ID .)
+ # reduce using rule 167 (id -> ID .)
+ NEW reduce using rule 167 (id -> ID .)
+ ? reduce using rule 167 (id -> ID .)
+ HTMLSTART reduce using rule 167 (id -> ID .)
+ FOREACH reduce using rule 167 (id -> ID .)
+ FOR reduce using rule 167 (id -> ID .)
+ IF reduce using rule 167 (id -> ID .)
+ PHPSTART reduce using rule 167 (id -> ID .)
+ LIMPORT reduce using rule 167 (id -> ID .)
+ IMPORT reduce using rule 167 (id -> ID .)
+ RETURN reduce using rule 167 (id -> ID .)
+ DEL reduce using rule 167 (id -> ID .)
+ DEBUG reduce using rule 167 (id -> ID .)
+ SKIP reduce using rule 167 (id -> ID .)
+ BREAK reduce using rule 167 (id -> ID .)
+ LET reduce using rule 167 (id -> ID .)
+ WHILE reduce using rule 167 (id -> ID .)
+ NAMESPACE reduce using rule 167 (id -> ID .)
+ CLASS reduce using rule 167 (id -> ID .)
+ INIT reduce using rule 167 (id -> ID .)
+ $end reduce using rule 167 (id -> ID .)
+ PHPEND reduce using rule 167 (id -> ID .)
+ } reduce using rule 167 (id -> ID .)
+ , reduce using rule 167 (id -> ID .)
TARROW shift and go to state 133
\ shift and go to state 134
/ shift and go to state 135
@@ -3714,9 +3719,9 @@ state 39
state 40
(53) expression -> $ . expression
- (116) variable_assignment -> $ . get_index = expression ;
- (118) variable_assignment -> $ . ID TARROW ID = expression ;
- (119) variable_assignment -> $ . ID = expression ;
+ (117) variable_assignment -> $ . get_index = expression ;
+ (119) variable_assignment -> $ . ID TARROW ID = expression ;
+ (120) variable_assignment -> $ . ID = expression ;
(85) function_call -> $ . ID TARROW ID ( empty )
(86) function_call -> $ . ID TARROW ID ( function_arguments )
(20) expression -> . assoc_array
@@ -3757,28 +3762,28 @@ state 40
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -3803,13 +3808,13 @@ state 40
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
ID shift and go to state 139
( shift and go to state 32
! shift and go to state 33
@@ -3818,7 +3823,7 @@ state 40
* shift and go to state 38
& shift and go to state 36
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -3861,8 +3866,8 @@ state 40
state 41
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
SELFISH shift and go to state 140
@@ -3951,7 +3956,7 @@ state 43
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -4008,41 +4013,42 @@ state 43
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -4054,28 +4060,28 @@ state 43
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -4100,46 +4106,46 @@ state 43
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- PHPEND reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ PHPEND reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
@@ -4221,28 +4227,28 @@ state 44
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -4267,13 +4273,13 @@ state 44
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -4282,7 +4288,7 @@ state 44
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -4325,7 +4331,7 @@ state 44
state 45
- (142) import_statement -> IMPORT . expression ;
+ (143) import_statement -> IMPORT . expression ;
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -4364,28 +4370,28 @@ state 45
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -4410,13 +4416,13 @@ state 45
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -4425,7 +4431,7 @@ state 45
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -4507,28 +4513,28 @@ state 46
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -4553,13 +4559,13 @@ state 46
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -4568,7 +4574,7 @@ state 46
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -4611,24 +4617,24 @@ state 46
state 47
- (139) delete_statement -> DEL . ID ;
+ (140) delete_statement -> DEL . ID ;
ID shift and go to state 147
state 48
- (109) for_loop -> FOREACH . ( expression AS expression ) { program }
+ (110) for_loop -> FOREACH . ( expression AS expression ) { program }
( shift and go to state 148
state 49
- (145) assoc_array -> { . empty }
- (151) _tuple -> { . positional_args , }
- (152) _tuple -> { . positional_args }
- (169) empty -> .
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (146) assoc_array -> { . empty }
+ (152) _tuple -> { . positional_args , }
+ (153) _tuple -> { . positional_args }
+ (170) empty -> .
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -4667,28 +4673,28 @@ state 49
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -4713,14 +4719,14 @@ state 49
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -4729,7 +4735,7 @@ state 49
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -4774,7 +4780,7 @@ state 49
state 50
- (110) for_loop -> FOR . ( expression ) { program }
+ (111) for_loop -> FOR . ( expression ) { program }
( shift and go to state 151
@@ -4798,96 +4804,96 @@ state 53
state 54
- (117) variable_assignment -> LET . ID : ID = expression ;
+ (118) variable_assignment -> LET . ID : ID = expression ;
ID shift and go to state 155
state 55
- (111) while_loop -> WHILE . ( expression ) { program }
+ (112) while_loop -> WHILE . ( expression ) { program }
( shift and go to state 156
state 56
- (130) conditional -> if_statement . else_statement
- (131) conditional -> if_statement . else_if_loop else_statement
- (132) conditional -> if_statement . else_if_loop
- (133) conditional -> if_statement .
- (138) else_statement -> . ELSE { program }
- (135) else_if_loop -> . else_if_statement
- (136) else_if_loop -> . else_if_loop else_if_statement
- (137) else_if_statement -> . ELSE IF ( expression ) { program }
- ? reduce using rule 133 (conditional -> if_statement .)
- ( reduce using rule 133 (conditional -> if_statement .)
- ! reduce using rule 133 (conditional -> if_statement .)
- + reduce using rule 133 (conditional -> if_statement .)
- - reduce using rule 133 (conditional -> if_statement .)
- * reduce using rule 133 (conditional -> if_statement .)
- & reduce using rule 133 (conditional -> if_statement .)
- ID reduce using rule 133 (conditional -> if_statement .)
- $ reduce using rule 133 (conditional -> if_statement .)
- PHPSTART reduce using rule 133 (conditional -> if_statement .)
- LIMPORT reduce using rule 133 (conditional -> if_statement .)
- . reduce using rule 133 (conditional -> if_statement .)
- IMPORT reduce using rule 133 (conditional -> if_statement .)
- RETURN reduce using rule 133 (conditional -> if_statement .)
- DEL reduce using rule 133 (conditional -> if_statement .)
- FOREACH reduce using rule 133 (conditional -> if_statement .)
- FOR reduce using rule 133 (conditional -> if_statement .)
- DEBUG reduce using rule 133 (conditional -> if_statement .)
- SKIP reduce using rule 133 (conditional -> if_statement .)
- BREAK reduce using rule 133 (conditional -> if_statement .)
- LET reduce using rule 133 (conditional -> if_statement .)
- WHILE reduce using rule 133 (conditional -> if_statement .)
- NAMESPACE reduce using rule 133 (conditional -> if_statement .)
- CLASS reduce using rule 133 (conditional -> if_statement .)
- FUNC reduce using rule 133 (conditional -> if_statement .)
- INIT reduce using rule 133 (conditional -> if_statement .)
- [ reduce using rule 133 (conditional -> if_statement .)
- { reduce using rule 133 (conditional -> if_statement .)
- FORMATTED_STRING reduce using rule 133 (conditional -> if_statement .)
- MULTILINE_STRING reduce using rule 133 (conditional -> if_statement .)
- STRING reduce using rule 133 (conditional -> if_statement .)
- CHAR reduce using rule 133 (conditional -> if_statement .)
- FALSE reduce using rule 133 (conditional -> if_statement .)
- TRUE reduce using rule 133 (conditional -> if_statement .)
- FLOAT reduce using rule 133 (conditional -> if_statement .)
- INT reduce using rule 133 (conditional -> if_statement .)
- NULL reduce using rule 133 (conditional -> if_statement .)
- PYTHON_CODE_EXEC reduce using rule 133 (conditional -> if_statement .)
- PYTHON_CODE reduce using rule 133 (conditional -> if_statement .)
- # reduce using rule 133 (conditional -> if_statement .)
- NEW reduce using rule 133 (conditional -> if_statement .)
- HTMLSTART reduce using rule 133 (conditional -> if_statement .)
- IF reduce using rule 133 (conditional -> if_statement .)
- $end reduce using rule 133 (conditional -> if_statement .)
- > reduce using rule 133 (conditional -> if_statement .)
- < reduce using rule 133 (conditional -> if_statement .)
- EQ_GREATER reduce using rule 133 (conditional -> if_statement .)
- EQ_LESS reduce using rule 133 (conditional -> if_statement .)
- NOT_EQEQ reduce using rule 133 (conditional -> if_statement .)
- EQEQ reduce using rule 133 (conditional -> if_statement .)
- % reduce using rule 133 (conditional -> if_statement .)
- / reduce using rule 133 (conditional -> if_statement .)
- COLON_COLON reduce using rule 133 (conditional -> if_statement .)
- ^ reduce using rule 133 (conditional -> if_statement .)
- ; reduce using rule 133 (conditional -> if_statement .)
- | reduce using rule 133 (conditional -> if_statement .)
- , reduce using rule 133 (conditional -> if_statement .)
- PHPEND reduce using rule 133 (conditional -> if_statement .)
- } reduce using rule 133 (conditional -> if_statement .)
- ) reduce using rule 133 (conditional -> if_statement .)
- SARROW reduce using rule 133 (conditional -> if_statement .)
- ] reduce using rule 133 (conditional -> if_statement .)
- HTMLEND reduce using rule 133 (conditional -> if_statement .)
- EQ_DIV reduce using rule 133 (conditional -> if_statement .)
- EQ_MOD reduce using rule 133 (conditional -> if_statement .)
- EQ_MUL reduce using rule 133 (conditional -> if_statement .)
- EQ_SUB reduce using rule 133 (conditional -> if_statement .)
- EQ_ADD reduce using rule 133 (conditional -> if_statement .)
- = reduce using rule 133 (conditional -> if_statement .)
- AS reduce using rule 133 (conditional -> if_statement .)
+ (131) conditional -> if_statement . else_statement
+ (132) conditional -> if_statement . else_if_loop else_statement
+ (133) conditional -> if_statement . else_if_loop
+ (134) conditional -> if_statement .
+ (139) else_statement -> . ELSE { program }
+ (136) else_if_loop -> . else_if_statement
+ (137) else_if_loop -> . else_if_loop else_if_statement
+ (138) else_if_statement -> . ELSE IF ( expression ) { program }
+ ? reduce using rule 134 (conditional -> if_statement .)
+ ( reduce using rule 134 (conditional -> if_statement .)
+ ! reduce using rule 134 (conditional -> if_statement .)
+ + reduce using rule 134 (conditional -> if_statement .)
+ - reduce using rule 134 (conditional -> if_statement .)
+ * reduce using rule 134 (conditional -> if_statement .)
+ & reduce using rule 134 (conditional -> if_statement .)
+ ID reduce using rule 134 (conditional -> if_statement .)
+ $ reduce using rule 134 (conditional -> if_statement .)
+ PHPSTART reduce using rule 134 (conditional -> if_statement .)
+ LIMPORT reduce using rule 134 (conditional -> if_statement .)
+ . reduce using rule 134 (conditional -> if_statement .)
+ IMPORT reduce using rule 134 (conditional -> if_statement .)
+ RETURN reduce using rule 134 (conditional -> if_statement .)
+ DEL reduce using rule 134 (conditional -> if_statement .)
+ FOREACH reduce using rule 134 (conditional -> if_statement .)
+ FOR reduce using rule 134 (conditional -> if_statement .)
+ DEBUG reduce using rule 134 (conditional -> if_statement .)
+ SKIP reduce using rule 134 (conditional -> if_statement .)
+ BREAK reduce using rule 134 (conditional -> if_statement .)
+ LET reduce using rule 134 (conditional -> if_statement .)
+ WHILE reduce using rule 134 (conditional -> if_statement .)
+ NAMESPACE reduce using rule 134 (conditional -> if_statement .)
+ CLASS reduce using rule 134 (conditional -> if_statement .)
+ FUNC reduce using rule 134 (conditional -> if_statement .)
+ INIT reduce using rule 134 (conditional -> if_statement .)
+ [ reduce using rule 134 (conditional -> if_statement .)
+ { reduce using rule 134 (conditional -> if_statement .)
+ FORMATTED_STRING reduce using rule 134 (conditional -> if_statement .)
+ MULTILINE_STRING reduce using rule 134 (conditional -> if_statement .)
+ STRING reduce using rule 134 (conditional -> if_statement .)
+ CHAR reduce using rule 134 (conditional -> if_statement .)
+ FALSE reduce using rule 134 (conditional -> if_statement .)
+ TRUE reduce using rule 134 (conditional -> if_statement .)
+ FLOAT reduce using rule 134 (conditional -> if_statement .)
+ INT reduce using rule 134 (conditional -> if_statement .)
+ NULL reduce using rule 134 (conditional -> if_statement .)
+ PYTHON_CODE_EXEC reduce using rule 134 (conditional -> if_statement .)
+ PYTHON_CODE reduce using rule 134 (conditional -> if_statement .)
+ # reduce using rule 134 (conditional -> if_statement .)
+ NEW reduce using rule 134 (conditional -> if_statement .)
+ HTMLSTART reduce using rule 134 (conditional -> if_statement .)
+ IF reduce using rule 134 (conditional -> if_statement .)
+ $end reduce using rule 134 (conditional -> if_statement .)
+ > reduce using rule 134 (conditional -> if_statement .)
+ < reduce using rule 134 (conditional -> if_statement .)
+ EQ_GREATER reduce using rule 134 (conditional -> if_statement .)
+ EQ_LESS reduce using rule 134 (conditional -> if_statement .)
+ NOT_EQEQ reduce using rule 134 (conditional -> if_statement .)
+ EQEQ reduce using rule 134 (conditional -> if_statement .)
+ % reduce using rule 134 (conditional -> if_statement .)
+ / reduce using rule 134 (conditional -> if_statement .)
+ COLON_COLON reduce using rule 134 (conditional -> if_statement .)
+ ^ reduce using rule 134 (conditional -> if_statement .)
+ ; reduce using rule 134 (conditional -> if_statement .)
+ | reduce using rule 134 (conditional -> if_statement .)
+ , reduce using rule 134 (conditional -> if_statement .)
+ PHPEND reduce using rule 134 (conditional -> if_statement .)
+ } reduce using rule 134 (conditional -> if_statement .)
+ ) reduce using rule 134 (conditional -> if_statement .)
+ SARROW reduce using rule 134 (conditional -> if_statement .)
+ ] reduce using rule 134 (conditional -> if_statement .)
+ HTMLEND reduce using rule 134 (conditional -> if_statement .)
+ EQ_DIV reduce using rule 134 (conditional -> if_statement .)
+ EQ_MOD reduce using rule 134 (conditional -> if_statement .)
+ EQ_MUL reduce using rule 134 (conditional -> if_statement .)
+ EQ_SUB reduce using rule 134 (conditional -> if_statement .)
+ EQ_ADD reduce using rule 134 (conditional -> if_statement .)
+ = reduce using rule 134 (conditional -> if_statement .)
+ AS reduce using rule 134 (conditional -> if_statement .)
ELSE shift and go to state 159
else_statement shift and go to state 157
@@ -4905,37 +4911,21 @@ state 58
(107) class_declaration -> CLASS . ID EXTENDS ID { program }
(108) class_declaration -> CLASS . ID { program }
+ (109) class_declaration -> CLASS . ID [ positional_args ] { program }
ID shift and go to state 162
state 59
- (91) function_declaration -> FUNC . ID COLON_COLON ID ( empty ) { program } TARROW expression
- (92) function_declaration -> FUNC . ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
- (98) function_declaration -> FUNC . ID ( empty ) { program }
- (99) function_declaration -> FUNC . ID ( empty ) : expression { program }
- (100) function_declaration -> FUNC . ID ( function_arguments ) { program }
- (101) function_declaration -> FUNC . ID ( function_arguments ) : expression { program }
- ID shift and go to state 163
-
-
-state 60
-
- (93) function_declaration -> INIT . ( function_arguments ) { program } ;
- ( shift and go to state 164
-
-
-state 61
-
- (144) assoc_array -> [ . assoc_array_items ]
- (146) assoc_array -> [ . empty ]
- (153) _list -> [ . positional_args , ]
- (154) _list -> [ . positional_args ]
- (147) assoc_array_items -> . expression SARROW expression
- (148) assoc_array_items -> . assoc_array_items , expression SARROW expression
- (169) empty -> .
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (145) assoc_array -> [ . assoc_array_items ]
+ (147) assoc_array -> [ . empty ]
+ (154) _list -> [ . positional_args , ]
+ (155) _list -> [ . positional_args ]
+ (148) assoc_array_items -> . expression SARROW expression
+ (149) assoc_array_items -> . assoc_array_items , expression SARROW expression
+ (170) empty -> .
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -4974,28 +4964,28 @@ state 61
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -5020,14 +5010,14 @@ state 61
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ] reduce using rule 169 (empty -> .)
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ] reduce using rule 170 (empty -> .)
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -5036,7 +5026,7 @@ state 61
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -5058,10 +5048,10 @@ state 61
FOR shift and go to state 50
IF shift and go to state 76
- assoc_array_items shift and go to state 165
- empty shift and go to state 166
- positional_args shift and go to state 167
- expression shift and go to state 168
+ assoc_array_items shift and go to state 163
+ empty shift and go to state 164
+ positional_args shift and go to state 165
+ expression shift and go to state 166
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -5080,829 +5070,846 @@ state 61
conditional shift and go to state 88
if_statement shift and go to state 56
+state 60
+
+ (91) function_declaration -> FUNC . ID COLON_COLON ID ( empty ) { program } TARROW expression
+ (92) function_declaration -> FUNC . ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
+ (98) function_declaration -> FUNC . ID ( empty ) { program }
+ (99) function_declaration -> FUNC . ID ( empty ) : expression { program }
+ (100) function_declaration -> FUNC . ID ( function_arguments ) { program }
+ (101) function_declaration -> FUNC . ID ( function_arguments ) : expression { program }
+ ID shift and go to state 167
+
+
+state 61
+
+ (93) function_declaration -> INIT . ( function_arguments ) { program } ;
+ ( shift and go to state 168
+
+
state 62
- (158) string -> FORMATTED_STRING .
- > reduce using rule 158 (string -> FORMATTED_STRING .)
- < reduce using rule 158 (string -> FORMATTED_STRING .)
- & reduce using rule 158 (string -> FORMATTED_STRING .)
- EQ_GREATER reduce using rule 158 (string -> FORMATTED_STRING .)
- EQ_LESS reduce using rule 158 (string -> FORMATTED_STRING .)
- NOT_EQEQ reduce using rule 158 (string -> FORMATTED_STRING .)
- EQEQ reduce using rule 158 (string -> FORMATTED_STRING .)
- % reduce using rule 158 (string -> FORMATTED_STRING .)
- * reduce using rule 158 (string -> FORMATTED_STRING .)
- / reduce using rule 158 (string -> FORMATTED_STRING .)
- - reduce using rule 158 (string -> FORMATTED_STRING .)
- + reduce using rule 158 (string -> FORMATTED_STRING .)
- . reduce using rule 158 (string -> FORMATTED_STRING .)
- COLON_COLON reduce using rule 158 (string -> FORMATTED_STRING .)
- ^ reduce using rule 158 (string -> FORMATTED_STRING .)
- [ reduce using rule 158 (string -> FORMATTED_STRING .)
- ( reduce using rule 158 (string -> FORMATTED_STRING .)
- $ reduce using rule 158 (string -> FORMATTED_STRING .)
- ID reduce using rule 158 (string -> FORMATTED_STRING .)
- ! reduce using rule 158 (string -> FORMATTED_STRING .)
- { reduce using rule 158 (string -> FORMATTED_STRING .)
- FORMATTED_STRING reduce using rule 158 (string -> FORMATTED_STRING .)
- MULTILINE_STRING reduce using rule 158 (string -> FORMATTED_STRING .)
- STRING reduce using rule 158 (string -> FORMATTED_STRING .)
- CHAR reduce using rule 158 (string -> FORMATTED_STRING .)
- FALSE reduce using rule 158 (string -> FORMATTED_STRING .)
- TRUE reduce using rule 158 (string -> FORMATTED_STRING .)
- FLOAT reduce using rule 158 (string -> FORMATTED_STRING .)
- INT reduce using rule 158 (string -> FORMATTED_STRING .)
- NULL reduce using rule 158 (string -> FORMATTED_STRING .)
- PYTHON_CODE_EXEC reduce using rule 158 (string -> FORMATTED_STRING .)
- PYTHON_CODE reduce using rule 158 (string -> FORMATTED_STRING .)
- # reduce using rule 158 (string -> FORMATTED_STRING .)
- NEW reduce using rule 158 (string -> FORMATTED_STRING .)
- ? reduce using rule 158 (string -> FORMATTED_STRING .)
- HTMLSTART reduce using rule 158 (string -> FORMATTED_STRING .)
- FOREACH reduce using rule 158 (string -> FORMATTED_STRING .)
- FOR reduce using rule 158 (string -> FORMATTED_STRING .)
- IF reduce using rule 158 (string -> FORMATTED_STRING .)
- PHPSTART reduce using rule 158 (string -> FORMATTED_STRING .)
- LIMPORT reduce using rule 158 (string -> FORMATTED_STRING .)
- IMPORT reduce using rule 158 (string -> FORMATTED_STRING .)
- RETURN reduce using rule 158 (string -> FORMATTED_STRING .)
- DEL reduce using rule 158 (string -> FORMATTED_STRING .)
- DEBUG reduce using rule 158 (string -> FORMATTED_STRING .)
- SKIP reduce using rule 158 (string -> FORMATTED_STRING .)
- BREAK reduce using rule 158 (string -> FORMATTED_STRING .)
- LET reduce using rule 158 (string -> FORMATTED_STRING .)
- WHILE reduce using rule 158 (string -> FORMATTED_STRING .)
- NAMESPACE reduce using rule 158 (string -> FORMATTED_STRING .)
- CLASS reduce using rule 158 (string -> FORMATTED_STRING .)
- FUNC reduce using rule 158 (string -> FORMATTED_STRING .)
- INIT reduce using rule 158 (string -> FORMATTED_STRING .)
- $end reduce using rule 158 (string -> FORMATTED_STRING .)
- ; reduce using rule 158 (string -> FORMATTED_STRING .)
- | reduce using rule 158 (string -> FORMATTED_STRING .)
- , reduce using rule 158 (string -> FORMATTED_STRING .)
- PHPEND reduce using rule 158 (string -> FORMATTED_STRING .)
- } reduce using rule 158 (string -> FORMATTED_STRING .)
- ) reduce using rule 158 (string -> FORMATTED_STRING .)
- SARROW reduce using rule 158 (string -> FORMATTED_STRING .)
- ] reduce using rule 158 (string -> FORMATTED_STRING .)
- HTMLEND reduce using rule 158 (string -> FORMATTED_STRING .)
- EQ_DIV reduce using rule 158 (string -> FORMATTED_STRING .)
- EQ_MOD reduce using rule 158 (string -> FORMATTED_STRING .)
- EQ_MUL reduce using rule 158 (string -> FORMATTED_STRING .)
- EQ_SUB reduce using rule 158 (string -> FORMATTED_STRING .)
- EQ_ADD reduce using rule 158 (string -> FORMATTED_STRING .)
- = reduce using rule 158 (string -> FORMATTED_STRING .)
- AS reduce using rule 158 (string -> FORMATTED_STRING .)
+ (159) string -> FORMATTED_STRING .
+ > reduce using rule 159 (string -> FORMATTED_STRING .)
+ < reduce using rule 159 (string -> FORMATTED_STRING .)
+ & reduce using rule 159 (string -> FORMATTED_STRING .)
+ EQ_GREATER reduce using rule 159 (string -> FORMATTED_STRING .)
+ EQ_LESS reduce using rule 159 (string -> FORMATTED_STRING .)
+ NOT_EQEQ reduce using rule 159 (string -> FORMATTED_STRING .)
+ EQEQ reduce using rule 159 (string -> FORMATTED_STRING .)
+ % reduce using rule 159 (string -> FORMATTED_STRING .)
+ * reduce using rule 159 (string -> FORMATTED_STRING .)
+ / reduce using rule 159 (string -> FORMATTED_STRING .)
+ - reduce using rule 159 (string -> FORMATTED_STRING .)
+ + reduce using rule 159 (string -> FORMATTED_STRING .)
+ . reduce using rule 159 (string -> FORMATTED_STRING .)
+ COLON_COLON reduce using rule 159 (string -> FORMATTED_STRING .)
+ ^ reduce using rule 159 (string -> FORMATTED_STRING .)
+ [ reduce using rule 159 (string -> FORMATTED_STRING .)
+ ( reduce using rule 159 (string -> FORMATTED_STRING .)
+ $ reduce using rule 159 (string -> FORMATTED_STRING .)
+ ID reduce using rule 159 (string -> FORMATTED_STRING .)
+ ! reduce using rule 159 (string -> FORMATTED_STRING .)
+ { reduce using rule 159 (string -> FORMATTED_STRING .)
+ FORMATTED_STRING reduce using rule 159 (string -> FORMATTED_STRING .)
+ MULTILINE_STRING reduce using rule 159 (string -> FORMATTED_STRING .)
+ STRING reduce using rule 159 (string -> FORMATTED_STRING .)
+ CHAR reduce using rule 159 (string -> FORMATTED_STRING .)
+ FALSE reduce using rule 159 (string -> FORMATTED_STRING .)
+ TRUE reduce using rule 159 (string -> FORMATTED_STRING .)
+ FLOAT reduce using rule 159 (string -> FORMATTED_STRING .)
+ INT reduce using rule 159 (string -> FORMATTED_STRING .)
+ NULL reduce using rule 159 (string -> FORMATTED_STRING .)
+ PYTHON_CODE_EXEC reduce using rule 159 (string -> FORMATTED_STRING .)
+ PYTHON_CODE reduce using rule 159 (string -> FORMATTED_STRING .)
+ # reduce using rule 159 (string -> FORMATTED_STRING .)
+ NEW reduce using rule 159 (string -> FORMATTED_STRING .)
+ ? reduce using rule 159 (string -> FORMATTED_STRING .)
+ HTMLSTART reduce using rule 159 (string -> FORMATTED_STRING .)
+ FOREACH reduce using rule 159 (string -> FORMATTED_STRING .)
+ FOR reduce using rule 159 (string -> FORMATTED_STRING .)
+ IF reduce using rule 159 (string -> FORMATTED_STRING .)
+ PHPSTART reduce using rule 159 (string -> FORMATTED_STRING .)
+ LIMPORT reduce using rule 159 (string -> FORMATTED_STRING .)
+ IMPORT reduce using rule 159 (string -> FORMATTED_STRING .)
+ RETURN reduce using rule 159 (string -> FORMATTED_STRING .)
+ DEL reduce using rule 159 (string -> FORMATTED_STRING .)
+ DEBUG reduce using rule 159 (string -> FORMATTED_STRING .)
+ SKIP reduce using rule 159 (string -> FORMATTED_STRING .)
+ BREAK reduce using rule 159 (string -> FORMATTED_STRING .)
+ LET reduce using rule 159 (string -> FORMATTED_STRING .)
+ WHILE reduce using rule 159 (string -> FORMATTED_STRING .)
+ NAMESPACE reduce using rule 159 (string -> FORMATTED_STRING .)
+ CLASS reduce using rule 159 (string -> FORMATTED_STRING .)
+ FUNC reduce using rule 159 (string -> FORMATTED_STRING .)
+ INIT reduce using rule 159 (string -> FORMATTED_STRING .)
+ $end reduce using rule 159 (string -> FORMATTED_STRING .)
+ ; reduce using rule 159 (string -> FORMATTED_STRING .)
+ | reduce using rule 159 (string -> FORMATTED_STRING .)
+ , reduce using rule 159 (string -> FORMATTED_STRING .)
+ PHPEND reduce using rule 159 (string -> FORMATTED_STRING .)
+ } reduce using rule 159 (string -> FORMATTED_STRING .)
+ ) reduce using rule 159 (string -> FORMATTED_STRING .)
+ SARROW reduce using rule 159 (string -> FORMATTED_STRING .)
+ ] reduce using rule 159 (string -> FORMATTED_STRING .)
+ HTMLEND reduce using rule 159 (string -> FORMATTED_STRING .)
+ EQ_DIV reduce using rule 159 (string -> FORMATTED_STRING .)
+ EQ_MOD reduce using rule 159 (string -> FORMATTED_STRING .)
+ EQ_MUL reduce using rule 159 (string -> FORMATTED_STRING .)
+ EQ_SUB reduce using rule 159 (string -> FORMATTED_STRING .)
+ EQ_ADD reduce using rule 159 (string -> FORMATTED_STRING .)
+ = reduce using rule 159 (string -> FORMATTED_STRING .)
+ AS reduce using rule 159 (string -> FORMATTED_STRING .)
state 63
- (159) string -> MULTILINE_STRING .
- > reduce using rule 159 (string -> MULTILINE_STRING .)
- < reduce using rule 159 (string -> MULTILINE_STRING .)
- & reduce using rule 159 (string -> MULTILINE_STRING .)
- EQ_GREATER reduce using rule 159 (string -> MULTILINE_STRING .)
- EQ_LESS reduce using rule 159 (string -> MULTILINE_STRING .)
- NOT_EQEQ reduce using rule 159 (string -> MULTILINE_STRING .)
- EQEQ reduce using rule 159 (string -> MULTILINE_STRING .)
- % reduce using rule 159 (string -> MULTILINE_STRING .)
- * reduce using rule 159 (string -> MULTILINE_STRING .)
- / reduce using rule 159 (string -> MULTILINE_STRING .)
- - reduce using rule 159 (string -> MULTILINE_STRING .)
- + reduce using rule 159 (string -> MULTILINE_STRING .)
- . reduce using rule 159 (string -> MULTILINE_STRING .)
- COLON_COLON reduce using rule 159 (string -> MULTILINE_STRING .)
- ^ reduce using rule 159 (string -> MULTILINE_STRING .)
- [ reduce using rule 159 (string -> MULTILINE_STRING .)
- ( reduce using rule 159 (string -> MULTILINE_STRING .)
- $ reduce using rule 159 (string -> MULTILINE_STRING .)
- ID reduce using rule 159 (string -> MULTILINE_STRING .)
- ! reduce using rule 159 (string -> MULTILINE_STRING .)
- { reduce using rule 159 (string -> MULTILINE_STRING .)
- FORMATTED_STRING reduce using rule 159 (string -> MULTILINE_STRING .)
- MULTILINE_STRING reduce using rule 159 (string -> MULTILINE_STRING .)
- STRING reduce using rule 159 (string -> MULTILINE_STRING .)
- CHAR reduce using rule 159 (string -> MULTILINE_STRING .)
- FALSE reduce using rule 159 (string -> MULTILINE_STRING .)
- TRUE reduce using rule 159 (string -> MULTILINE_STRING .)
- FLOAT reduce using rule 159 (string -> MULTILINE_STRING .)
- INT reduce using rule 159 (string -> MULTILINE_STRING .)
- NULL reduce using rule 159 (string -> MULTILINE_STRING .)
- PYTHON_CODE_EXEC reduce using rule 159 (string -> MULTILINE_STRING .)
- PYTHON_CODE reduce using rule 159 (string -> MULTILINE_STRING .)
- # reduce using rule 159 (string -> MULTILINE_STRING .)
- NEW reduce using rule 159 (string -> MULTILINE_STRING .)
- ? reduce using rule 159 (string -> MULTILINE_STRING .)
- HTMLSTART reduce using rule 159 (string -> MULTILINE_STRING .)
- FOREACH reduce using rule 159 (string -> MULTILINE_STRING .)
- FOR reduce using rule 159 (string -> MULTILINE_STRING .)
- IF reduce using rule 159 (string -> MULTILINE_STRING .)
- PHPSTART reduce using rule 159 (string -> MULTILINE_STRING .)
- LIMPORT reduce using rule 159 (string -> MULTILINE_STRING .)
- IMPORT reduce using rule 159 (string -> MULTILINE_STRING .)
- RETURN reduce using rule 159 (string -> MULTILINE_STRING .)
- DEL reduce using rule 159 (string -> MULTILINE_STRING .)
- DEBUG reduce using rule 159 (string -> MULTILINE_STRING .)
- SKIP reduce using rule 159 (string -> MULTILINE_STRING .)
- BREAK reduce using rule 159 (string -> MULTILINE_STRING .)
- LET reduce using rule 159 (string -> MULTILINE_STRING .)
- WHILE reduce using rule 159 (string -> MULTILINE_STRING .)
- NAMESPACE reduce using rule 159 (string -> MULTILINE_STRING .)
- CLASS reduce using rule 159 (string -> MULTILINE_STRING .)
- FUNC reduce using rule 159 (string -> MULTILINE_STRING .)
- INIT reduce using rule 159 (string -> MULTILINE_STRING .)
- $end reduce using rule 159 (string -> MULTILINE_STRING .)
- ; reduce using rule 159 (string -> MULTILINE_STRING .)
- | reduce using rule 159 (string -> MULTILINE_STRING .)
- , reduce using rule 159 (string -> MULTILINE_STRING .)
- PHPEND reduce using rule 159 (string -> MULTILINE_STRING .)
- } reduce using rule 159 (string -> MULTILINE_STRING .)
- ) reduce using rule 159 (string -> MULTILINE_STRING .)
- SARROW reduce using rule 159 (string -> MULTILINE_STRING .)
- ] reduce using rule 159 (string -> MULTILINE_STRING .)
- HTMLEND reduce using rule 159 (string -> MULTILINE_STRING .)
- EQ_DIV reduce using rule 159 (string -> MULTILINE_STRING .)
- EQ_MOD reduce using rule 159 (string -> MULTILINE_STRING .)
- EQ_MUL reduce using rule 159 (string -> MULTILINE_STRING .)
- EQ_SUB reduce using rule 159 (string -> MULTILINE_STRING .)
- EQ_ADD reduce using rule 159 (string -> MULTILINE_STRING .)
- = reduce using rule 159 (string -> MULTILINE_STRING .)
- AS reduce using rule 159 (string -> MULTILINE_STRING .)
+ (160) string -> MULTILINE_STRING .
+ > reduce using rule 160 (string -> MULTILINE_STRING .)
+ < reduce using rule 160 (string -> MULTILINE_STRING .)
+ & reduce using rule 160 (string -> MULTILINE_STRING .)
+ EQ_GREATER reduce using rule 160 (string -> MULTILINE_STRING .)
+ EQ_LESS reduce using rule 160 (string -> MULTILINE_STRING .)
+ NOT_EQEQ reduce using rule 160 (string -> MULTILINE_STRING .)
+ EQEQ reduce using rule 160 (string -> MULTILINE_STRING .)
+ % reduce using rule 160 (string -> MULTILINE_STRING .)
+ * reduce using rule 160 (string -> MULTILINE_STRING .)
+ / reduce using rule 160 (string -> MULTILINE_STRING .)
+ - reduce using rule 160 (string -> MULTILINE_STRING .)
+ + reduce using rule 160 (string -> MULTILINE_STRING .)
+ . reduce using rule 160 (string -> MULTILINE_STRING .)
+ COLON_COLON reduce using rule 160 (string -> MULTILINE_STRING .)
+ ^ reduce using rule 160 (string -> MULTILINE_STRING .)
+ [ reduce using rule 160 (string -> MULTILINE_STRING .)
+ ( reduce using rule 160 (string -> MULTILINE_STRING .)
+ $ reduce using rule 160 (string -> MULTILINE_STRING .)
+ ID reduce using rule 160 (string -> MULTILINE_STRING .)
+ ! reduce using rule 160 (string -> MULTILINE_STRING .)
+ { reduce using rule 160 (string -> MULTILINE_STRING .)
+ FORMATTED_STRING reduce using rule 160 (string -> MULTILINE_STRING .)
+ MULTILINE_STRING reduce using rule 160 (string -> MULTILINE_STRING .)
+ STRING reduce using rule 160 (string -> MULTILINE_STRING .)
+ CHAR reduce using rule 160 (string -> MULTILINE_STRING .)
+ FALSE reduce using rule 160 (string -> MULTILINE_STRING .)
+ TRUE reduce using rule 160 (string -> MULTILINE_STRING .)
+ FLOAT reduce using rule 160 (string -> MULTILINE_STRING .)
+ INT reduce using rule 160 (string -> MULTILINE_STRING .)
+ NULL reduce using rule 160 (string -> MULTILINE_STRING .)
+ PYTHON_CODE_EXEC reduce using rule 160 (string -> MULTILINE_STRING .)
+ PYTHON_CODE reduce using rule 160 (string -> MULTILINE_STRING .)
+ # reduce using rule 160 (string -> MULTILINE_STRING .)
+ NEW reduce using rule 160 (string -> MULTILINE_STRING .)
+ ? reduce using rule 160 (string -> MULTILINE_STRING .)
+ HTMLSTART reduce using rule 160 (string -> MULTILINE_STRING .)
+ FOREACH reduce using rule 160 (string -> MULTILINE_STRING .)
+ FOR reduce using rule 160 (string -> MULTILINE_STRING .)
+ IF reduce using rule 160 (string -> MULTILINE_STRING .)
+ PHPSTART reduce using rule 160 (string -> MULTILINE_STRING .)
+ LIMPORT reduce using rule 160 (string -> MULTILINE_STRING .)
+ IMPORT reduce using rule 160 (string -> MULTILINE_STRING .)
+ RETURN reduce using rule 160 (string -> MULTILINE_STRING .)
+ DEL reduce using rule 160 (string -> MULTILINE_STRING .)
+ DEBUG reduce using rule 160 (string -> MULTILINE_STRING .)
+ SKIP reduce using rule 160 (string -> MULTILINE_STRING .)
+ BREAK reduce using rule 160 (string -> MULTILINE_STRING .)
+ LET reduce using rule 160 (string -> MULTILINE_STRING .)
+ WHILE reduce using rule 160 (string -> MULTILINE_STRING .)
+ NAMESPACE reduce using rule 160 (string -> MULTILINE_STRING .)
+ CLASS reduce using rule 160 (string -> MULTILINE_STRING .)
+ FUNC reduce using rule 160 (string -> MULTILINE_STRING .)
+ INIT reduce using rule 160 (string -> MULTILINE_STRING .)
+ $end reduce using rule 160 (string -> MULTILINE_STRING .)
+ ; reduce using rule 160 (string -> MULTILINE_STRING .)
+ | reduce using rule 160 (string -> MULTILINE_STRING .)
+ , reduce using rule 160 (string -> MULTILINE_STRING .)
+ PHPEND reduce using rule 160 (string -> MULTILINE_STRING .)
+ } reduce using rule 160 (string -> MULTILINE_STRING .)
+ ) reduce using rule 160 (string -> MULTILINE_STRING .)
+ SARROW reduce using rule 160 (string -> MULTILINE_STRING .)
+ ] reduce using rule 160 (string -> MULTILINE_STRING .)
+ HTMLEND reduce using rule 160 (string -> MULTILINE_STRING .)
+ EQ_DIV reduce using rule 160 (string -> MULTILINE_STRING .)
+ EQ_MOD reduce using rule 160 (string -> MULTILINE_STRING .)
+ EQ_MUL reduce using rule 160 (string -> MULTILINE_STRING .)
+ EQ_SUB reduce using rule 160 (string -> MULTILINE_STRING .)
+ EQ_ADD reduce using rule 160 (string -> MULTILINE_STRING .)
+ = reduce using rule 160 (string -> MULTILINE_STRING .)
+ AS reduce using rule 160 (string -> MULTILINE_STRING .)
state 64
- (160) string -> STRING .
- > reduce using rule 160 (string -> STRING .)
- < reduce using rule 160 (string -> STRING .)
- & reduce using rule 160 (string -> STRING .)
- EQ_GREATER reduce using rule 160 (string -> STRING .)
- EQ_LESS reduce using rule 160 (string -> STRING .)
- NOT_EQEQ reduce using rule 160 (string -> STRING .)
- EQEQ reduce using rule 160 (string -> STRING .)
- % reduce using rule 160 (string -> STRING .)
- * reduce using rule 160 (string -> STRING .)
- / reduce using rule 160 (string -> STRING .)
- - reduce using rule 160 (string -> STRING .)
- + reduce using rule 160 (string -> STRING .)
- . reduce using rule 160 (string -> STRING .)
- COLON_COLON reduce using rule 160 (string -> STRING .)
- ^ reduce using rule 160 (string -> STRING .)
- [ reduce using rule 160 (string -> STRING .)
- ( reduce using rule 160 (string -> STRING .)
- $ reduce using rule 160 (string -> STRING .)
- ID reduce using rule 160 (string -> STRING .)
- ! reduce using rule 160 (string -> STRING .)
- { reduce using rule 160 (string -> STRING .)
- FORMATTED_STRING reduce using rule 160 (string -> STRING .)
- MULTILINE_STRING reduce using rule 160 (string -> STRING .)
- STRING reduce using rule 160 (string -> STRING .)
- CHAR reduce using rule 160 (string -> STRING .)
- FALSE reduce using rule 160 (string -> STRING .)
- TRUE reduce using rule 160 (string -> STRING .)
- FLOAT reduce using rule 160 (string -> STRING .)
- INT reduce using rule 160 (string -> STRING .)
- NULL reduce using rule 160 (string -> STRING .)
- PYTHON_CODE_EXEC reduce using rule 160 (string -> STRING .)
- PYTHON_CODE reduce using rule 160 (string -> STRING .)
- # reduce using rule 160 (string -> STRING .)
- NEW reduce using rule 160 (string -> STRING .)
- ? reduce using rule 160 (string -> STRING .)
- HTMLSTART reduce using rule 160 (string -> STRING .)
- FOREACH reduce using rule 160 (string -> STRING .)
- FOR reduce using rule 160 (string -> STRING .)
- IF reduce using rule 160 (string -> STRING .)
- PHPSTART reduce using rule 160 (string -> STRING .)
- LIMPORT reduce using rule 160 (string -> STRING .)
- IMPORT reduce using rule 160 (string -> STRING .)
- RETURN reduce using rule 160 (string -> STRING .)
- DEL reduce using rule 160 (string -> STRING .)
- DEBUG reduce using rule 160 (string -> STRING .)
- SKIP reduce using rule 160 (string -> STRING .)
- BREAK reduce using rule 160 (string -> STRING .)
- LET reduce using rule 160 (string -> STRING .)
- WHILE reduce using rule 160 (string -> STRING .)
- NAMESPACE reduce using rule 160 (string -> STRING .)
- CLASS reduce using rule 160 (string -> STRING .)
- FUNC reduce using rule 160 (string -> STRING .)
- INIT reduce using rule 160 (string -> STRING .)
- $end reduce using rule 160 (string -> STRING .)
- ; reduce using rule 160 (string -> STRING .)
- | reduce using rule 160 (string -> STRING .)
- , reduce using rule 160 (string -> STRING .)
- PHPEND reduce using rule 160 (string -> STRING .)
- } reduce using rule 160 (string -> STRING .)
- ) reduce using rule 160 (string -> STRING .)
- SARROW reduce using rule 160 (string -> STRING .)
- ] reduce using rule 160 (string -> STRING .)
- HTMLEND reduce using rule 160 (string -> STRING .)
- EQ_DIV reduce using rule 160 (string -> STRING .)
- EQ_MOD reduce using rule 160 (string -> STRING .)
- EQ_MUL reduce using rule 160 (string -> STRING .)
- EQ_SUB reduce using rule 160 (string -> STRING .)
- EQ_ADD reduce using rule 160 (string -> STRING .)
- = reduce using rule 160 (string -> STRING .)
- AS reduce using rule 160 (string -> STRING .)
+ (161) string -> STRING .
+ > reduce using rule 161 (string -> STRING .)
+ < reduce using rule 161 (string -> STRING .)
+ & reduce using rule 161 (string -> STRING .)
+ EQ_GREATER reduce using rule 161 (string -> STRING .)
+ EQ_LESS reduce using rule 161 (string -> STRING .)
+ NOT_EQEQ reduce using rule 161 (string -> STRING .)
+ EQEQ reduce using rule 161 (string -> STRING .)
+ % reduce using rule 161 (string -> STRING .)
+ * reduce using rule 161 (string -> STRING .)
+ / reduce using rule 161 (string -> STRING .)
+ - reduce using rule 161 (string -> STRING .)
+ + reduce using rule 161 (string -> STRING .)
+ . reduce using rule 161 (string -> STRING .)
+ COLON_COLON reduce using rule 161 (string -> STRING .)
+ ^ reduce using rule 161 (string -> STRING .)
+ [ reduce using rule 161 (string -> STRING .)
+ ( reduce using rule 161 (string -> STRING .)
+ $ reduce using rule 161 (string -> STRING .)
+ ID reduce using rule 161 (string -> STRING .)
+ ! reduce using rule 161 (string -> STRING .)
+ { reduce using rule 161 (string -> STRING .)
+ FORMATTED_STRING reduce using rule 161 (string -> STRING .)
+ MULTILINE_STRING reduce using rule 161 (string -> STRING .)
+ STRING reduce using rule 161 (string -> STRING .)
+ CHAR reduce using rule 161 (string -> STRING .)
+ FALSE reduce using rule 161 (string -> STRING .)
+ TRUE reduce using rule 161 (string -> STRING .)
+ FLOAT reduce using rule 161 (string -> STRING .)
+ INT reduce using rule 161 (string -> STRING .)
+ NULL reduce using rule 161 (string -> STRING .)
+ PYTHON_CODE_EXEC reduce using rule 161 (string -> STRING .)
+ PYTHON_CODE reduce using rule 161 (string -> STRING .)
+ # reduce using rule 161 (string -> STRING .)
+ NEW reduce using rule 161 (string -> STRING .)
+ ? reduce using rule 161 (string -> STRING .)
+ HTMLSTART reduce using rule 161 (string -> STRING .)
+ FOREACH reduce using rule 161 (string -> STRING .)
+ FOR reduce using rule 161 (string -> STRING .)
+ IF reduce using rule 161 (string -> STRING .)
+ PHPSTART reduce using rule 161 (string -> STRING .)
+ LIMPORT reduce using rule 161 (string -> STRING .)
+ IMPORT reduce using rule 161 (string -> STRING .)
+ RETURN reduce using rule 161 (string -> STRING .)
+ DEL reduce using rule 161 (string -> STRING .)
+ DEBUG reduce using rule 161 (string -> STRING .)
+ SKIP reduce using rule 161 (string -> STRING .)
+ BREAK reduce using rule 161 (string -> STRING .)
+ LET reduce using rule 161 (string -> STRING .)
+ WHILE reduce using rule 161 (string -> STRING .)
+ NAMESPACE reduce using rule 161 (string -> STRING .)
+ CLASS reduce using rule 161 (string -> STRING .)
+ FUNC reduce using rule 161 (string -> STRING .)
+ INIT reduce using rule 161 (string -> STRING .)
+ $end reduce using rule 161 (string -> STRING .)
+ ; reduce using rule 161 (string -> STRING .)
+ | reduce using rule 161 (string -> STRING .)
+ , reduce using rule 161 (string -> STRING .)
+ PHPEND reduce using rule 161 (string -> STRING .)
+ } reduce using rule 161 (string -> STRING .)
+ ) reduce using rule 161 (string -> STRING .)
+ SARROW reduce using rule 161 (string -> STRING .)
+ ] reduce using rule 161 (string -> STRING .)
+ HTMLEND reduce using rule 161 (string -> STRING .)
+ EQ_DIV reduce using rule 161 (string -> STRING .)
+ EQ_MOD reduce using rule 161 (string -> STRING .)
+ EQ_MUL reduce using rule 161 (string -> STRING .)
+ EQ_SUB reduce using rule 161 (string -> STRING .)
+ EQ_ADD reduce using rule 161 (string -> STRING .)
+ = reduce using rule 161 (string -> STRING .)
+ AS reduce using rule 161 (string -> STRING .)
state 65
- (161) string -> CHAR .
- > reduce using rule 161 (string -> CHAR .)
- < reduce using rule 161 (string -> CHAR .)
- & reduce using rule 161 (string -> CHAR .)
- EQ_GREATER reduce using rule 161 (string -> CHAR .)
- EQ_LESS reduce using rule 161 (string -> CHAR .)
- NOT_EQEQ reduce using rule 161 (string -> CHAR .)
- EQEQ reduce using rule 161 (string -> CHAR .)
- % reduce using rule 161 (string -> CHAR .)
- * reduce using rule 161 (string -> CHAR .)
- / reduce using rule 161 (string -> CHAR .)
- - reduce using rule 161 (string -> CHAR .)
- + reduce using rule 161 (string -> CHAR .)
- . reduce using rule 161 (string -> CHAR .)
- COLON_COLON reduce using rule 161 (string -> CHAR .)
- ^ reduce using rule 161 (string -> CHAR .)
- [ reduce using rule 161 (string -> CHAR .)
- ( reduce using rule 161 (string -> CHAR .)
- $ reduce using rule 161 (string -> CHAR .)
- ID reduce using rule 161 (string -> CHAR .)
- ! reduce using rule 161 (string -> CHAR .)
- { reduce using rule 161 (string -> CHAR .)
- FORMATTED_STRING reduce using rule 161 (string -> CHAR .)
- MULTILINE_STRING reduce using rule 161 (string -> CHAR .)
- STRING reduce using rule 161 (string -> CHAR .)
- CHAR reduce using rule 161 (string -> CHAR .)
- FALSE reduce using rule 161 (string -> CHAR .)
- TRUE reduce using rule 161 (string -> CHAR .)
- FLOAT reduce using rule 161 (string -> CHAR .)
- INT reduce using rule 161 (string -> CHAR .)
- NULL reduce using rule 161 (string -> CHAR .)
- PYTHON_CODE_EXEC reduce using rule 161 (string -> CHAR .)
- PYTHON_CODE reduce using rule 161 (string -> CHAR .)
- # reduce using rule 161 (string -> CHAR .)
- NEW reduce using rule 161 (string -> CHAR .)
- ? reduce using rule 161 (string -> CHAR .)
- HTMLSTART reduce using rule 161 (string -> CHAR .)
- FOREACH reduce using rule 161 (string -> CHAR .)
- FOR reduce using rule 161 (string -> CHAR .)
- IF reduce using rule 161 (string -> CHAR .)
- PHPSTART reduce using rule 161 (string -> CHAR .)
- LIMPORT reduce using rule 161 (string -> CHAR .)
- IMPORT reduce using rule 161 (string -> CHAR .)
- RETURN reduce using rule 161 (string -> CHAR .)
- DEL reduce using rule 161 (string -> CHAR .)
- DEBUG reduce using rule 161 (string -> CHAR .)
- SKIP reduce using rule 161 (string -> CHAR .)
- BREAK reduce using rule 161 (string -> CHAR .)
- LET reduce using rule 161 (string -> CHAR .)
- WHILE reduce using rule 161 (string -> CHAR .)
- NAMESPACE reduce using rule 161 (string -> CHAR .)
- CLASS reduce using rule 161 (string -> CHAR .)
- FUNC reduce using rule 161 (string -> CHAR .)
- INIT reduce using rule 161 (string -> CHAR .)
- $end reduce using rule 161 (string -> CHAR .)
- ; reduce using rule 161 (string -> CHAR .)
- | reduce using rule 161 (string -> CHAR .)
- , reduce using rule 161 (string -> CHAR .)
- PHPEND reduce using rule 161 (string -> CHAR .)
- } reduce using rule 161 (string -> CHAR .)
- ) reduce using rule 161 (string -> CHAR .)
- SARROW reduce using rule 161 (string -> CHAR .)
- ] reduce using rule 161 (string -> CHAR .)
- HTMLEND reduce using rule 161 (string -> CHAR .)
- EQ_DIV reduce using rule 161 (string -> CHAR .)
- EQ_MOD reduce using rule 161 (string -> CHAR .)
- EQ_MUL reduce using rule 161 (string -> CHAR .)
- EQ_SUB reduce using rule 161 (string -> CHAR .)
- EQ_ADD reduce using rule 161 (string -> CHAR .)
- = reduce using rule 161 (string -> CHAR .)
- AS reduce using rule 161 (string -> CHAR .)
+ (162) string -> CHAR .
+ > reduce using rule 162 (string -> CHAR .)
+ < reduce using rule 162 (string -> CHAR .)
+ & reduce using rule 162 (string -> CHAR .)
+ EQ_GREATER reduce using rule 162 (string -> CHAR .)
+ EQ_LESS reduce using rule 162 (string -> CHAR .)
+ NOT_EQEQ reduce using rule 162 (string -> CHAR .)
+ EQEQ reduce using rule 162 (string -> CHAR .)
+ % reduce using rule 162 (string -> CHAR .)
+ * reduce using rule 162 (string -> CHAR .)
+ / reduce using rule 162 (string -> CHAR .)
+ - reduce using rule 162 (string -> CHAR .)
+ + reduce using rule 162 (string -> CHAR .)
+ . reduce using rule 162 (string -> CHAR .)
+ COLON_COLON reduce using rule 162 (string -> CHAR .)
+ ^ reduce using rule 162 (string -> CHAR .)
+ [ reduce using rule 162 (string -> CHAR .)
+ ( reduce using rule 162 (string -> CHAR .)
+ $ reduce using rule 162 (string -> CHAR .)
+ ID reduce using rule 162 (string -> CHAR .)
+ ! reduce using rule 162 (string -> CHAR .)
+ { reduce using rule 162 (string -> CHAR .)
+ FORMATTED_STRING reduce using rule 162 (string -> CHAR .)
+ MULTILINE_STRING reduce using rule 162 (string -> CHAR .)
+ STRING reduce using rule 162 (string -> CHAR .)
+ CHAR reduce using rule 162 (string -> CHAR .)
+ FALSE reduce using rule 162 (string -> CHAR .)
+ TRUE reduce using rule 162 (string -> CHAR .)
+ FLOAT reduce using rule 162 (string -> CHAR .)
+ INT reduce using rule 162 (string -> CHAR .)
+ NULL reduce using rule 162 (string -> CHAR .)
+ PYTHON_CODE_EXEC reduce using rule 162 (string -> CHAR .)
+ PYTHON_CODE reduce using rule 162 (string -> CHAR .)
+ # reduce using rule 162 (string -> CHAR .)
+ NEW reduce using rule 162 (string -> CHAR .)
+ ? reduce using rule 162 (string -> CHAR .)
+ HTMLSTART reduce using rule 162 (string -> CHAR .)
+ FOREACH reduce using rule 162 (string -> CHAR .)
+ FOR reduce using rule 162 (string -> CHAR .)
+ IF reduce using rule 162 (string -> CHAR .)
+ PHPSTART reduce using rule 162 (string -> CHAR .)
+ LIMPORT reduce using rule 162 (string -> CHAR .)
+ IMPORT reduce using rule 162 (string -> CHAR .)
+ RETURN reduce using rule 162 (string -> CHAR .)
+ DEL reduce using rule 162 (string -> CHAR .)
+ DEBUG reduce using rule 162 (string -> CHAR .)
+ SKIP reduce using rule 162 (string -> CHAR .)
+ BREAK reduce using rule 162 (string -> CHAR .)
+ LET reduce using rule 162 (string -> CHAR .)
+ WHILE reduce using rule 162 (string -> CHAR .)
+ NAMESPACE reduce using rule 162 (string -> CHAR .)
+ CLASS reduce using rule 162 (string -> CHAR .)
+ FUNC reduce using rule 162 (string -> CHAR .)
+ INIT reduce using rule 162 (string -> CHAR .)
+ $end reduce using rule 162 (string -> CHAR .)
+ ; reduce using rule 162 (string -> CHAR .)
+ | reduce using rule 162 (string -> CHAR .)
+ , reduce using rule 162 (string -> CHAR .)
+ PHPEND reduce using rule 162 (string -> CHAR .)
+ } reduce using rule 162 (string -> CHAR .)
+ ) reduce using rule 162 (string -> CHAR .)
+ SARROW reduce using rule 162 (string -> CHAR .)
+ ] reduce using rule 162 (string -> CHAR .)
+ HTMLEND reduce using rule 162 (string -> CHAR .)
+ EQ_DIV reduce using rule 162 (string -> CHAR .)
+ EQ_MOD reduce using rule 162 (string -> CHAR .)
+ EQ_MUL reduce using rule 162 (string -> CHAR .)
+ EQ_SUB reduce using rule 162 (string -> CHAR .)
+ EQ_ADD reduce using rule 162 (string -> CHAR .)
+ = reduce using rule 162 (string -> CHAR .)
+ AS reduce using rule 162 (string -> CHAR .)
state 66
- (163) bool -> FALSE .
- > reduce using rule 163 (bool -> FALSE .)
- < reduce using rule 163 (bool -> FALSE .)
- & reduce using rule 163 (bool -> FALSE .)
- EQ_GREATER reduce using rule 163 (bool -> FALSE .)
- EQ_LESS reduce using rule 163 (bool -> FALSE .)
- NOT_EQEQ reduce using rule 163 (bool -> FALSE .)
- EQEQ reduce using rule 163 (bool -> FALSE .)
- % reduce using rule 163 (bool -> FALSE .)
- * reduce using rule 163 (bool -> FALSE .)
- / reduce using rule 163 (bool -> FALSE .)
- - reduce using rule 163 (bool -> FALSE .)
- + reduce using rule 163 (bool -> FALSE .)
- . reduce using rule 163 (bool -> FALSE .)
- COLON_COLON reduce using rule 163 (bool -> FALSE .)
- ^ reduce using rule 163 (bool -> FALSE .)
- [ reduce using rule 163 (bool -> FALSE .)
- ( reduce using rule 163 (bool -> FALSE .)
- $ reduce using rule 163 (bool -> FALSE .)
- ID reduce using rule 163 (bool -> FALSE .)
- ! reduce using rule 163 (bool -> FALSE .)
- { reduce using rule 163 (bool -> FALSE .)
- FORMATTED_STRING reduce using rule 163 (bool -> FALSE .)
- MULTILINE_STRING reduce using rule 163 (bool -> FALSE .)
- STRING reduce using rule 163 (bool -> FALSE .)
- CHAR reduce using rule 163 (bool -> FALSE .)
- FALSE reduce using rule 163 (bool -> FALSE .)
- TRUE reduce using rule 163 (bool -> FALSE .)
- FLOAT reduce using rule 163 (bool -> FALSE .)
- INT reduce using rule 163 (bool -> FALSE .)
- NULL reduce using rule 163 (bool -> FALSE .)
- PYTHON_CODE_EXEC reduce using rule 163 (bool -> FALSE .)
- PYTHON_CODE reduce using rule 163 (bool -> FALSE .)
- # reduce using rule 163 (bool -> FALSE .)
- NEW reduce using rule 163 (bool -> FALSE .)
- ? reduce using rule 163 (bool -> FALSE .)
- HTMLSTART reduce using rule 163 (bool -> FALSE .)
- FOREACH reduce using rule 163 (bool -> FALSE .)
- FOR reduce using rule 163 (bool -> FALSE .)
- IF reduce using rule 163 (bool -> FALSE .)
- PHPSTART reduce using rule 163 (bool -> FALSE .)
- LIMPORT reduce using rule 163 (bool -> FALSE .)
- IMPORT reduce using rule 163 (bool -> FALSE .)
- RETURN reduce using rule 163 (bool -> FALSE .)
- DEL reduce using rule 163 (bool -> FALSE .)
- DEBUG reduce using rule 163 (bool -> FALSE .)
- SKIP reduce using rule 163 (bool -> FALSE .)
- BREAK reduce using rule 163 (bool -> FALSE .)
- LET reduce using rule 163 (bool -> FALSE .)
- WHILE reduce using rule 163 (bool -> FALSE .)
- NAMESPACE reduce using rule 163 (bool -> FALSE .)
- CLASS reduce using rule 163 (bool -> FALSE .)
- FUNC reduce using rule 163 (bool -> FALSE .)
- INIT reduce using rule 163 (bool -> FALSE .)
- $end reduce using rule 163 (bool -> FALSE .)
- ; reduce using rule 163 (bool -> FALSE .)
- | reduce using rule 163 (bool -> FALSE .)
- , reduce using rule 163 (bool -> FALSE .)
- PHPEND reduce using rule 163 (bool -> FALSE .)
- } reduce using rule 163 (bool -> FALSE .)
- ) reduce using rule 163 (bool -> FALSE .)
- SARROW reduce using rule 163 (bool -> FALSE .)
- ] reduce using rule 163 (bool -> FALSE .)
- HTMLEND reduce using rule 163 (bool -> FALSE .)
- EQ_DIV reduce using rule 163 (bool -> FALSE .)
- EQ_MOD reduce using rule 163 (bool -> FALSE .)
- EQ_MUL reduce using rule 163 (bool -> FALSE .)
- EQ_SUB reduce using rule 163 (bool -> FALSE .)
- EQ_ADD reduce using rule 163 (bool -> FALSE .)
- = reduce using rule 163 (bool -> FALSE .)
- AS reduce using rule 163 (bool -> FALSE .)
+ (164) bool -> FALSE .
+ > reduce using rule 164 (bool -> FALSE .)
+ < reduce using rule 164 (bool -> FALSE .)
+ & reduce using rule 164 (bool -> FALSE .)
+ EQ_GREATER reduce using rule 164 (bool -> FALSE .)
+ EQ_LESS reduce using rule 164 (bool -> FALSE .)
+ NOT_EQEQ reduce using rule 164 (bool -> FALSE .)
+ EQEQ reduce using rule 164 (bool -> FALSE .)
+ % reduce using rule 164 (bool -> FALSE .)
+ * reduce using rule 164 (bool -> FALSE .)
+ / reduce using rule 164 (bool -> FALSE .)
+ - reduce using rule 164 (bool -> FALSE .)
+ + reduce using rule 164 (bool -> FALSE .)
+ . reduce using rule 164 (bool -> FALSE .)
+ COLON_COLON reduce using rule 164 (bool -> FALSE .)
+ ^ reduce using rule 164 (bool -> FALSE .)
+ [ reduce using rule 164 (bool -> FALSE .)
+ ( reduce using rule 164 (bool -> FALSE .)
+ $ reduce using rule 164 (bool -> FALSE .)
+ ID reduce using rule 164 (bool -> FALSE .)
+ ! reduce using rule 164 (bool -> FALSE .)
+ { reduce using rule 164 (bool -> FALSE .)
+ FORMATTED_STRING reduce using rule 164 (bool -> FALSE .)
+ MULTILINE_STRING reduce using rule 164 (bool -> FALSE .)
+ STRING reduce using rule 164 (bool -> FALSE .)
+ CHAR reduce using rule 164 (bool -> FALSE .)
+ FALSE reduce using rule 164 (bool -> FALSE .)
+ TRUE reduce using rule 164 (bool -> FALSE .)
+ FLOAT reduce using rule 164 (bool -> FALSE .)
+ INT reduce using rule 164 (bool -> FALSE .)
+ NULL reduce using rule 164 (bool -> FALSE .)
+ PYTHON_CODE_EXEC reduce using rule 164 (bool -> FALSE .)
+ PYTHON_CODE reduce using rule 164 (bool -> FALSE .)
+ # reduce using rule 164 (bool -> FALSE .)
+ NEW reduce using rule 164 (bool -> FALSE .)
+ ? reduce using rule 164 (bool -> FALSE .)
+ HTMLSTART reduce using rule 164 (bool -> FALSE .)
+ FOREACH reduce using rule 164 (bool -> FALSE .)
+ FOR reduce using rule 164 (bool -> FALSE .)
+ IF reduce using rule 164 (bool -> FALSE .)
+ PHPSTART reduce using rule 164 (bool -> FALSE .)
+ LIMPORT reduce using rule 164 (bool -> FALSE .)
+ IMPORT reduce using rule 164 (bool -> FALSE .)
+ RETURN reduce using rule 164 (bool -> FALSE .)
+ DEL reduce using rule 164 (bool -> FALSE .)
+ DEBUG reduce using rule 164 (bool -> FALSE .)
+ SKIP reduce using rule 164 (bool -> FALSE .)
+ BREAK reduce using rule 164 (bool -> FALSE .)
+ LET reduce using rule 164 (bool -> FALSE .)
+ WHILE reduce using rule 164 (bool -> FALSE .)
+ NAMESPACE reduce using rule 164 (bool -> FALSE .)
+ CLASS reduce using rule 164 (bool -> FALSE .)
+ FUNC reduce using rule 164 (bool -> FALSE .)
+ INIT reduce using rule 164 (bool -> FALSE .)
+ $end reduce using rule 164 (bool -> FALSE .)
+ ; reduce using rule 164 (bool -> FALSE .)
+ | reduce using rule 164 (bool -> FALSE .)
+ , reduce using rule 164 (bool -> FALSE .)
+ PHPEND reduce using rule 164 (bool -> FALSE .)
+ } reduce using rule 164 (bool -> FALSE .)
+ ) reduce using rule 164 (bool -> FALSE .)
+ SARROW reduce using rule 164 (bool -> FALSE .)
+ ] reduce using rule 164 (bool -> FALSE .)
+ HTMLEND reduce using rule 164 (bool -> FALSE .)
+ EQ_DIV reduce using rule 164 (bool -> FALSE .)
+ EQ_MOD reduce using rule 164 (bool -> FALSE .)
+ EQ_MUL reduce using rule 164 (bool -> FALSE .)
+ EQ_SUB reduce using rule 164 (bool -> FALSE .)
+ EQ_ADD reduce using rule 164 (bool -> FALSE .)
+ = reduce using rule 164 (bool -> FALSE .)
+ AS reduce using rule 164 (bool -> FALSE .)
state 67
- (164) bool -> TRUE .
- > reduce using rule 164 (bool -> TRUE .)
- < reduce using rule 164 (bool -> TRUE .)
- & reduce using rule 164 (bool -> TRUE .)
- EQ_GREATER reduce using rule 164 (bool -> TRUE .)
- EQ_LESS reduce using rule 164 (bool -> TRUE .)
- NOT_EQEQ reduce using rule 164 (bool -> TRUE .)
- EQEQ reduce using rule 164 (bool -> TRUE .)
- % reduce using rule 164 (bool -> TRUE .)
- * reduce using rule 164 (bool -> TRUE .)
- / reduce using rule 164 (bool -> TRUE .)
- - reduce using rule 164 (bool -> TRUE .)
- + reduce using rule 164 (bool -> TRUE .)
- . reduce using rule 164 (bool -> TRUE .)
- COLON_COLON reduce using rule 164 (bool -> TRUE .)
- ^ reduce using rule 164 (bool -> TRUE .)
- [ reduce using rule 164 (bool -> TRUE .)
- ( reduce using rule 164 (bool -> TRUE .)
- $ reduce using rule 164 (bool -> TRUE .)
- ID reduce using rule 164 (bool -> TRUE .)
- ! reduce using rule 164 (bool -> TRUE .)
- { reduce using rule 164 (bool -> TRUE .)
- FORMATTED_STRING reduce using rule 164 (bool -> TRUE .)
- MULTILINE_STRING reduce using rule 164 (bool -> TRUE .)
- STRING reduce using rule 164 (bool -> TRUE .)
- CHAR reduce using rule 164 (bool -> TRUE .)
- FALSE reduce using rule 164 (bool -> TRUE .)
- TRUE reduce using rule 164 (bool -> TRUE .)
- FLOAT reduce using rule 164 (bool -> TRUE .)
- INT reduce using rule 164 (bool -> TRUE .)
- NULL reduce using rule 164 (bool -> TRUE .)
- PYTHON_CODE_EXEC reduce using rule 164 (bool -> TRUE .)
- PYTHON_CODE reduce using rule 164 (bool -> TRUE .)
- # reduce using rule 164 (bool -> TRUE .)
- NEW reduce using rule 164 (bool -> TRUE .)
- ? reduce using rule 164 (bool -> TRUE .)
- HTMLSTART reduce using rule 164 (bool -> TRUE .)
- FOREACH reduce using rule 164 (bool -> TRUE .)
- FOR reduce using rule 164 (bool -> TRUE .)
- IF reduce using rule 164 (bool -> TRUE .)
- PHPSTART reduce using rule 164 (bool -> TRUE .)
- LIMPORT reduce using rule 164 (bool -> TRUE .)
- IMPORT reduce using rule 164 (bool -> TRUE .)
- RETURN reduce using rule 164 (bool -> TRUE .)
- DEL reduce using rule 164 (bool -> TRUE .)
- DEBUG reduce using rule 164 (bool -> TRUE .)
- SKIP reduce using rule 164 (bool -> TRUE .)
- BREAK reduce using rule 164 (bool -> TRUE .)
- LET reduce using rule 164 (bool -> TRUE .)
- WHILE reduce using rule 164 (bool -> TRUE .)
- NAMESPACE reduce using rule 164 (bool -> TRUE .)
- CLASS reduce using rule 164 (bool -> TRUE .)
- FUNC reduce using rule 164 (bool -> TRUE .)
- INIT reduce using rule 164 (bool -> TRUE .)
- $end reduce using rule 164 (bool -> TRUE .)
- ; reduce using rule 164 (bool -> TRUE .)
- | reduce using rule 164 (bool -> TRUE .)
- , reduce using rule 164 (bool -> TRUE .)
- PHPEND reduce using rule 164 (bool -> TRUE .)
- } reduce using rule 164 (bool -> TRUE .)
- ) reduce using rule 164 (bool -> TRUE .)
- SARROW reduce using rule 164 (bool -> TRUE .)
- ] reduce using rule 164 (bool -> TRUE .)
- HTMLEND reduce using rule 164 (bool -> TRUE .)
- EQ_DIV reduce using rule 164 (bool -> TRUE .)
- EQ_MOD reduce using rule 164 (bool -> TRUE .)
- EQ_MUL reduce using rule 164 (bool -> TRUE .)
- EQ_SUB reduce using rule 164 (bool -> TRUE .)
- EQ_ADD reduce using rule 164 (bool -> TRUE .)
- = reduce using rule 164 (bool -> TRUE .)
- AS reduce using rule 164 (bool -> TRUE .)
+ (165) bool -> TRUE .
+ > reduce using rule 165 (bool -> TRUE .)
+ < reduce using rule 165 (bool -> TRUE .)
+ & reduce using rule 165 (bool -> TRUE .)
+ EQ_GREATER reduce using rule 165 (bool -> TRUE .)
+ EQ_LESS reduce using rule 165 (bool -> TRUE .)
+ NOT_EQEQ reduce using rule 165 (bool -> TRUE .)
+ EQEQ reduce using rule 165 (bool -> TRUE .)
+ % reduce using rule 165 (bool -> TRUE .)
+ * reduce using rule 165 (bool -> TRUE .)
+ / reduce using rule 165 (bool -> TRUE .)
+ - reduce using rule 165 (bool -> TRUE .)
+ + reduce using rule 165 (bool -> TRUE .)
+ . reduce using rule 165 (bool -> TRUE .)
+ COLON_COLON reduce using rule 165 (bool -> TRUE .)
+ ^ reduce using rule 165 (bool -> TRUE .)
+ [ reduce using rule 165 (bool -> TRUE .)
+ ( reduce using rule 165 (bool -> TRUE .)
+ $ reduce using rule 165 (bool -> TRUE .)
+ ID reduce using rule 165 (bool -> TRUE .)
+ ! reduce using rule 165 (bool -> TRUE .)
+ { reduce using rule 165 (bool -> TRUE .)
+ FORMATTED_STRING reduce using rule 165 (bool -> TRUE .)
+ MULTILINE_STRING reduce using rule 165 (bool -> TRUE .)
+ STRING reduce using rule 165 (bool -> TRUE .)
+ CHAR reduce using rule 165 (bool -> TRUE .)
+ FALSE reduce using rule 165 (bool -> TRUE .)
+ TRUE reduce using rule 165 (bool -> TRUE .)
+ FLOAT reduce using rule 165 (bool -> TRUE .)
+ INT reduce using rule 165 (bool -> TRUE .)
+ NULL reduce using rule 165 (bool -> TRUE .)
+ PYTHON_CODE_EXEC reduce using rule 165 (bool -> TRUE .)
+ PYTHON_CODE reduce using rule 165 (bool -> TRUE .)
+ # reduce using rule 165 (bool -> TRUE .)
+ NEW reduce using rule 165 (bool -> TRUE .)
+ ? reduce using rule 165 (bool -> TRUE .)
+ HTMLSTART reduce using rule 165 (bool -> TRUE .)
+ FOREACH reduce using rule 165 (bool -> TRUE .)
+ FOR reduce using rule 165 (bool -> TRUE .)
+ IF reduce using rule 165 (bool -> TRUE .)
+ PHPSTART reduce using rule 165 (bool -> TRUE .)
+ LIMPORT reduce using rule 165 (bool -> TRUE .)
+ IMPORT reduce using rule 165 (bool -> TRUE .)
+ RETURN reduce using rule 165 (bool -> TRUE .)
+ DEL reduce using rule 165 (bool -> TRUE .)
+ DEBUG reduce using rule 165 (bool -> TRUE .)
+ SKIP reduce using rule 165 (bool -> TRUE .)
+ BREAK reduce using rule 165 (bool -> TRUE .)
+ LET reduce using rule 165 (bool -> TRUE .)
+ WHILE reduce using rule 165 (bool -> TRUE .)
+ NAMESPACE reduce using rule 165 (bool -> TRUE .)
+ CLASS reduce using rule 165 (bool -> TRUE .)
+ FUNC reduce using rule 165 (bool -> TRUE .)
+ INIT reduce using rule 165 (bool -> TRUE .)
+ $end reduce using rule 165 (bool -> TRUE .)
+ ; reduce using rule 165 (bool -> TRUE .)
+ | reduce using rule 165 (bool -> TRUE .)
+ , reduce using rule 165 (bool -> TRUE .)
+ PHPEND reduce using rule 165 (bool -> TRUE .)
+ } reduce using rule 165 (bool -> TRUE .)
+ ) reduce using rule 165 (bool -> TRUE .)
+ SARROW reduce using rule 165 (bool -> TRUE .)
+ ] reduce using rule 165 (bool -> TRUE .)
+ HTMLEND reduce using rule 165 (bool -> TRUE .)
+ EQ_DIV reduce using rule 165 (bool -> TRUE .)
+ EQ_MOD reduce using rule 165 (bool -> TRUE .)
+ EQ_MUL reduce using rule 165 (bool -> TRUE .)
+ EQ_SUB reduce using rule 165 (bool -> TRUE .)
+ EQ_ADD reduce using rule 165 (bool -> TRUE .)
+ = reduce using rule 165 (bool -> TRUE .)
+ AS reduce using rule 165 (bool -> TRUE .)
state 68
- (162) float -> FLOAT .
- > reduce using rule 162 (float -> FLOAT .)
- < reduce using rule 162 (float -> FLOAT .)
- & reduce using rule 162 (float -> FLOAT .)
- EQ_GREATER reduce using rule 162 (float -> FLOAT .)
- EQ_LESS reduce using rule 162 (float -> FLOAT .)
- NOT_EQEQ reduce using rule 162 (float -> FLOAT .)
- EQEQ reduce using rule 162 (float -> FLOAT .)
- % reduce using rule 162 (float -> FLOAT .)
- * reduce using rule 162 (float -> FLOAT .)
- / reduce using rule 162 (float -> FLOAT .)
- - reduce using rule 162 (float -> FLOAT .)
- + reduce using rule 162 (float -> FLOAT .)
- . reduce using rule 162 (float -> FLOAT .)
- COLON_COLON reduce using rule 162 (float -> FLOAT .)
- ^ reduce using rule 162 (float -> FLOAT .)
- [ reduce using rule 162 (float -> FLOAT .)
- ( reduce using rule 162 (float -> FLOAT .)
- $ reduce using rule 162 (float -> FLOAT .)
- ID reduce using rule 162 (float -> FLOAT .)
- ! reduce using rule 162 (float -> FLOAT .)
- { reduce using rule 162 (float -> FLOAT .)
- FORMATTED_STRING reduce using rule 162 (float -> FLOAT .)
- MULTILINE_STRING reduce using rule 162 (float -> FLOAT .)
- STRING reduce using rule 162 (float -> FLOAT .)
- CHAR reduce using rule 162 (float -> FLOAT .)
- FALSE reduce using rule 162 (float -> FLOAT .)
- TRUE reduce using rule 162 (float -> FLOAT .)
- FLOAT reduce using rule 162 (float -> FLOAT .)
- INT reduce using rule 162 (float -> FLOAT .)
- NULL reduce using rule 162 (float -> FLOAT .)
- PYTHON_CODE_EXEC reduce using rule 162 (float -> FLOAT .)
- PYTHON_CODE reduce using rule 162 (float -> FLOAT .)
- # reduce using rule 162 (float -> FLOAT .)
- NEW reduce using rule 162 (float -> FLOAT .)
- ? reduce using rule 162 (float -> FLOAT .)
- HTMLSTART reduce using rule 162 (float -> FLOAT .)
- FOREACH reduce using rule 162 (float -> FLOAT .)
- FOR reduce using rule 162 (float -> FLOAT .)
- IF reduce using rule 162 (float -> FLOAT .)
- PHPSTART reduce using rule 162 (float -> FLOAT .)
- LIMPORT reduce using rule 162 (float -> FLOAT .)
- IMPORT reduce using rule 162 (float -> FLOAT .)
- RETURN reduce using rule 162 (float -> FLOAT .)
- DEL reduce using rule 162 (float -> FLOAT .)
- DEBUG reduce using rule 162 (float -> FLOAT .)
- SKIP reduce using rule 162 (float -> FLOAT .)
- BREAK reduce using rule 162 (float -> FLOAT .)
- LET reduce using rule 162 (float -> FLOAT .)
- WHILE reduce using rule 162 (float -> FLOAT .)
- NAMESPACE reduce using rule 162 (float -> FLOAT .)
- CLASS reduce using rule 162 (float -> FLOAT .)
- FUNC reduce using rule 162 (float -> FLOAT .)
- INIT reduce using rule 162 (float -> FLOAT .)
- $end reduce using rule 162 (float -> FLOAT .)
- ; reduce using rule 162 (float -> FLOAT .)
- | reduce using rule 162 (float -> FLOAT .)
- , reduce using rule 162 (float -> FLOAT .)
- PHPEND reduce using rule 162 (float -> FLOAT .)
- } reduce using rule 162 (float -> FLOAT .)
- ) reduce using rule 162 (float -> FLOAT .)
- SARROW reduce using rule 162 (float -> FLOAT .)
- ] reduce using rule 162 (float -> FLOAT .)
- HTMLEND reduce using rule 162 (float -> FLOAT .)
- EQ_DIV reduce using rule 162 (float -> FLOAT .)
- EQ_MOD reduce using rule 162 (float -> FLOAT .)
- EQ_MUL reduce using rule 162 (float -> FLOAT .)
- EQ_SUB reduce using rule 162 (float -> FLOAT .)
- EQ_ADD reduce using rule 162 (float -> FLOAT .)
- = reduce using rule 162 (float -> FLOAT .)
- AS reduce using rule 162 (float -> FLOAT .)
+ (163) float -> FLOAT .
+ > reduce using rule 163 (float -> FLOAT .)
+ < reduce using rule 163 (float -> FLOAT .)
+ & reduce using rule 163 (float -> FLOAT .)
+ EQ_GREATER reduce using rule 163 (float -> FLOAT .)
+ EQ_LESS reduce using rule 163 (float -> FLOAT .)
+ NOT_EQEQ reduce using rule 163 (float -> FLOAT .)
+ EQEQ reduce using rule 163 (float -> FLOAT .)
+ % reduce using rule 163 (float -> FLOAT .)
+ * reduce using rule 163 (float -> FLOAT .)
+ / reduce using rule 163 (float -> FLOAT .)
+ - reduce using rule 163 (float -> FLOAT .)
+ + reduce using rule 163 (float -> FLOAT .)
+ . reduce using rule 163 (float -> FLOAT .)
+ COLON_COLON reduce using rule 163 (float -> FLOAT .)
+ ^ reduce using rule 163 (float -> FLOAT .)
+ [ reduce using rule 163 (float -> FLOAT .)
+ ( reduce using rule 163 (float -> FLOAT .)
+ $ reduce using rule 163 (float -> FLOAT .)
+ ID reduce using rule 163 (float -> FLOAT .)
+ ! reduce using rule 163 (float -> FLOAT .)
+ { reduce using rule 163 (float -> FLOAT .)
+ FORMATTED_STRING reduce using rule 163 (float -> FLOAT .)
+ MULTILINE_STRING reduce using rule 163 (float -> FLOAT .)
+ STRING reduce using rule 163 (float -> FLOAT .)
+ CHAR reduce using rule 163 (float -> FLOAT .)
+ FALSE reduce using rule 163 (float -> FLOAT .)
+ TRUE reduce using rule 163 (float -> FLOAT .)
+ FLOAT reduce using rule 163 (float -> FLOAT .)
+ INT reduce using rule 163 (float -> FLOAT .)
+ NULL reduce using rule 163 (float -> FLOAT .)
+ PYTHON_CODE_EXEC reduce using rule 163 (float -> FLOAT .)
+ PYTHON_CODE reduce using rule 163 (float -> FLOAT .)
+ # reduce using rule 163 (float -> FLOAT .)
+ NEW reduce using rule 163 (float -> FLOAT .)
+ ? reduce using rule 163 (float -> FLOAT .)
+ HTMLSTART reduce using rule 163 (float -> FLOAT .)
+ FOREACH reduce using rule 163 (float -> FLOAT .)
+ FOR reduce using rule 163 (float -> FLOAT .)
+ IF reduce using rule 163 (float -> FLOAT .)
+ PHPSTART reduce using rule 163 (float -> FLOAT .)
+ LIMPORT reduce using rule 163 (float -> FLOAT .)
+ IMPORT reduce using rule 163 (float -> FLOAT .)
+ RETURN reduce using rule 163 (float -> FLOAT .)
+ DEL reduce using rule 163 (float -> FLOAT .)
+ DEBUG reduce using rule 163 (float -> FLOAT .)
+ SKIP reduce using rule 163 (float -> FLOAT .)
+ BREAK reduce using rule 163 (float -> FLOAT .)
+ LET reduce using rule 163 (float -> FLOAT .)
+ WHILE reduce using rule 163 (float -> FLOAT .)
+ NAMESPACE reduce using rule 163 (float -> FLOAT .)
+ CLASS reduce using rule 163 (float -> FLOAT .)
+ FUNC reduce using rule 163 (float -> FLOAT .)
+ INIT reduce using rule 163 (float -> FLOAT .)
+ $end reduce using rule 163 (float -> FLOAT .)
+ ; reduce using rule 163 (float -> FLOAT .)
+ | reduce using rule 163 (float -> FLOAT .)
+ , reduce using rule 163 (float -> FLOAT .)
+ PHPEND reduce using rule 163 (float -> FLOAT .)
+ } reduce using rule 163 (float -> FLOAT .)
+ ) reduce using rule 163 (float -> FLOAT .)
+ SARROW reduce using rule 163 (float -> FLOAT .)
+ ] reduce using rule 163 (float -> FLOAT .)
+ HTMLEND reduce using rule 163 (float -> FLOAT .)
+ EQ_DIV reduce using rule 163 (float -> FLOAT .)
+ EQ_MOD reduce using rule 163 (float -> FLOAT .)
+ EQ_MUL reduce using rule 163 (float -> FLOAT .)
+ EQ_SUB reduce using rule 163 (float -> FLOAT .)
+ EQ_ADD reduce using rule 163 (float -> FLOAT .)
+ = reduce using rule 163 (float -> FLOAT .)
+ AS reduce using rule 163 (float -> FLOAT .)
state 69
- (157) int -> INT .
- > reduce using rule 157 (int -> INT .)
- < reduce using rule 157 (int -> INT .)
- & reduce using rule 157 (int -> INT .)
- EQ_GREATER reduce using rule 157 (int -> INT .)
- EQ_LESS reduce using rule 157 (int -> INT .)
- NOT_EQEQ reduce using rule 157 (int -> INT .)
- EQEQ reduce using rule 157 (int -> INT .)
- % reduce using rule 157 (int -> INT .)
- * reduce using rule 157 (int -> INT .)
- / reduce using rule 157 (int -> INT .)
- - reduce using rule 157 (int -> INT .)
- + reduce using rule 157 (int -> INT .)
- . reduce using rule 157 (int -> INT .)
- COLON_COLON reduce using rule 157 (int -> INT .)
- ^ reduce using rule 157 (int -> INT .)
- [ reduce using rule 157 (int -> INT .)
- ( reduce using rule 157 (int -> INT .)
- $ reduce using rule 157 (int -> INT .)
- ID reduce using rule 157 (int -> INT .)
- ! reduce using rule 157 (int -> INT .)
- { reduce using rule 157 (int -> INT .)
- FORMATTED_STRING reduce using rule 157 (int -> INT .)
- MULTILINE_STRING reduce using rule 157 (int -> INT .)
- STRING reduce using rule 157 (int -> INT .)
- CHAR reduce using rule 157 (int -> INT .)
- FALSE reduce using rule 157 (int -> INT .)
- TRUE reduce using rule 157 (int -> INT .)
- FLOAT reduce using rule 157 (int -> INT .)
- INT reduce using rule 157 (int -> INT .)
- NULL reduce using rule 157 (int -> INT .)
- PYTHON_CODE_EXEC reduce using rule 157 (int -> INT .)
- PYTHON_CODE reduce using rule 157 (int -> INT .)
- # reduce using rule 157 (int -> INT .)
- NEW reduce using rule 157 (int -> INT .)
- ? reduce using rule 157 (int -> INT .)
- HTMLSTART reduce using rule 157 (int -> INT .)
- FOREACH reduce using rule 157 (int -> INT .)
- FOR reduce using rule 157 (int -> INT .)
- IF reduce using rule 157 (int -> INT .)
- PHPSTART reduce using rule 157 (int -> INT .)
- LIMPORT reduce using rule 157 (int -> INT .)
- IMPORT reduce using rule 157 (int -> INT .)
- RETURN reduce using rule 157 (int -> INT .)
- DEL reduce using rule 157 (int -> INT .)
- DEBUG reduce using rule 157 (int -> INT .)
- SKIP reduce using rule 157 (int -> INT .)
- BREAK reduce using rule 157 (int -> INT .)
- LET reduce using rule 157 (int -> INT .)
- WHILE reduce using rule 157 (int -> INT .)
- NAMESPACE reduce using rule 157 (int -> INT .)
- CLASS reduce using rule 157 (int -> INT .)
- FUNC reduce using rule 157 (int -> INT .)
- INIT reduce using rule 157 (int -> INT .)
- $end reduce using rule 157 (int -> INT .)
- ; reduce using rule 157 (int -> INT .)
- | reduce using rule 157 (int -> INT .)
- , reduce using rule 157 (int -> INT .)
- PHPEND reduce using rule 157 (int -> INT .)
- } reduce using rule 157 (int -> INT .)
- ) reduce using rule 157 (int -> INT .)
- SARROW reduce using rule 157 (int -> INT .)
- ] reduce using rule 157 (int -> INT .)
- HTMLEND reduce using rule 157 (int -> INT .)
- EQ_DIV reduce using rule 157 (int -> INT .)
- EQ_MOD reduce using rule 157 (int -> INT .)
- EQ_MUL reduce using rule 157 (int -> INT .)
- EQ_SUB reduce using rule 157 (int -> INT .)
- EQ_ADD reduce using rule 157 (int -> INT .)
- = reduce using rule 157 (int -> INT .)
- AS reduce using rule 157 (int -> INT .)
+ (158) int -> INT .
+ > reduce using rule 158 (int -> INT .)
+ < reduce using rule 158 (int -> INT .)
+ & reduce using rule 158 (int -> INT .)
+ EQ_GREATER reduce using rule 158 (int -> INT .)
+ EQ_LESS reduce using rule 158 (int -> INT .)
+ NOT_EQEQ reduce using rule 158 (int -> INT .)
+ EQEQ reduce using rule 158 (int -> INT .)
+ % reduce using rule 158 (int -> INT .)
+ * reduce using rule 158 (int -> INT .)
+ / reduce using rule 158 (int -> INT .)
+ - reduce using rule 158 (int -> INT .)
+ + reduce using rule 158 (int -> INT .)
+ . reduce using rule 158 (int -> INT .)
+ COLON_COLON reduce using rule 158 (int -> INT .)
+ ^ reduce using rule 158 (int -> INT .)
+ [ reduce using rule 158 (int -> INT .)
+ ( reduce using rule 158 (int -> INT .)
+ $ reduce using rule 158 (int -> INT .)
+ ID reduce using rule 158 (int -> INT .)
+ ! reduce using rule 158 (int -> INT .)
+ { reduce using rule 158 (int -> INT .)
+ FORMATTED_STRING reduce using rule 158 (int -> INT .)
+ MULTILINE_STRING reduce using rule 158 (int -> INT .)
+ STRING reduce using rule 158 (int -> INT .)
+ CHAR reduce using rule 158 (int -> INT .)
+ FALSE reduce using rule 158 (int -> INT .)
+ TRUE reduce using rule 158 (int -> INT .)
+ FLOAT reduce using rule 158 (int -> INT .)
+ INT reduce using rule 158 (int -> INT .)
+ NULL reduce using rule 158 (int -> INT .)
+ PYTHON_CODE_EXEC reduce using rule 158 (int -> INT .)
+ PYTHON_CODE reduce using rule 158 (int -> INT .)
+ # reduce using rule 158 (int -> INT .)
+ NEW reduce using rule 158 (int -> INT .)
+ ? reduce using rule 158 (int -> INT .)
+ HTMLSTART reduce using rule 158 (int -> INT .)
+ FOREACH reduce using rule 158 (int -> INT .)
+ FOR reduce using rule 158 (int -> INT .)
+ IF reduce using rule 158 (int -> INT .)
+ PHPSTART reduce using rule 158 (int -> INT .)
+ LIMPORT reduce using rule 158 (int -> INT .)
+ IMPORT reduce using rule 158 (int -> INT .)
+ RETURN reduce using rule 158 (int -> INT .)
+ DEL reduce using rule 158 (int -> INT .)
+ DEBUG reduce using rule 158 (int -> INT .)
+ SKIP reduce using rule 158 (int -> INT .)
+ BREAK reduce using rule 158 (int -> INT .)
+ LET reduce using rule 158 (int -> INT .)
+ WHILE reduce using rule 158 (int -> INT .)
+ NAMESPACE reduce using rule 158 (int -> INT .)
+ CLASS reduce using rule 158 (int -> INT .)
+ FUNC reduce using rule 158 (int -> INT .)
+ INIT reduce using rule 158 (int -> INT .)
+ $end reduce using rule 158 (int -> INT .)
+ ; reduce using rule 158 (int -> INT .)
+ | reduce using rule 158 (int -> INT .)
+ , reduce using rule 158 (int -> INT .)
+ PHPEND reduce using rule 158 (int -> INT .)
+ } reduce using rule 158 (int -> INT .)
+ ) reduce using rule 158 (int -> INT .)
+ SARROW reduce using rule 158 (int -> INT .)
+ ] reduce using rule 158 (int -> INT .)
+ HTMLEND reduce using rule 158 (int -> INT .)
+ EQ_DIV reduce using rule 158 (int -> INT .)
+ EQ_MOD reduce using rule 158 (int -> INT .)
+ EQ_MUL reduce using rule 158 (int -> INT .)
+ EQ_SUB reduce using rule 158 (int -> INT .)
+ EQ_ADD reduce using rule 158 (int -> INT .)
+ = reduce using rule 158 (int -> INT .)
+ AS reduce using rule 158 (int -> INT .)
state 70
- (143) null -> NULL .
- > reduce using rule 143 (null -> NULL .)
- < reduce using rule 143 (null -> NULL .)
- & reduce using rule 143 (null -> NULL .)
- EQ_GREATER reduce using rule 143 (null -> NULL .)
- EQ_LESS reduce using rule 143 (null -> NULL .)
- NOT_EQEQ reduce using rule 143 (null -> NULL .)
- EQEQ reduce using rule 143 (null -> NULL .)
- % reduce using rule 143 (null -> NULL .)
- * reduce using rule 143 (null -> NULL .)
- / reduce using rule 143 (null -> NULL .)
- - reduce using rule 143 (null -> NULL .)
- + reduce using rule 143 (null -> NULL .)
- . reduce using rule 143 (null -> NULL .)
- COLON_COLON reduce using rule 143 (null -> NULL .)
- ^ reduce using rule 143 (null -> NULL .)
- [ reduce using rule 143 (null -> NULL .)
- ( reduce using rule 143 (null -> NULL .)
- $ reduce using rule 143 (null -> NULL .)
- ID reduce using rule 143 (null -> NULL .)
- ! reduce using rule 143 (null -> NULL .)
- { reduce using rule 143 (null -> NULL .)
- FORMATTED_STRING reduce using rule 143 (null -> NULL .)
- MULTILINE_STRING reduce using rule 143 (null -> NULL .)
- STRING reduce using rule 143 (null -> NULL .)
- CHAR reduce using rule 143 (null -> NULL .)
- FALSE reduce using rule 143 (null -> NULL .)
- TRUE reduce using rule 143 (null -> NULL .)
- FLOAT reduce using rule 143 (null -> NULL .)
- INT reduce using rule 143 (null -> NULL .)
- NULL reduce using rule 143 (null -> NULL .)
- PYTHON_CODE_EXEC reduce using rule 143 (null -> NULL .)
- PYTHON_CODE reduce using rule 143 (null -> NULL .)
- # reduce using rule 143 (null -> NULL .)
- NEW reduce using rule 143 (null -> NULL .)
- ? reduce using rule 143 (null -> NULL .)
- HTMLSTART reduce using rule 143 (null -> NULL .)
- FOREACH reduce using rule 143 (null -> NULL .)
- FOR reduce using rule 143 (null -> NULL .)
- IF reduce using rule 143 (null -> NULL .)
- PHPSTART reduce using rule 143 (null -> NULL .)
- LIMPORT reduce using rule 143 (null -> NULL .)
- IMPORT reduce using rule 143 (null -> NULL .)
- RETURN reduce using rule 143 (null -> NULL .)
- DEL reduce using rule 143 (null -> NULL .)
- DEBUG reduce using rule 143 (null -> NULL .)
- SKIP reduce using rule 143 (null -> NULL .)
- BREAK reduce using rule 143 (null -> NULL .)
- LET reduce using rule 143 (null -> NULL .)
- WHILE reduce using rule 143 (null -> NULL .)
- NAMESPACE reduce using rule 143 (null -> NULL .)
- CLASS reduce using rule 143 (null -> NULL .)
- FUNC reduce using rule 143 (null -> NULL .)
- INIT reduce using rule 143 (null -> NULL .)
- $end reduce using rule 143 (null -> NULL .)
- ; reduce using rule 143 (null -> NULL .)
- | reduce using rule 143 (null -> NULL .)
- , reduce using rule 143 (null -> NULL .)
- PHPEND reduce using rule 143 (null -> NULL .)
- } reduce using rule 143 (null -> NULL .)
- ) reduce using rule 143 (null -> NULL .)
- SARROW reduce using rule 143 (null -> NULL .)
- ] reduce using rule 143 (null -> NULL .)
- HTMLEND reduce using rule 143 (null -> NULL .)
- EQ_DIV reduce using rule 143 (null -> NULL .)
- EQ_MOD reduce using rule 143 (null -> NULL .)
- EQ_MUL reduce using rule 143 (null -> NULL .)
- EQ_SUB reduce using rule 143 (null -> NULL .)
- EQ_ADD reduce using rule 143 (null -> NULL .)
- = reduce using rule 143 (null -> NULL .)
- AS reduce using rule 143 (null -> NULL .)
+ (144) null -> NULL .
+ > reduce using rule 144 (null -> NULL .)
+ < reduce using rule 144 (null -> NULL .)
+ & reduce using rule 144 (null -> NULL .)
+ EQ_GREATER reduce using rule 144 (null -> NULL .)
+ EQ_LESS reduce using rule 144 (null -> NULL .)
+ NOT_EQEQ reduce using rule 144 (null -> NULL .)
+ EQEQ reduce using rule 144 (null -> NULL .)
+ % reduce using rule 144 (null -> NULL .)
+ * reduce using rule 144 (null -> NULL .)
+ / reduce using rule 144 (null -> NULL .)
+ - reduce using rule 144 (null -> NULL .)
+ + reduce using rule 144 (null -> NULL .)
+ . reduce using rule 144 (null -> NULL .)
+ COLON_COLON reduce using rule 144 (null -> NULL .)
+ ^ reduce using rule 144 (null -> NULL .)
+ [ reduce using rule 144 (null -> NULL .)
+ ( reduce using rule 144 (null -> NULL .)
+ $ reduce using rule 144 (null -> NULL .)
+ ID reduce using rule 144 (null -> NULL .)
+ ! reduce using rule 144 (null -> NULL .)
+ { reduce using rule 144 (null -> NULL .)
+ FORMATTED_STRING reduce using rule 144 (null -> NULL .)
+ MULTILINE_STRING reduce using rule 144 (null -> NULL .)
+ STRING reduce using rule 144 (null -> NULL .)
+ CHAR reduce using rule 144 (null -> NULL .)
+ FALSE reduce using rule 144 (null -> NULL .)
+ TRUE reduce using rule 144 (null -> NULL .)
+ FLOAT reduce using rule 144 (null -> NULL .)
+ INT reduce using rule 144 (null -> NULL .)
+ NULL reduce using rule 144 (null -> NULL .)
+ PYTHON_CODE_EXEC reduce using rule 144 (null -> NULL .)
+ PYTHON_CODE reduce using rule 144 (null -> NULL .)
+ # reduce using rule 144 (null -> NULL .)
+ NEW reduce using rule 144 (null -> NULL .)
+ ? reduce using rule 144 (null -> NULL .)
+ HTMLSTART reduce using rule 144 (null -> NULL .)
+ FOREACH reduce using rule 144 (null -> NULL .)
+ FOR reduce using rule 144 (null -> NULL .)
+ IF reduce using rule 144 (null -> NULL .)
+ PHPSTART reduce using rule 144 (null -> NULL .)
+ LIMPORT reduce using rule 144 (null -> NULL .)
+ IMPORT reduce using rule 144 (null -> NULL .)
+ RETURN reduce using rule 144 (null -> NULL .)
+ DEL reduce using rule 144 (null -> NULL .)
+ DEBUG reduce using rule 144 (null -> NULL .)
+ SKIP reduce using rule 144 (null -> NULL .)
+ BREAK reduce using rule 144 (null -> NULL .)
+ LET reduce using rule 144 (null -> NULL .)
+ WHILE reduce using rule 144 (null -> NULL .)
+ NAMESPACE reduce using rule 144 (null -> NULL .)
+ CLASS reduce using rule 144 (null -> NULL .)
+ FUNC reduce using rule 144 (null -> NULL .)
+ INIT reduce using rule 144 (null -> NULL .)
+ $end reduce using rule 144 (null -> NULL .)
+ ; reduce using rule 144 (null -> NULL .)
+ | reduce using rule 144 (null -> NULL .)
+ , reduce using rule 144 (null -> NULL .)
+ PHPEND reduce using rule 144 (null -> NULL .)
+ } reduce using rule 144 (null -> NULL .)
+ ) reduce using rule 144 (null -> NULL .)
+ SARROW reduce using rule 144 (null -> NULL .)
+ ] reduce using rule 144 (null -> NULL .)
+ HTMLEND reduce using rule 144 (null -> NULL .)
+ EQ_DIV reduce using rule 144 (null -> NULL .)
+ EQ_MOD reduce using rule 144 (null -> NULL .)
+ EQ_MUL reduce using rule 144 (null -> NULL .)
+ EQ_SUB reduce using rule 144 (null -> NULL .)
+ EQ_ADD reduce using rule 144 (null -> NULL .)
+ = reduce using rule 144 (null -> NULL .)
+ AS reduce using rule 144 (null -> NULL .)
state 71
- (167) python_code -> PYTHON_CODE_EXEC .
- ; reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- > reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- < reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- & reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- EQ_GREATER reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- EQ_LESS reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- NOT_EQEQ reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- EQEQ reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- % reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- * reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- / reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- - reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- + reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- . reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- COLON_COLON reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- ^ reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- [ reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- ( reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- $ reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- ID reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- ! reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- { reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- FORMATTED_STRING reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- MULTILINE_STRING reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- STRING reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- CHAR reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- FALSE reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- TRUE reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- FLOAT reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- INT reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- NULL reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- PYTHON_CODE_EXEC reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- PYTHON_CODE reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- # reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- NEW reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- ? reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- HTMLSTART reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- FOREACH reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- FOR reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- IF reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- PHPSTART reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- LIMPORT reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- IMPORT reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- RETURN reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- DEL reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- DEBUG reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- SKIP reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- BREAK reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- LET reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- WHILE reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- NAMESPACE reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- CLASS reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- FUNC reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- INIT reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- $end reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- | reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- , reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- PHPEND reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- } reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- ) reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- SARROW reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- ] reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- HTMLEND reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- EQ_DIV reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- EQ_MOD reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- EQ_MUL reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- EQ_SUB reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- EQ_ADD reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- = reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
- AS reduce using rule 167 (python_code -> PYTHON_CODE_EXEC .)
+ (168) python_code -> PYTHON_CODE_EXEC .
+ ; reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ > reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ < reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ & reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ EQ_GREATER reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ EQ_LESS reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ NOT_EQEQ reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ EQEQ reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ % reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ * reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ / reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ - reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ + reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ . reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ COLON_COLON reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ ^ reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ [ reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ ( reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ $ reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ ID reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ ! reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ { reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ FORMATTED_STRING reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ MULTILINE_STRING reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ STRING reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ CHAR reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ FALSE reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ TRUE reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ FLOAT reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ INT reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ NULL reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ PYTHON_CODE_EXEC reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ PYTHON_CODE reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ # reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ NEW reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ ? reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ HTMLSTART reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ FOREACH reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ FOR reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ IF reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ PHPSTART reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ LIMPORT reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ IMPORT reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ RETURN reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ DEL reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ DEBUG reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ SKIP reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ BREAK reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ LET reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ WHILE reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ NAMESPACE reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ CLASS reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ FUNC reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ INIT reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ $end reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ | reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ , reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ PHPEND reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ } reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ ) reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ SARROW reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ ] reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ HTMLEND reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ EQ_DIV reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ EQ_MOD reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ EQ_MUL reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ EQ_SUB reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ EQ_ADD reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ = reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
+ AS reduce using rule 168 (python_code -> PYTHON_CODE_EXEC .)
state 72
- (168) python_code -> PYTHON_CODE .
- ; reduce using rule 168 (python_code -> PYTHON_CODE .)
- > reduce using rule 168 (python_code -> PYTHON_CODE .)
- < reduce using rule 168 (python_code -> PYTHON_CODE .)
- & reduce using rule 168 (python_code -> PYTHON_CODE .)
- EQ_GREATER reduce using rule 168 (python_code -> PYTHON_CODE .)
- EQ_LESS reduce using rule 168 (python_code -> PYTHON_CODE .)
- NOT_EQEQ reduce using rule 168 (python_code -> PYTHON_CODE .)
- EQEQ reduce using rule 168 (python_code -> PYTHON_CODE .)
- % reduce using rule 168 (python_code -> PYTHON_CODE .)
- * reduce using rule 168 (python_code -> PYTHON_CODE .)
- / reduce using rule 168 (python_code -> PYTHON_CODE .)
- - reduce using rule 168 (python_code -> PYTHON_CODE .)
- + reduce using rule 168 (python_code -> PYTHON_CODE .)
- . reduce using rule 168 (python_code -> PYTHON_CODE .)
- COLON_COLON reduce using rule 168 (python_code -> PYTHON_CODE .)
- ^ reduce using rule 168 (python_code -> PYTHON_CODE .)
- [ reduce using rule 168 (python_code -> PYTHON_CODE .)
- ( reduce using rule 168 (python_code -> PYTHON_CODE .)
- $ reduce using rule 168 (python_code -> PYTHON_CODE .)
- ID reduce using rule 168 (python_code -> PYTHON_CODE .)
- ! reduce using rule 168 (python_code -> PYTHON_CODE .)
- { reduce using rule 168 (python_code -> PYTHON_CODE .)
- FORMATTED_STRING reduce using rule 168 (python_code -> PYTHON_CODE .)
- MULTILINE_STRING reduce using rule 168 (python_code -> PYTHON_CODE .)
- STRING reduce using rule 168 (python_code -> PYTHON_CODE .)
- CHAR reduce using rule 168 (python_code -> PYTHON_CODE .)
- FALSE reduce using rule 168 (python_code -> PYTHON_CODE .)
- TRUE reduce using rule 168 (python_code -> PYTHON_CODE .)
- FLOAT reduce using rule 168 (python_code -> PYTHON_CODE .)
- INT reduce using rule 168 (python_code -> PYTHON_CODE .)
- NULL reduce using rule 168 (python_code -> PYTHON_CODE .)
- PYTHON_CODE_EXEC reduce using rule 168 (python_code -> PYTHON_CODE .)
- PYTHON_CODE reduce using rule 168 (python_code -> PYTHON_CODE .)
- # reduce using rule 168 (python_code -> PYTHON_CODE .)
- NEW reduce using rule 168 (python_code -> PYTHON_CODE .)
- ? reduce using rule 168 (python_code -> PYTHON_CODE .)
- HTMLSTART reduce using rule 168 (python_code -> PYTHON_CODE .)
- FOREACH reduce using rule 168 (python_code -> PYTHON_CODE .)
- FOR reduce using rule 168 (python_code -> PYTHON_CODE .)
- IF reduce using rule 168 (python_code -> PYTHON_CODE .)
- PHPSTART reduce using rule 168 (python_code -> PYTHON_CODE .)
- LIMPORT reduce using rule 168 (python_code -> PYTHON_CODE .)
- IMPORT reduce using rule 168 (python_code -> PYTHON_CODE .)
- RETURN reduce using rule 168 (python_code -> PYTHON_CODE .)
- DEL reduce using rule 168 (python_code -> PYTHON_CODE .)
- DEBUG reduce using rule 168 (python_code -> PYTHON_CODE .)
- SKIP reduce using rule 168 (python_code -> PYTHON_CODE .)
- BREAK reduce using rule 168 (python_code -> PYTHON_CODE .)
- LET reduce using rule 168 (python_code -> PYTHON_CODE .)
- WHILE reduce using rule 168 (python_code -> PYTHON_CODE .)
- NAMESPACE reduce using rule 168 (python_code -> PYTHON_CODE .)
- CLASS reduce using rule 168 (python_code -> PYTHON_CODE .)
- FUNC reduce using rule 168 (python_code -> PYTHON_CODE .)
- INIT reduce using rule 168 (python_code -> PYTHON_CODE .)
- $end reduce using rule 168 (python_code -> PYTHON_CODE .)
- | reduce using rule 168 (python_code -> PYTHON_CODE .)
- , reduce using rule 168 (python_code -> PYTHON_CODE .)
- PHPEND reduce using rule 168 (python_code -> PYTHON_CODE .)
- } reduce using rule 168 (python_code -> PYTHON_CODE .)
- ) reduce using rule 168 (python_code -> PYTHON_CODE .)
- SARROW reduce using rule 168 (python_code -> PYTHON_CODE .)
- ] reduce using rule 168 (python_code -> PYTHON_CODE .)
- HTMLEND reduce using rule 168 (python_code -> PYTHON_CODE .)
- EQ_DIV reduce using rule 168 (python_code -> PYTHON_CODE .)
- EQ_MOD reduce using rule 168 (python_code -> PYTHON_CODE .)
- EQ_MUL reduce using rule 168 (python_code -> PYTHON_CODE .)
- EQ_SUB reduce using rule 168 (python_code -> PYTHON_CODE .)
- EQ_ADD reduce using rule 168 (python_code -> PYTHON_CODE .)
- = reduce using rule 168 (python_code -> PYTHON_CODE .)
- AS reduce using rule 168 (python_code -> PYTHON_CODE .)
+ (169) python_code -> PYTHON_CODE .
+ ; reduce using rule 169 (python_code -> PYTHON_CODE .)
+ > reduce using rule 169 (python_code -> PYTHON_CODE .)
+ < reduce using rule 169 (python_code -> PYTHON_CODE .)
+ & reduce using rule 169 (python_code -> PYTHON_CODE .)
+ EQ_GREATER reduce using rule 169 (python_code -> PYTHON_CODE .)
+ EQ_LESS reduce using rule 169 (python_code -> PYTHON_CODE .)
+ NOT_EQEQ reduce using rule 169 (python_code -> PYTHON_CODE .)
+ EQEQ reduce using rule 169 (python_code -> PYTHON_CODE .)
+ % reduce using rule 169 (python_code -> PYTHON_CODE .)
+ * reduce using rule 169 (python_code -> PYTHON_CODE .)
+ / reduce using rule 169 (python_code -> PYTHON_CODE .)
+ - reduce using rule 169 (python_code -> PYTHON_CODE .)
+ + reduce using rule 169 (python_code -> PYTHON_CODE .)
+ . reduce using rule 169 (python_code -> PYTHON_CODE .)
+ COLON_COLON reduce using rule 169 (python_code -> PYTHON_CODE .)
+ ^ reduce using rule 169 (python_code -> PYTHON_CODE .)
+ [ reduce using rule 169 (python_code -> PYTHON_CODE .)
+ ( reduce using rule 169 (python_code -> PYTHON_CODE .)
+ $ reduce using rule 169 (python_code -> PYTHON_CODE .)
+ ID reduce using rule 169 (python_code -> PYTHON_CODE .)
+ ! reduce using rule 169 (python_code -> PYTHON_CODE .)
+ { reduce using rule 169 (python_code -> PYTHON_CODE .)
+ FORMATTED_STRING reduce using rule 169 (python_code -> PYTHON_CODE .)
+ MULTILINE_STRING reduce using rule 169 (python_code -> PYTHON_CODE .)
+ STRING reduce using rule 169 (python_code -> PYTHON_CODE .)
+ CHAR reduce using rule 169 (python_code -> PYTHON_CODE .)
+ FALSE reduce using rule 169 (python_code -> PYTHON_CODE .)
+ TRUE reduce using rule 169 (python_code -> PYTHON_CODE .)
+ FLOAT reduce using rule 169 (python_code -> PYTHON_CODE .)
+ INT reduce using rule 169 (python_code -> PYTHON_CODE .)
+ NULL reduce using rule 169 (python_code -> PYTHON_CODE .)
+ PYTHON_CODE_EXEC reduce using rule 169 (python_code -> PYTHON_CODE .)
+ PYTHON_CODE reduce using rule 169 (python_code -> PYTHON_CODE .)
+ # reduce using rule 169 (python_code -> PYTHON_CODE .)
+ NEW reduce using rule 169 (python_code -> PYTHON_CODE .)
+ ? reduce using rule 169 (python_code -> PYTHON_CODE .)
+ HTMLSTART reduce using rule 169 (python_code -> PYTHON_CODE .)
+ FOREACH reduce using rule 169 (python_code -> PYTHON_CODE .)
+ FOR reduce using rule 169 (python_code -> PYTHON_CODE .)
+ IF reduce using rule 169 (python_code -> PYTHON_CODE .)
+ PHPSTART reduce using rule 169 (python_code -> PYTHON_CODE .)
+ LIMPORT reduce using rule 169 (python_code -> PYTHON_CODE .)
+ IMPORT reduce using rule 169 (python_code -> PYTHON_CODE .)
+ RETURN reduce using rule 169 (python_code -> PYTHON_CODE .)
+ DEL reduce using rule 169 (python_code -> PYTHON_CODE .)
+ DEBUG reduce using rule 169 (python_code -> PYTHON_CODE .)
+ SKIP reduce using rule 169 (python_code -> PYTHON_CODE .)
+ BREAK reduce using rule 169 (python_code -> PYTHON_CODE .)
+ LET reduce using rule 169 (python_code -> PYTHON_CODE .)
+ WHILE reduce using rule 169 (python_code -> PYTHON_CODE .)
+ NAMESPACE reduce using rule 169 (python_code -> PYTHON_CODE .)
+ CLASS reduce using rule 169 (python_code -> PYTHON_CODE .)
+ FUNC reduce using rule 169 (python_code -> PYTHON_CODE .)
+ INIT reduce using rule 169 (python_code -> PYTHON_CODE .)
+ $end reduce using rule 169 (python_code -> PYTHON_CODE .)
+ | reduce using rule 169 (python_code -> PYTHON_CODE .)
+ , reduce using rule 169 (python_code -> PYTHON_CODE .)
+ PHPEND reduce using rule 169 (python_code -> PYTHON_CODE .)
+ } reduce using rule 169 (python_code -> PYTHON_CODE .)
+ ) reduce using rule 169 (python_code -> PYTHON_CODE .)
+ SARROW reduce using rule 169 (python_code -> PYTHON_CODE .)
+ ] reduce using rule 169 (python_code -> PYTHON_CODE .)
+ HTMLEND reduce using rule 169 (python_code -> PYTHON_CODE .)
+ EQ_DIV reduce using rule 169 (python_code -> PYTHON_CODE .)
+ EQ_MOD reduce using rule 169 (python_code -> PYTHON_CODE .)
+ EQ_MUL reduce using rule 169 (python_code -> PYTHON_CODE .)
+ EQ_SUB reduce using rule 169 (python_code -> PYTHON_CODE .)
+ EQ_ADD reduce using rule 169 (python_code -> PYTHON_CODE .)
+ = reduce using rule 169 (python_code -> PYTHON_CODE .)
+ AS reduce using rule 169 (python_code -> PYTHON_CODE .)
state 73
@@ -5955,28 +5962,28 @@ state 74
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -6001,13 +6008,13 @@ state 74
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -6016,7 +6023,7 @@ state 74
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -6062,7 +6069,7 @@ state 75
(61) html_full -> HTMLSTART .
(62) html_full -> HTMLSTART . empty HTMLEND
(63) html_full -> HTMLSTART . expression HTMLEND
- (169) empty -> .
+ (170) empty -> .
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -6101,28 +6108,28 @@ state 75
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -6147,13 +6154,13 @@ state 75
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
! reduce/reduce conflict for HTMLEND resolved using rule 61 (html_full -> HTMLSTART .)
! shift/reduce conflict for ( resolved as shift
! shift/reduce conflict for ! resolved as shift
@@ -6233,7 +6240,7 @@ state 75
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -6277,7 +6284,7 @@ state 75
state 76
- (134) if_statement -> IF . ( expression ) { program }
+ (135) if_statement -> IF . ( expression ) { program }
( shift and go to state 174
@@ -6354,9 +6361,9 @@ state 79
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -6366,10 +6373,10 @@ state 79
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -6408,28 +6415,28 @@ state 79
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -6454,13 +6461,13 @@ state 79
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
; shift and go to state 175
> shift and go to state 90
< shift and go to state 91
@@ -6829,7 +6836,7 @@ state 83
state 84
(52) expression -> ID . OF ID
- (166) id -> ID .
+ (167) id -> ID .
(74) function_call -> ID . TARROW ID ( function_arguments )
(75) function_call -> ID . \ ID
(76) function_call -> ID . / ID
@@ -6839,74 +6846,74 @@ state 84
! shift/reduce conflict for / resolved as shift
! shift/reduce conflict for COLON_COLON resolved as shift
OF shift and go to state 126
- ; reduce using rule 166 (id -> ID .)
- > reduce using rule 166 (id -> ID .)
- < reduce using rule 166 (id -> ID .)
- & reduce using rule 166 (id -> ID .)
- EQ_GREATER reduce using rule 166 (id -> ID .)
- EQ_LESS reduce using rule 166 (id -> ID .)
- NOT_EQEQ reduce using rule 166 (id -> ID .)
- EQEQ reduce using rule 166 (id -> ID .)
- % reduce using rule 166 (id -> ID .)
- * reduce using rule 166 (id -> ID .)
- - reduce using rule 166 (id -> ID .)
- + reduce using rule 166 (id -> ID .)
- . reduce using rule 166 (id -> ID .)
- ^ reduce using rule 166 (id -> ID .)
- [ reduce using rule 166 (id -> ID .)
- ( reduce using rule 166 (id -> ID .)
- $ reduce using rule 166 (id -> ID .)
- ID reduce using rule 166 (id -> ID .)
- ! reduce using rule 166 (id -> ID .)
- { reduce using rule 166 (id -> ID .)
- FORMATTED_STRING reduce using rule 166 (id -> ID .)
- MULTILINE_STRING reduce using rule 166 (id -> ID .)
- STRING reduce using rule 166 (id -> ID .)
- CHAR reduce using rule 166 (id -> ID .)
- FALSE reduce using rule 166 (id -> ID .)
- TRUE reduce using rule 166 (id -> ID .)
- FLOAT reduce using rule 166 (id -> ID .)
- INT reduce using rule 166 (id -> ID .)
- NULL reduce using rule 166 (id -> ID .)
- PYTHON_CODE_EXEC reduce using rule 166 (id -> ID .)
- PYTHON_CODE reduce using rule 166 (id -> ID .)
- # reduce using rule 166 (id -> ID .)
- NEW reduce using rule 166 (id -> ID .)
- ? reduce using rule 166 (id -> ID .)
- HTMLSTART reduce using rule 166 (id -> ID .)
- FOREACH reduce using rule 166 (id -> ID .)
- FOR reduce using rule 166 (id -> ID .)
- IF reduce using rule 166 (id -> ID .)
- ) reduce using rule 166 (id -> ID .)
- PHPSTART reduce using rule 166 (id -> ID .)
- LIMPORT reduce using rule 166 (id -> ID .)
- IMPORT reduce using rule 166 (id -> ID .)
- RETURN reduce using rule 166 (id -> ID .)
- DEL reduce using rule 166 (id -> ID .)
- DEBUG reduce using rule 166 (id -> ID .)
- SKIP reduce using rule 166 (id -> ID .)
- BREAK reduce using rule 166 (id -> ID .)
- LET reduce using rule 166 (id -> ID .)
- WHILE reduce using rule 166 (id -> ID .)
- NAMESPACE reduce using rule 166 (id -> ID .)
- CLASS reduce using rule 166 (id -> ID .)
- FUNC reduce using rule 166 (id -> ID .)
- INIT reduce using rule 166 (id -> ID .)
- $end reduce using rule 166 (id -> ID .)
- | reduce using rule 166 (id -> ID .)
- , reduce using rule 166 (id -> ID .)
- PHPEND reduce using rule 166 (id -> ID .)
- } reduce using rule 166 (id -> ID .)
- SARROW reduce using rule 166 (id -> ID .)
- ] reduce using rule 166 (id -> ID .)
- HTMLEND reduce using rule 166 (id -> ID .)
- EQ_DIV reduce using rule 166 (id -> ID .)
- EQ_MOD reduce using rule 166 (id -> ID .)
- EQ_MUL reduce using rule 166 (id -> ID .)
- EQ_SUB reduce using rule 166 (id -> ID .)
- EQ_ADD reduce using rule 166 (id -> ID .)
- = reduce using rule 166 (id -> ID .)
- AS reduce using rule 166 (id -> ID .)
+ ; reduce using rule 167 (id -> ID .)
+ > reduce using rule 167 (id -> ID .)
+ < reduce using rule 167 (id -> ID .)
+ & reduce using rule 167 (id -> ID .)
+ EQ_GREATER reduce using rule 167 (id -> ID .)
+ EQ_LESS reduce using rule 167 (id -> ID .)
+ NOT_EQEQ reduce using rule 167 (id -> ID .)
+ EQEQ reduce using rule 167 (id -> ID .)
+ % reduce using rule 167 (id -> ID .)
+ * reduce using rule 167 (id -> ID .)
+ - reduce using rule 167 (id -> ID .)
+ + reduce using rule 167 (id -> ID .)
+ . reduce using rule 167 (id -> ID .)
+ ^ reduce using rule 167 (id -> ID .)
+ [ reduce using rule 167 (id -> ID .)
+ ( reduce using rule 167 (id -> ID .)
+ $ reduce using rule 167 (id -> ID .)
+ ID reduce using rule 167 (id -> ID .)
+ ! reduce using rule 167 (id -> ID .)
+ { reduce using rule 167 (id -> ID .)
+ FORMATTED_STRING reduce using rule 167 (id -> ID .)
+ MULTILINE_STRING reduce using rule 167 (id -> ID .)
+ STRING reduce using rule 167 (id -> ID .)
+ CHAR reduce using rule 167 (id -> ID .)
+ FALSE reduce using rule 167 (id -> ID .)
+ TRUE reduce using rule 167 (id -> ID .)
+ FLOAT reduce using rule 167 (id -> ID .)
+ INT reduce using rule 167 (id -> ID .)
+ NULL reduce using rule 167 (id -> ID .)
+ PYTHON_CODE_EXEC reduce using rule 167 (id -> ID .)
+ PYTHON_CODE reduce using rule 167 (id -> ID .)
+ # reduce using rule 167 (id -> ID .)
+ NEW reduce using rule 167 (id -> ID .)
+ ? reduce using rule 167 (id -> ID .)
+ HTMLSTART reduce using rule 167 (id -> ID .)
+ FOREACH reduce using rule 167 (id -> ID .)
+ FOR reduce using rule 167 (id -> ID .)
+ IF reduce using rule 167 (id -> ID .)
+ ) reduce using rule 167 (id -> ID .)
+ PHPSTART reduce using rule 167 (id -> ID .)
+ LIMPORT reduce using rule 167 (id -> ID .)
+ IMPORT reduce using rule 167 (id -> ID .)
+ RETURN reduce using rule 167 (id -> ID .)
+ DEL reduce using rule 167 (id -> ID .)
+ DEBUG reduce using rule 167 (id -> ID .)
+ SKIP reduce using rule 167 (id -> ID .)
+ BREAK reduce using rule 167 (id -> ID .)
+ LET reduce using rule 167 (id -> ID .)
+ WHILE reduce using rule 167 (id -> ID .)
+ NAMESPACE reduce using rule 167 (id -> ID .)
+ CLASS reduce using rule 167 (id -> ID .)
+ FUNC reduce using rule 167 (id -> ID .)
+ INIT reduce using rule 167 (id -> ID .)
+ $end reduce using rule 167 (id -> ID .)
+ | reduce using rule 167 (id -> ID .)
+ , reduce using rule 167 (id -> ID .)
+ PHPEND reduce using rule 167 (id -> ID .)
+ } reduce using rule 167 (id -> ID .)
+ SARROW reduce using rule 167 (id -> ID .)
+ ] reduce using rule 167 (id -> ID .)
+ HTMLEND reduce using rule 167 (id -> ID .)
+ EQ_DIV reduce using rule 167 (id -> ID .)
+ EQ_MOD reduce using rule 167 (id -> ID .)
+ EQ_MUL reduce using rule 167 (id -> ID .)
+ EQ_SUB reduce using rule 167 (id -> ID .)
+ EQ_ADD reduce using rule 167 (id -> ID .)
+ = reduce using rule 167 (id -> ID .)
+ AS reduce using rule 167 (id -> ID .)
TARROW shift and go to state 133
\ shift and go to state 134
/ shift and go to state 135
@@ -6956,28 +6963,28 @@ state 85
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -7002,13 +7009,13 @@ state 85
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
ID shift and go to state 177
( shift and go to state 32
! shift and go to state 33
@@ -7017,7 +7024,7 @@ state 85
* shift and go to state 38
& shift and go to state 36
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -7217,7 +7224,7 @@ state 88
state 89
- (112) positional_args -> expression .
+ (113) positional_args -> expression .
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -7231,9 +7238,9 @@ state 89
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -7243,10 +7250,10 @@ state 89
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -7285,28 +7292,28 @@ state 89
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -7331,13 +7338,13 @@ state 89
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
! shift/reduce conflict for > resolved as shift
! shift/reduce conflict for < resolved as shift
! shift/reduce conflict for & resolved as shift
@@ -7377,37 +7384,37 @@ state 89
! shift/reduce conflict for FOREACH resolved as shift
! shift/reduce conflict for FOR resolved as shift
! shift/reduce conflict for IF resolved as shift
- | reduce using rule 112 (positional_args -> expression .)
- ; reduce using rule 112 (positional_args -> expression .)
- PHPSTART reduce using rule 112 (positional_args -> expression .)
- LIMPORT reduce using rule 112 (positional_args -> expression .)
- IMPORT reduce using rule 112 (positional_args -> expression .)
- RETURN reduce using rule 112 (positional_args -> expression .)
- DEL reduce using rule 112 (positional_args -> expression .)
- DEBUG reduce using rule 112 (positional_args -> expression .)
- SKIP reduce using rule 112 (positional_args -> expression .)
- BREAK reduce using rule 112 (positional_args -> expression .)
- LET reduce using rule 112 (positional_args -> expression .)
- WHILE reduce using rule 112 (positional_args -> expression .)
- NAMESPACE reduce using rule 112 (positional_args -> expression .)
- CLASS reduce using rule 112 (positional_args -> expression .)
- FUNC reduce using rule 112 (positional_args -> expression .)
- INIT reduce using rule 112 (positional_args -> expression .)
- $end reduce using rule 112 (positional_args -> expression .)
- , reduce using rule 112 (positional_args -> expression .)
- PHPEND reduce using rule 112 (positional_args -> expression .)
- } reduce using rule 112 (positional_args -> expression .)
- ) reduce using rule 112 (positional_args -> expression .)
- SARROW reduce using rule 112 (positional_args -> expression .)
- ] reduce using rule 112 (positional_args -> expression .)
- HTMLEND reduce using rule 112 (positional_args -> expression .)
- EQ_DIV reduce using rule 112 (positional_args -> expression .)
- EQ_MOD reduce using rule 112 (positional_args -> expression .)
- EQ_MUL reduce using rule 112 (positional_args -> expression .)
- EQ_SUB reduce using rule 112 (positional_args -> expression .)
- EQ_ADD reduce using rule 112 (positional_args -> expression .)
- = reduce using rule 112 (positional_args -> expression .)
- AS reduce using rule 112 (positional_args -> expression .)
+ | reduce using rule 113 (positional_args -> expression .)
+ ; reduce using rule 113 (positional_args -> expression .)
+ PHPSTART reduce using rule 113 (positional_args -> expression .)
+ LIMPORT reduce using rule 113 (positional_args -> expression .)
+ IMPORT reduce using rule 113 (positional_args -> expression .)
+ RETURN reduce using rule 113 (positional_args -> expression .)
+ DEL reduce using rule 113 (positional_args -> expression .)
+ DEBUG reduce using rule 113 (positional_args -> expression .)
+ SKIP reduce using rule 113 (positional_args -> expression .)
+ BREAK reduce using rule 113 (positional_args -> expression .)
+ LET reduce using rule 113 (positional_args -> expression .)
+ WHILE reduce using rule 113 (positional_args -> expression .)
+ NAMESPACE reduce using rule 113 (positional_args -> expression .)
+ CLASS reduce using rule 113 (positional_args -> expression .)
+ FUNC reduce using rule 113 (positional_args -> expression .)
+ INIT reduce using rule 113 (positional_args -> expression .)
+ $end reduce using rule 113 (positional_args -> expression .)
+ , reduce using rule 113 (positional_args -> expression .)
+ PHPEND reduce using rule 113 (positional_args -> expression .)
+ } reduce using rule 113 (positional_args -> expression .)
+ ) reduce using rule 113 (positional_args -> expression .)
+ SARROW reduce using rule 113 (positional_args -> expression .)
+ ] reduce using rule 113 (positional_args -> expression .)
+ HTMLEND reduce using rule 113 (positional_args -> expression .)
+ EQ_DIV reduce using rule 113 (positional_args -> expression .)
+ EQ_MOD reduce using rule 113 (positional_args -> expression .)
+ EQ_MUL reduce using rule 113 (positional_args -> expression .)
+ EQ_SUB reduce using rule 113 (positional_args -> expression .)
+ EQ_ADD reduce using rule 113 (positional_args -> expression .)
+ = reduce using rule 113 (positional_args -> expression .)
+ AS reduce using rule 113 (positional_args -> expression .)
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -7511,28 +7518,28 @@ state 90
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -7557,13 +7564,13 @@ state 90
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -7572,7 +7579,7 @@ state 90
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -7654,28 +7661,28 @@ state 91
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -7700,13 +7707,13 @@ state 91
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -7715,7 +7722,7 @@ state 91
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -7798,28 +7805,28 @@ state 92
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -7844,13 +7851,13 @@ state 92
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
ID shift and go to state 181
( shift and go to state 32
! shift and go to state 33
@@ -7859,7 +7866,7 @@ state 92
* shift and go to state 38
& shift and go to state 36
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -7941,28 +7948,28 @@ state 93
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -7987,13 +7994,13 @@ state 93
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -8002,7 +8009,7 @@ state 93
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -8084,28 +8091,28 @@ state 94
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -8130,13 +8137,13 @@ state 94
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -8145,7 +8152,7 @@ state 94
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -8227,28 +8234,28 @@ state 95
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -8273,13 +8280,13 @@ state 95
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -8288,7 +8295,7 @@ state 95
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -8370,28 +8377,28 @@ state 96
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -8416,13 +8423,13 @@ state 96
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -8431,7 +8438,7 @@ state 96
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -8513,28 +8520,28 @@ state 97
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -8559,13 +8566,13 @@ state 97
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -8574,7 +8581,7 @@ state 97
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -8657,28 +8664,28 @@ state 98
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -8703,13 +8710,13 @@ state 98
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
ID shift and go to state 188
( shift and go to state 32
! shift and go to state 33
@@ -8718,7 +8725,7 @@ state 98
* shift and go to state 38
& shift and go to state 36
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -8800,28 +8807,28 @@ state 99
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -8846,13 +8853,13 @@ state 99
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -8861,7 +8868,7 @@ state 99
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -8944,28 +8951,28 @@ state 100
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -8990,13 +8997,13 @@ state 100
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -9005,7 +9012,7 @@ state 100
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -9088,28 +9095,28 @@ state 101
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -9134,13 +9141,13 @@ state 101
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -9149,7 +9156,7 @@ state 101
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -9233,28 +9240,28 @@ state 102
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -9279,13 +9286,13 @@ state 102
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
ENV shift and go to state 142
( shift and go to state 32
! shift and go to state 33
@@ -9295,7 +9302,7 @@ state 102
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -9338,15 +9345,15 @@ state 102
state 103
- (165) class_attribute -> expression COLON_COLON . ID
+ (166) class_attribute -> expression COLON_COLON . ID
ID shift and go to state 193
state 104
- (114) kwargs -> ID . = expression
+ (115) kwargs -> ID . = expression
(52) expression -> ID . OF ID
- (166) id -> ID .
+ (167) id -> ID .
(74) function_call -> ID . TARROW ID ( function_arguments )
(75) function_call -> ID . \ ID
(76) function_call -> ID . / ID
@@ -9358,73 +9365,73 @@ state 104
! shift/reduce conflict for COLON_COLON resolved as shift
= shift and go to state 194
OF shift and go to state 126
- | reduce using rule 166 (id -> ID .)
- ; reduce using rule 166 (id -> ID .)
- > reduce using rule 166 (id -> ID .)
- < reduce using rule 166 (id -> ID .)
- & reduce using rule 166 (id -> ID .)
- EQ_GREATER reduce using rule 166 (id -> ID .)
- EQ_LESS reduce using rule 166 (id -> ID .)
- NOT_EQEQ reduce using rule 166 (id -> ID .)
- EQEQ reduce using rule 166 (id -> ID .)
- % reduce using rule 166 (id -> ID .)
- * reduce using rule 166 (id -> ID .)
- - reduce using rule 166 (id -> ID .)
- + reduce using rule 166 (id -> ID .)
- . reduce using rule 166 (id -> ID .)
- ^ reduce using rule 166 (id -> ID .)
- [ reduce using rule 166 (id -> ID .)
- ( reduce using rule 166 (id -> ID .)
- $ reduce using rule 166 (id -> ID .)
- ID reduce using rule 166 (id -> ID .)
- ! reduce using rule 166 (id -> ID .)
- { reduce using rule 166 (id -> ID .)
- FORMATTED_STRING reduce using rule 166 (id -> ID .)
- MULTILINE_STRING reduce using rule 166 (id -> ID .)
- STRING reduce using rule 166 (id -> ID .)
- CHAR reduce using rule 166 (id -> ID .)
- FALSE reduce using rule 166 (id -> ID .)
- TRUE reduce using rule 166 (id -> ID .)
- FLOAT reduce using rule 166 (id -> ID .)
- INT reduce using rule 166 (id -> ID .)
- NULL reduce using rule 166 (id -> ID .)
- PYTHON_CODE_EXEC reduce using rule 166 (id -> ID .)
- PYTHON_CODE reduce using rule 166 (id -> ID .)
- # reduce using rule 166 (id -> ID .)
- NEW reduce using rule 166 (id -> ID .)
- ? reduce using rule 166 (id -> ID .)
- HTMLSTART reduce using rule 166 (id -> ID .)
- FOREACH reduce using rule 166 (id -> ID .)
- FOR reduce using rule 166 (id -> ID .)
- IF reduce using rule 166 (id -> ID .)
- PHPSTART reduce using rule 166 (id -> ID .)
- LIMPORT reduce using rule 166 (id -> ID .)
- IMPORT reduce using rule 166 (id -> ID .)
- RETURN reduce using rule 166 (id -> ID .)
- DEL reduce using rule 166 (id -> ID .)
- DEBUG reduce using rule 166 (id -> ID .)
- SKIP reduce using rule 166 (id -> ID .)
- BREAK reduce using rule 166 (id -> ID .)
- LET reduce using rule 166 (id -> ID .)
- WHILE reduce using rule 166 (id -> ID .)
- NAMESPACE reduce using rule 166 (id -> ID .)
- CLASS reduce using rule 166 (id -> ID .)
- FUNC reduce using rule 166 (id -> ID .)
- INIT reduce using rule 166 (id -> ID .)
- $end reduce using rule 166 (id -> ID .)
- , reduce using rule 166 (id -> ID .)
- PHPEND reduce using rule 166 (id -> ID .)
- } reduce using rule 166 (id -> ID .)
- ) reduce using rule 166 (id -> ID .)
- SARROW reduce using rule 166 (id -> ID .)
- ] reduce using rule 166 (id -> ID .)
- HTMLEND reduce using rule 166 (id -> ID .)
- EQ_DIV reduce using rule 166 (id -> ID .)
- EQ_MOD reduce using rule 166 (id -> ID .)
- EQ_MUL reduce using rule 166 (id -> ID .)
- EQ_SUB reduce using rule 166 (id -> ID .)
- EQ_ADD reduce using rule 166 (id -> ID .)
- AS reduce using rule 166 (id -> ID .)
+ | reduce using rule 167 (id -> ID .)
+ ; reduce using rule 167 (id -> ID .)
+ > reduce using rule 167 (id -> ID .)
+ < reduce using rule 167 (id -> ID .)
+ & reduce using rule 167 (id -> ID .)
+ EQ_GREATER reduce using rule 167 (id -> ID .)
+ EQ_LESS reduce using rule 167 (id -> ID .)
+ NOT_EQEQ reduce using rule 167 (id -> ID .)
+ EQEQ reduce using rule 167 (id -> ID .)
+ % reduce using rule 167 (id -> ID .)
+ * reduce using rule 167 (id -> ID .)
+ - reduce using rule 167 (id -> ID .)
+ + reduce using rule 167 (id -> ID .)
+ . reduce using rule 167 (id -> ID .)
+ ^ reduce using rule 167 (id -> ID .)
+ [ reduce using rule 167 (id -> ID .)
+ ( reduce using rule 167 (id -> ID .)
+ $ reduce using rule 167 (id -> ID .)
+ ID reduce using rule 167 (id -> ID .)
+ ! reduce using rule 167 (id -> ID .)
+ { reduce using rule 167 (id -> ID .)
+ FORMATTED_STRING reduce using rule 167 (id -> ID .)
+ MULTILINE_STRING reduce using rule 167 (id -> ID .)
+ STRING reduce using rule 167 (id -> ID .)
+ CHAR reduce using rule 167 (id -> ID .)
+ FALSE reduce using rule 167 (id -> ID .)
+ TRUE reduce using rule 167 (id -> ID .)
+ FLOAT reduce using rule 167 (id -> ID .)
+ INT reduce using rule 167 (id -> ID .)
+ NULL reduce using rule 167 (id -> ID .)
+ PYTHON_CODE_EXEC reduce using rule 167 (id -> ID .)
+ PYTHON_CODE reduce using rule 167 (id -> ID .)
+ # reduce using rule 167 (id -> ID .)
+ NEW reduce using rule 167 (id -> ID .)
+ ? reduce using rule 167 (id -> ID .)
+ HTMLSTART reduce using rule 167 (id -> ID .)
+ FOREACH reduce using rule 167 (id -> ID .)
+ FOR reduce using rule 167 (id -> ID .)
+ IF reduce using rule 167 (id -> ID .)
+ PHPSTART reduce using rule 167 (id -> ID .)
+ LIMPORT reduce using rule 167 (id -> ID .)
+ IMPORT reduce using rule 167 (id -> ID .)
+ RETURN reduce using rule 167 (id -> ID .)
+ DEL reduce using rule 167 (id -> ID .)
+ DEBUG reduce using rule 167 (id -> ID .)
+ SKIP reduce using rule 167 (id -> ID .)
+ BREAK reduce using rule 167 (id -> ID .)
+ LET reduce using rule 167 (id -> ID .)
+ WHILE reduce using rule 167 (id -> ID .)
+ NAMESPACE reduce using rule 167 (id -> ID .)
+ CLASS reduce using rule 167 (id -> ID .)
+ FUNC reduce using rule 167 (id -> ID .)
+ INIT reduce using rule 167 (id -> ID .)
+ $end reduce using rule 167 (id -> ID .)
+ , reduce using rule 167 (id -> ID .)
+ PHPEND reduce using rule 167 (id -> ID .)
+ } reduce using rule 167 (id -> ID .)
+ ) reduce using rule 167 (id -> ID .)
+ SARROW reduce using rule 167 (id -> ID .)
+ ] reduce using rule 167 (id -> ID .)
+ HTMLEND reduce using rule 167 (id -> ID .)
+ EQ_DIV reduce using rule 167 (id -> ID .)
+ EQ_MOD reduce using rule 167 (id -> ID .)
+ EQ_MUL reduce using rule 167 (id -> ID .)
+ EQ_SUB reduce using rule 167 (id -> ID .)
+ EQ_ADD reduce using rule 167 (id -> ID .)
+ AS reduce using rule 167 (id -> ID .)
TARROW shift and go to state 133
\ shift and go to state 134
/ shift and go to state 135
@@ -9433,7 +9440,7 @@ state 104
state 105
- (149) get_index -> expression ^ . expression
+ (150) get_index -> expression ^ . expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -9472,28 +9479,28 @@ state 105
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -9518,13 +9525,13 @@ state 105
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -9533,7 +9540,7 @@ state 105
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -9576,11 +9583,11 @@ state 105
state 106
- (150) get_index -> expression [ . expression ]
- (144) assoc_array -> [ . assoc_array_items ]
- (146) assoc_array -> [ . empty ]
- (153) _list -> [ . positional_args , ]
- (154) _list -> [ . positional_args ]
+ (151) get_index -> expression [ . expression ]
+ (145) assoc_array -> [ . assoc_array_items ]
+ (147) assoc_array -> [ . empty ]
+ (154) _list -> [ . positional_args , ]
+ (155) _list -> [ . positional_args ]
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -9619,33 +9626,33 @@ state 106
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (147) assoc_array_items -> . expression SARROW expression
- (148) assoc_array_items -> . assoc_array_items , expression SARROW expression
- (169) empty -> .
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (148) assoc_array_items -> . expression SARROW expression
+ (149) assoc_array_items -> . assoc_array_items , expression SARROW expression
+ (170) empty -> .
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -9670,13 +9677,13 @@ state 106
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -9685,8 +9692,8 @@ state 106
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- ] reduce using rule 169 (empty -> .)
- [ shift and go to state 61
+ ] reduce using rule 170 (empty -> .)
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -9709,9 +9716,9 @@ state 106
IF shift and go to state 76
expression shift and go to state 196
- assoc_array_items shift and go to state 165
- empty shift and go to state 166
- positional_args shift and go to state 167
+ assoc_array_items shift and go to state 163
+ empty shift and go to state 164
+ positional_args shift and go to state 165
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -9737,7 +9744,7 @@ state 107
(87) function_call -> expression ( . function_arguments ) FARROW { program }
(89) function_call -> expression ( . function_arguments )
(32) expression -> ( . expression )
- (169) empty -> .
+ (170) empty -> .
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
@@ -9779,32 +9786,32 @@ state 107
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -9829,14 +9836,14 @@ state 107
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ) reduce using rule 169 (empty -> .)
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ) reduce using rule 170 (empty -> .)
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -9845,7 +9852,7 @@ state 107
& shift and go to state 36
ID shift and go to state 200
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -10009,28 +10016,28 @@ state 109
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -10055,13 +10062,13 @@ state 109
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
ID shift and go to state 201
( shift and go to state 32
! shift and go to state 33
@@ -10070,7 +10077,7 @@ state 109
* shift and go to state 38
& shift and go to state 36
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -10114,7 +10121,7 @@ state 109
state 110
(102) function_arguments -> kwargs .
- (115) kwargs -> kwargs . , id = expression
+ (116) kwargs -> kwargs . , id = expression
! shift/reduce conflict for , resolved as shift
| reduce using rule 102 (function_arguments -> kwargs .)
; reduce using rule 102 (function_arguments -> kwargs .)
@@ -10192,7 +10199,7 @@ state 111
(103) function_arguments -> positional_args . , kwargs
(104) function_arguments -> positional_args .
- (113) positional_args -> positional_args . , expression
+ (114) positional_args -> positional_args . , expression
! shift/reduce conflict for , resolved as shift
, shift and go to state 203
| reduce using rule 104 (function_arguments -> positional_args .)
@@ -10268,7 +10275,7 @@ state 111
state 112
- (120) variable_operation -> get_index EQ_DIV . expression ;
+ (121) variable_operation -> get_index EQ_DIV . expression ;
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -10307,28 +10314,28 @@ state 112
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -10353,13 +10360,13 @@ state 112
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -10368,7 +10375,7 @@ state 112
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -10411,7 +10418,7 @@ state 112
state 113
- (122) variable_operation -> get_index EQ_MOD . expression ;
+ (123) variable_operation -> get_index EQ_MOD . expression ;
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -10450,28 +10457,28 @@ state 113
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -10496,13 +10503,13 @@ state 113
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -10511,7 +10518,7 @@ state 113
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -10554,7 +10561,7 @@ state 113
state 114
- (124) variable_operation -> get_index EQ_MUL . expression ;
+ (125) variable_operation -> get_index EQ_MUL . expression ;
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -10593,28 +10600,28 @@ state 114
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -10639,13 +10646,13 @@ state 114
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -10654,7 +10661,7 @@ state 114
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -10697,7 +10704,7 @@ state 114
state 115
- (126) variable_operation -> get_index EQ_SUB . expression ;
+ (127) variable_operation -> get_index EQ_SUB . expression ;
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -10736,28 +10743,28 @@ state 115
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -10782,13 +10789,13 @@ state 115
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -10797,7 +10804,7 @@ state 115
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -10840,7 +10847,7 @@ state 115
state 116
- (128) variable_operation -> get_index EQ_ADD . expression ;
+ (129) variable_operation -> get_index EQ_ADD . expression ;
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -10879,28 +10886,28 @@ state 116
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -10925,13 +10932,13 @@ state 116
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -10940,7 +10947,7 @@ state 116
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -11048,9 +11055,9 @@ state 118
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -11060,10 +11067,10 @@ state 118
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -11102,28 +11109,28 @@ state 118
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -11148,13 +11155,13 @@ state 118
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
) shift and go to state 209
> shift and go to state 90
< shift and go to state 91
@@ -11234,9 +11241,9 @@ state 119
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -11246,10 +11253,10 @@ state 119
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -11288,28 +11295,28 @@ state 119
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -11334,13 +11341,13 @@ state 119
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
> reduce using rule 35 (expression -> ! expression .)
< reduce using rule 35 (expression -> ! expression .)
& reduce using rule 35 (expression -> ! expression .)
@@ -11450,9 +11457,9 @@ state 120
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -11462,10 +11469,10 @@ state 120
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -11504,28 +11511,28 @@ state 120
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -11550,13 +11557,13 @@ state 120
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
> reduce using rule 36 (expression -> + expression .)
< reduce using rule 36 (expression -> + expression .)
& reduce using rule 36 (expression -> + expression .)
@@ -11666,9 +11673,9 @@ state 121
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -11678,10 +11685,10 @@ state 121
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -11720,28 +11727,28 @@ state 121
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -11766,13 +11773,13 @@ state 121
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
> reduce using rule 37 (expression -> - expression .)
< reduce using rule 37 (expression -> - expression .)
& reduce using rule 37 (expression -> - expression .)
@@ -12002,39 +12009,39 @@ state 123
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(60) html_full -> . ? HTMLEND
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
. shift and go to state 86
ID shift and go to state 211
# shift and go to state 73
@@ -12046,7 +12053,7 @@ state 123
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -12218,7 +12225,7 @@ state 126
state 127
- (121) variable_operation -> ID EQ_DIV . expression ;
+ (122) variable_operation -> ID EQ_DIV . expression ;
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -12257,28 +12264,28 @@ state 127
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -12303,13 +12310,13 @@ state 127
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -12318,7 +12325,7 @@ state 127
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -12361,7 +12368,7 @@ state 127
state 128
- (123) variable_operation -> ID EQ_MOD . expression ;
+ (124) variable_operation -> ID EQ_MOD . expression ;
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -12400,28 +12407,28 @@ state 128
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -12446,13 +12453,13 @@ state 128
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -12461,7 +12468,7 @@ state 128
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -12504,7 +12511,7 @@ state 128
state 129
- (125) variable_operation -> ID EQ_MUL . expression ;
+ (126) variable_operation -> ID EQ_MUL . expression ;
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -12543,28 +12550,28 @@ state 129
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -12589,13 +12596,13 @@ state 129
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -12604,7 +12611,7 @@ state 129
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -12647,7 +12654,7 @@ state 129
state 130
- (127) variable_operation -> ID EQ_SUB . expression ;
+ (128) variable_operation -> ID EQ_SUB . expression ;
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -12686,28 +12693,28 @@ state 130
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -12732,13 +12739,13 @@ state 130
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -12747,7 +12754,7 @@ state 130
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -12790,7 +12797,7 @@ state 130
state 131
- (129) variable_operation -> ID EQ_ADD . expression ;
+ (130) variable_operation -> ID EQ_ADD . expression ;
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -12829,28 +12836,28 @@ state 131
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -12875,13 +12882,13 @@ state 131
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -12890,7 +12897,7 @@ state 131
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -12982,9 +12989,9 @@ state 137
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
- (165) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -12994,10 +13001,10 @@ state 137
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -13036,28 +13043,28 @@ state 137
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -13082,13 +13089,13 @@ state 137
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
! shift/reduce conflict for > resolved as shift
! shift/reduce conflict for < resolved as shift
! shift/reduce conflict for & resolved as shift
@@ -13210,7 +13217,7 @@ state 137
state 138
- (116) variable_assignment -> $ get_index . = expression ;
+ (117) variable_assignment -> $ get_index . = expression ;
(30) expression -> get_index .
= shift and go to state 225
> reduce using rule 30 (expression -> get_index .)
@@ -13274,12 +13281,12 @@ state 138
state 139
- (118) variable_assignment -> $ ID . TARROW ID = expression ;
- (119) variable_assignment -> $ ID . = expression ;
+ (119) variable_assignment -> $ ID . TARROW ID = expression ;
+ (120) variable_assignment -> $ ID . = expression ;
(85) function_call -> $ ID . TARROW ID ( empty )
(86) function_call -> $ ID . TARROW ID ( function_arguments )
(52) expression -> ID . OF ID
- (166) id -> ID .
+ (167) id -> ID .
(74) function_call -> ID . TARROW ID ( function_arguments )
(75) function_call -> ID . \ ID
(76) function_call -> ID . / ID
@@ -13291,61 +13298,61 @@ state 139
TARROW shift and go to state 226
= shift and go to state 227
OF shift and go to state 126
- > reduce using rule 166 (id -> ID .)
- < reduce using rule 166 (id -> ID .)
- & reduce using rule 166 (id -> ID .)
- EQ_GREATER reduce using rule 166 (id -> ID .)
- EQ_LESS reduce using rule 166 (id -> ID .)
- NOT_EQEQ reduce using rule 166 (id -> ID .)
- EQEQ reduce using rule 166 (id -> ID .)
- % reduce using rule 166 (id -> ID .)
- * reduce using rule 166 (id -> ID .)
- - reduce using rule 166 (id -> ID .)
- + reduce using rule 166 (id -> ID .)
- . reduce using rule 166 (id -> ID .)
- ^ reduce using rule 166 (id -> ID .)
- [ reduce using rule 166 (id -> ID .)
- ( reduce using rule 166 (id -> ID .)
- $ reduce using rule 166 (id -> ID .)
- ID reduce using rule 166 (id -> ID .)
- ! reduce using rule 166 (id -> ID .)
- { reduce using rule 166 (id -> ID .)
- FORMATTED_STRING reduce using rule 166 (id -> ID .)
- MULTILINE_STRING reduce using rule 166 (id -> ID .)
- STRING reduce using rule 166 (id -> ID .)
- CHAR reduce using rule 166 (id -> ID .)
- FALSE reduce using rule 166 (id -> ID .)
- TRUE reduce using rule 166 (id -> ID .)
- FLOAT reduce using rule 166 (id -> ID .)
- INT reduce using rule 166 (id -> ID .)
- NULL reduce using rule 166 (id -> ID .)
- PYTHON_CODE_EXEC reduce using rule 166 (id -> ID .)
- PYTHON_CODE reduce using rule 166 (id -> ID .)
- # reduce using rule 166 (id -> ID .)
- NEW reduce using rule 166 (id -> ID .)
- ? reduce using rule 166 (id -> ID .)
- HTMLSTART reduce using rule 166 (id -> ID .)
- FOREACH reduce using rule 166 (id -> ID .)
- FOR reduce using rule 166 (id -> ID .)
- IF reduce using rule 166 (id -> ID .)
- PHPSTART reduce using rule 166 (id -> ID .)
- LIMPORT reduce using rule 166 (id -> ID .)
- IMPORT reduce using rule 166 (id -> ID .)
- RETURN reduce using rule 166 (id -> ID .)
- DEL reduce using rule 166 (id -> ID .)
- DEBUG reduce using rule 166 (id -> ID .)
- SKIP reduce using rule 166 (id -> ID .)
- BREAK reduce using rule 166 (id -> ID .)
- LET reduce using rule 166 (id -> ID .)
- WHILE reduce using rule 166 (id -> ID .)
- NAMESPACE reduce using rule 166 (id -> ID .)
- CLASS reduce using rule 166 (id -> ID .)
- FUNC reduce using rule 166 (id -> ID .)
- INIT reduce using rule 166 (id -> ID .)
- $end reduce using rule 166 (id -> ID .)
- PHPEND reduce using rule 166 (id -> ID .)
- } reduce using rule 166 (id -> ID .)
- , reduce using rule 166 (id -> ID .)
+ > reduce using rule 167 (id -> ID .)
+ < reduce using rule 167 (id -> ID .)
+ & reduce using rule 167 (id -> ID .)
+ EQ_GREATER reduce using rule 167 (id -> ID .)
+ EQ_LESS reduce using rule 167 (id -> ID .)
+ NOT_EQEQ reduce using rule 167 (id -> ID .)
+ EQEQ reduce using rule 167 (id -> ID .)
+ % reduce using rule 167 (id -> ID .)
+ * reduce using rule 167 (id -> ID .)
+ - reduce using rule 167 (id -> ID .)
+ + reduce using rule 167 (id -> ID .)
+ . reduce using rule 167 (id -> ID .)
+ ^ reduce using rule 167 (id -> ID .)
+ [ reduce using rule 167 (id -> ID .)
+ ( reduce using rule 167 (id -> ID .)
+ $ reduce using rule 167 (id -> ID .)
+ ID reduce using rule 167 (id -> ID .)
+ ! reduce using rule 167 (id -> ID .)
+ { reduce using rule 167 (id -> ID .)
+ FORMATTED_STRING reduce using rule 167 (id -> ID .)
+ MULTILINE_STRING reduce using rule 167 (id -> ID .)
+ STRING reduce using rule 167 (id -> ID .)
+ CHAR reduce using rule 167 (id -> ID .)
+ FALSE reduce using rule 167 (id -> ID .)
+ TRUE reduce using rule 167 (id -> ID .)
+ FLOAT reduce using rule 167 (id -> ID .)
+ INT reduce using rule 167 (id -> ID .)
+ NULL reduce using rule 167 (id -> ID .)
+ PYTHON_CODE_EXEC reduce using rule 167 (id -> ID .)
+ PYTHON_CODE reduce using rule 167 (id -> ID .)
+ # reduce using rule 167 (id -> ID .)
+ NEW reduce using rule 167 (id -> ID .)
+ ? reduce using rule 167 (id -> ID .)
+ HTMLSTART reduce using rule 167 (id -> ID .)
+ FOREACH reduce using rule 167 (id -> ID .)
+ FOR reduce using rule 167 (id -> ID .)
+ IF reduce using rule 167 (id -> ID .)
+ PHPSTART reduce using rule 167 (id -> ID .)
+ LIMPORT reduce using rule 167 (id -> ID .)
+ IMPORT reduce using rule 167 (id -> ID .)
+ RETURN reduce using rule 167 (id -> ID .)
+ DEL reduce using rule 167 (id -> ID .)
+ DEBUG reduce using rule 167 (id -> ID .)
+ SKIP reduce using rule 167 (id -> ID .)
+ BREAK reduce using rule 167 (id -> ID .)
+ LET reduce using rule 167 (id -> ID .)
+ WHILE reduce using rule 167 (id -> ID .)
+ NAMESPACE reduce using rule 167 (id -> ID .)
+ CLASS reduce using rule 167 (id -> ID .)
+ FUNC reduce using rule 167 (id -> ID .)
+ INIT reduce using rule 167 (id -> ID .)
+ $end reduce using rule 167 (id -> ID .)
+ PHPEND reduce using rule 167 (id -> ID .)
+ } reduce using rule 167 (id -> ID .)
+ , reduce using rule 167 (id -> ID .)
\ shift and go to state 134
/ shift and go to state 135
COLON_COLON shift and go to state 136
@@ -13353,13 +13360,13 @@ state 139
state 140
- (140) import_statement -> . SELFISH . ;
+ (141) import_statement -> . SELFISH . ;
; shift and go to state 228
state 141
- (141) import_statement -> . GLOBAL . ;
+ (142) import_statement -> . GLOBAL . ;
; shift and go to state 229
@@ -13431,41 +13438,42 @@ state 143
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -13477,28 +13485,28 @@ state 143
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -13523,7 +13531,7 @@ state 143
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
+ (135) if_statement -> . IF ( expression ) { program }
PHPEND shift and go to state 232
? shift and go to state 4
( shift and go to state 32
@@ -13549,9 +13557,9 @@ state 143
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -13617,9 +13625,9 @@ state 144
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -13629,10 +13637,10 @@ state 144
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -13671,28 +13679,28 @@ state 144
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -13717,13 +13725,13 @@ state 144
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
; shift and go to state 233
> shift and go to state 90
< shift and go to state 91
@@ -13789,7 +13797,7 @@ state 144
state 145
- (142) import_statement -> IMPORT expression . ;
+ (143) import_statement -> IMPORT expression . ;
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -13803,9 +13811,9 @@ state 145
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -13815,10 +13823,10 @@ state 145
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -13857,28 +13865,28 @@ state 145
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -13903,13 +13911,13 @@ state 145
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
; shift and go to state 234
> shift and go to state 90
< shift and go to state 91
@@ -13989,9 +13997,9 @@ state 146
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -14001,10 +14009,10 @@ state 146
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -14043,28 +14051,28 @@ state 146
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -14089,13 +14097,13 @@ state 146
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
; shift and go to state 235
> shift and go to state 90
< shift and go to state 91
@@ -14161,13 +14169,13 @@ state 146
state 147
- (139) delete_statement -> DEL ID . ;
+ (140) delete_statement -> DEL ID . ;
; shift and go to state 236
state 148
- (109) for_loop -> FOREACH ( . expression AS expression ) { program }
+ (110) for_loop -> FOREACH ( . expression AS expression ) { program }
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -14206,28 +14214,28 @@ state 148
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -14252,13 +14260,13 @@ state 148
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -14267,7 +14275,7 @@ state 148
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -14310,22 +14318,22 @@ state 148
state 149
- (145) assoc_array -> { empty . }
+ (146) assoc_array -> { empty . }
} shift and go to state 238
state 150
- (151) _tuple -> { positional_args . , }
- (152) _tuple -> { positional_args . }
- (113) positional_args -> positional_args . , expression
+ (152) _tuple -> { positional_args . , }
+ (153) _tuple -> { positional_args . }
+ (114) positional_args -> positional_args . , expression
, shift and go to state 239
} shift and go to state 240
state 151
- (110) for_loop -> FOR ( . expression ) { program }
+ (111) for_loop -> FOR ( . expression ) { program }
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -14364,28 +14372,28 @@ state 151
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -14410,13 +14418,13 @@ state 151
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -14425,7 +14433,7 @@ state 151
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -14621,13 +14629,13 @@ state 154
state 155
- (117) variable_assignment -> LET ID . : ID = expression ;
+ (118) variable_assignment -> LET ID . : ID = expression ;
: shift and go to state 242
state 156
- (111) while_loop -> WHILE ( . expression ) { program }
+ (112) while_loop -> WHILE ( . expression ) { program }
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -14666,28 +14674,28 @@ state 156
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -14712,13 +14720,13 @@ state 156
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -14727,7 +14735,7 @@ state 156
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -14770,156 +14778,156 @@ state 156
state 157
- (130) conditional -> if_statement else_statement .
- ? reduce using rule 130 (conditional -> if_statement else_statement .)
- ( reduce using rule 130 (conditional -> if_statement else_statement .)
- ! reduce using rule 130 (conditional -> if_statement else_statement .)
- + reduce using rule 130 (conditional -> if_statement else_statement .)
- - reduce using rule 130 (conditional -> if_statement else_statement .)
- * reduce using rule 130 (conditional -> if_statement else_statement .)
- & reduce using rule 130 (conditional -> if_statement else_statement .)
- ID reduce using rule 130 (conditional -> if_statement else_statement .)
- $ reduce using rule 130 (conditional -> if_statement else_statement .)
- PHPSTART reduce using rule 130 (conditional -> if_statement else_statement .)
- LIMPORT reduce using rule 130 (conditional -> if_statement else_statement .)
- . reduce using rule 130 (conditional -> if_statement else_statement .)
- IMPORT reduce using rule 130 (conditional -> if_statement else_statement .)
- RETURN reduce using rule 130 (conditional -> if_statement else_statement .)
- DEL reduce using rule 130 (conditional -> if_statement else_statement .)
- FOREACH reduce using rule 130 (conditional -> if_statement else_statement .)
- FOR reduce using rule 130 (conditional -> if_statement else_statement .)
- DEBUG reduce using rule 130 (conditional -> if_statement else_statement .)
- SKIP reduce using rule 130 (conditional -> if_statement else_statement .)
- BREAK reduce using rule 130 (conditional -> if_statement else_statement .)
- LET reduce using rule 130 (conditional -> if_statement else_statement .)
- WHILE reduce using rule 130 (conditional -> if_statement else_statement .)
- NAMESPACE reduce using rule 130 (conditional -> if_statement else_statement .)
- CLASS reduce using rule 130 (conditional -> if_statement else_statement .)
- FUNC reduce using rule 130 (conditional -> if_statement else_statement .)
- INIT reduce using rule 130 (conditional -> if_statement else_statement .)
- [ reduce using rule 130 (conditional -> if_statement else_statement .)
- { reduce using rule 130 (conditional -> if_statement else_statement .)
- FORMATTED_STRING reduce using rule 130 (conditional -> if_statement else_statement .)
- MULTILINE_STRING reduce using rule 130 (conditional -> if_statement else_statement .)
- STRING reduce using rule 130 (conditional -> if_statement else_statement .)
- CHAR reduce using rule 130 (conditional -> if_statement else_statement .)
- FALSE reduce using rule 130 (conditional -> if_statement else_statement .)
- TRUE reduce using rule 130 (conditional -> if_statement else_statement .)
- FLOAT reduce using rule 130 (conditional -> if_statement else_statement .)
- INT reduce using rule 130 (conditional -> if_statement else_statement .)
- NULL reduce using rule 130 (conditional -> if_statement else_statement .)
- PYTHON_CODE_EXEC reduce using rule 130 (conditional -> if_statement else_statement .)
- PYTHON_CODE reduce using rule 130 (conditional -> if_statement else_statement .)
- # reduce using rule 130 (conditional -> if_statement else_statement .)
- NEW reduce using rule 130 (conditional -> if_statement else_statement .)
- HTMLSTART reduce using rule 130 (conditional -> if_statement else_statement .)
- IF reduce using rule 130 (conditional -> if_statement else_statement .)
- $end reduce using rule 130 (conditional -> if_statement else_statement .)
- > reduce using rule 130 (conditional -> if_statement else_statement .)
- < reduce using rule 130 (conditional -> if_statement else_statement .)
- EQ_GREATER reduce using rule 130 (conditional -> if_statement else_statement .)
- EQ_LESS reduce using rule 130 (conditional -> if_statement else_statement .)
- NOT_EQEQ reduce using rule 130 (conditional -> if_statement else_statement .)
- EQEQ reduce using rule 130 (conditional -> if_statement else_statement .)
- % reduce using rule 130 (conditional -> if_statement else_statement .)
- / reduce using rule 130 (conditional -> if_statement else_statement .)
- COLON_COLON reduce using rule 130 (conditional -> if_statement else_statement .)
- ^ reduce using rule 130 (conditional -> if_statement else_statement .)
- ; reduce using rule 130 (conditional -> if_statement else_statement .)
- | reduce using rule 130 (conditional -> if_statement else_statement .)
- , reduce using rule 130 (conditional -> if_statement else_statement .)
- PHPEND reduce using rule 130 (conditional -> if_statement else_statement .)
- } reduce using rule 130 (conditional -> if_statement else_statement .)
- ) reduce using rule 130 (conditional -> if_statement else_statement .)
- SARROW reduce using rule 130 (conditional -> if_statement else_statement .)
- ] reduce using rule 130 (conditional -> if_statement else_statement .)
- HTMLEND reduce using rule 130 (conditional -> if_statement else_statement .)
- EQ_DIV reduce using rule 130 (conditional -> if_statement else_statement .)
- EQ_MOD reduce using rule 130 (conditional -> if_statement else_statement .)
- EQ_MUL reduce using rule 130 (conditional -> if_statement else_statement .)
- EQ_SUB reduce using rule 130 (conditional -> if_statement else_statement .)
- EQ_ADD reduce using rule 130 (conditional -> if_statement else_statement .)
- = reduce using rule 130 (conditional -> if_statement else_statement .)
- AS reduce using rule 130 (conditional -> if_statement else_statement .)
+ (131) conditional -> if_statement else_statement .
+ ? reduce using rule 131 (conditional -> if_statement else_statement .)
+ ( reduce using rule 131 (conditional -> if_statement else_statement .)
+ ! reduce using rule 131 (conditional -> if_statement else_statement .)
+ + reduce using rule 131 (conditional -> if_statement else_statement .)
+ - reduce using rule 131 (conditional -> if_statement else_statement .)
+ * reduce using rule 131 (conditional -> if_statement else_statement .)
+ & reduce using rule 131 (conditional -> if_statement else_statement .)
+ ID reduce using rule 131 (conditional -> if_statement else_statement .)
+ $ reduce using rule 131 (conditional -> if_statement else_statement .)
+ PHPSTART reduce using rule 131 (conditional -> if_statement else_statement .)
+ LIMPORT reduce using rule 131 (conditional -> if_statement else_statement .)
+ . reduce using rule 131 (conditional -> if_statement else_statement .)
+ IMPORT reduce using rule 131 (conditional -> if_statement else_statement .)
+ RETURN reduce using rule 131 (conditional -> if_statement else_statement .)
+ DEL reduce using rule 131 (conditional -> if_statement else_statement .)
+ FOREACH reduce using rule 131 (conditional -> if_statement else_statement .)
+ FOR reduce using rule 131 (conditional -> if_statement else_statement .)
+ DEBUG reduce using rule 131 (conditional -> if_statement else_statement .)
+ SKIP reduce using rule 131 (conditional -> if_statement else_statement .)
+ BREAK reduce using rule 131 (conditional -> if_statement else_statement .)
+ LET reduce using rule 131 (conditional -> if_statement else_statement .)
+ WHILE reduce using rule 131 (conditional -> if_statement else_statement .)
+ NAMESPACE reduce using rule 131 (conditional -> if_statement else_statement .)
+ CLASS reduce using rule 131 (conditional -> if_statement else_statement .)
+ FUNC reduce using rule 131 (conditional -> if_statement else_statement .)
+ INIT reduce using rule 131 (conditional -> if_statement else_statement .)
+ [ reduce using rule 131 (conditional -> if_statement else_statement .)
+ { reduce using rule 131 (conditional -> if_statement else_statement .)
+ FORMATTED_STRING reduce using rule 131 (conditional -> if_statement else_statement .)
+ MULTILINE_STRING reduce using rule 131 (conditional -> if_statement else_statement .)
+ STRING reduce using rule 131 (conditional -> if_statement else_statement .)
+ CHAR reduce using rule 131 (conditional -> if_statement else_statement .)
+ FALSE reduce using rule 131 (conditional -> if_statement else_statement .)
+ TRUE reduce using rule 131 (conditional -> if_statement else_statement .)
+ FLOAT reduce using rule 131 (conditional -> if_statement else_statement .)
+ INT reduce using rule 131 (conditional -> if_statement else_statement .)
+ NULL reduce using rule 131 (conditional -> if_statement else_statement .)
+ PYTHON_CODE_EXEC reduce using rule 131 (conditional -> if_statement else_statement .)
+ PYTHON_CODE reduce using rule 131 (conditional -> if_statement else_statement .)
+ # reduce using rule 131 (conditional -> if_statement else_statement .)
+ NEW reduce using rule 131 (conditional -> if_statement else_statement .)
+ HTMLSTART reduce using rule 131 (conditional -> if_statement else_statement .)
+ IF reduce using rule 131 (conditional -> if_statement else_statement .)
+ $end reduce using rule 131 (conditional -> if_statement else_statement .)
+ > reduce using rule 131 (conditional -> if_statement else_statement .)
+ < reduce using rule 131 (conditional -> if_statement else_statement .)
+ EQ_GREATER reduce using rule 131 (conditional -> if_statement else_statement .)
+ EQ_LESS reduce using rule 131 (conditional -> if_statement else_statement .)
+ NOT_EQEQ reduce using rule 131 (conditional -> if_statement else_statement .)
+ EQEQ reduce using rule 131 (conditional -> if_statement else_statement .)
+ % reduce using rule 131 (conditional -> if_statement else_statement .)
+ / reduce using rule 131 (conditional -> if_statement else_statement .)
+ COLON_COLON reduce using rule 131 (conditional -> if_statement else_statement .)
+ ^ reduce using rule 131 (conditional -> if_statement else_statement .)
+ ; reduce using rule 131 (conditional -> if_statement else_statement .)
+ | reduce using rule 131 (conditional -> if_statement else_statement .)
+ , reduce using rule 131 (conditional -> if_statement else_statement .)
+ PHPEND reduce using rule 131 (conditional -> if_statement else_statement .)
+ } reduce using rule 131 (conditional -> if_statement else_statement .)
+ ) reduce using rule 131 (conditional -> if_statement else_statement .)
+ SARROW reduce using rule 131 (conditional -> if_statement else_statement .)
+ ] reduce using rule 131 (conditional -> if_statement else_statement .)
+ HTMLEND reduce using rule 131 (conditional -> if_statement else_statement .)
+ EQ_DIV reduce using rule 131 (conditional -> if_statement else_statement .)
+ EQ_MOD reduce using rule 131 (conditional -> if_statement else_statement .)
+ EQ_MUL reduce using rule 131 (conditional -> if_statement else_statement .)
+ EQ_SUB reduce using rule 131 (conditional -> if_statement else_statement .)
+ EQ_ADD reduce using rule 131 (conditional -> if_statement else_statement .)
+ = reduce using rule 131 (conditional -> if_statement else_statement .)
+ AS reduce using rule 131 (conditional -> if_statement else_statement .)
state 158
- (131) conditional -> if_statement else_if_loop . else_statement
- (132) conditional -> if_statement else_if_loop .
- (136) else_if_loop -> else_if_loop . else_if_statement
- (138) else_statement -> . ELSE { program }
- (137) else_if_statement -> . ELSE IF ( expression ) { program }
- ? reduce using rule 132 (conditional -> if_statement else_if_loop .)
- ( reduce using rule 132 (conditional -> if_statement else_if_loop .)
- ! reduce using rule 132 (conditional -> if_statement else_if_loop .)
- + reduce using rule 132 (conditional -> if_statement else_if_loop .)
- - reduce using rule 132 (conditional -> if_statement else_if_loop .)
- * reduce using rule 132 (conditional -> if_statement else_if_loop .)
- & reduce using rule 132 (conditional -> if_statement else_if_loop .)
- ID reduce using rule 132 (conditional -> if_statement else_if_loop .)
- $ reduce using rule 132 (conditional -> if_statement else_if_loop .)
- PHPSTART reduce using rule 132 (conditional -> if_statement else_if_loop .)
- LIMPORT reduce using rule 132 (conditional -> if_statement else_if_loop .)
- . reduce using rule 132 (conditional -> if_statement else_if_loop .)
- IMPORT reduce using rule 132 (conditional -> if_statement else_if_loop .)
- RETURN reduce using rule 132 (conditional -> if_statement else_if_loop .)
- DEL reduce using rule 132 (conditional -> if_statement else_if_loop .)
- FOREACH reduce using rule 132 (conditional -> if_statement else_if_loop .)
- FOR reduce using rule 132 (conditional -> if_statement else_if_loop .)
- DEBUG reduce using rule 132 (conditional -> if_statement else_if_loop .)
- SKIP reduce using rule 132 (conditional -> if_statement else_if_loop .)
- BREAK reduce using rule 132 (conditional -> if_statement else_if_loop .)
- LET reduce using rule 132 (conditional -> if_statement else_if_loop .)
- WHILE reduce using rule 132 (conditional -> if_statement else_if_loop .)
- NAMESPACE reduce using rule 132 (conditional -> if_statement else_if_loop .)
- CLASS reduce using rule 132 (conditional -> if_statement else_if_loop .)
- FUNC reduce using rule 132 (conditional -> if_statement else_if_loop .)
- INIT reduce using rule 132 (conditional -> if_statement else_if_loop .)
- [ reduce using rule 132 (conditional -> if_statement else_if_loop .)
- { reduce using rule 132 (conditional -> if_statement else_if_loop .)
- FORMATTED_STRING reduce using rule 132 (conditional -> if_statement else_if_loop .)
- MULTILINE_STRING reduce using rule 132 (conditional -> if_statement else_if_loop .)
- STRING reduce using rule 132 (conditional -> if_statement else_if_loop .)
- CHAR reduce using rule 132 (conditional -> if_statement else_if_loop .)
- FALSE reduce using rule 132 (conditional -> if_statement else_if_loop .)
- TRUE reduce using rule 132 (conditional -> if_statement else_if_loop .)
- FLOAT reduce using rule 132 (conditional -> if_statement else_if_loop .)
- INT reduce using rule 132 (conditional -> if_statement else_if_loop .)
- NULL reduce using rule 132 (conditional -> if_statement else_if_loop .)
- PYTHON_CODE_EXEC reduce using rule 132 (conditional -> if_statement else_if_loop .)
- PYTHON_CODE reduce using rule 132 (conditional -> if_statement else_if_loop .)
- # reduce using rule 132 (conditional -> if_statement else_if_loop .)
- NEW reduce using rule 132 (conditional -> if_statement else_if_loop .)
- HTMLSTART reduce using rule 132 (conditional -> if_statement else_if_loop .)
- IF reduce using rule 132 (conditional -> if_statement else_if_loop .)
- $end reduce using rule 132 (conditional -> if_statement else_if_loop .)
- > reduce using rule 132 (conditional -> if_statement else_if_loop .)
- < reduce using rule 132 (conditional -> if_statement else_if_loop .)
- EQ_GREATER reduce using rule 132 (conditional -> if_statement else_if_loop .)
- EQ_LESS reduce using rule 132 (conditional -> if_statement else_if_loop .)
- NOT_EQEQ reduce using rule 132 (conditional -> if_statement else_if_loop .)
- EQEQ reduce using rule 132 (conditional -> if_statement else_if_loop .)
- % reduce using rule 132 (conditional -> if_statement else_if_loop .)
- / reduce using rule 132 (conditional -> if_statement else_if_loop .)
- COLON_COLON reduce using rule 132 (conditional -> if_statement else_if_loop .)
- ^ reduce using rule 132 (conditional -> if_statement else_if_loop .)
- ; reduce using rule 132 (conditional -> if_statement else_if_loop .)
- | reduce using rule 132 (conditional -> if_statement else_if_loop .)
- , reduce using rule 132 (conditional -> if_statement else_if_loop .)
- PHPEND reduce using rule 132 (conditional -> if_statement else_if_loop .)
- } reduce using rule 132 (conditional -> if_statement else_if_loop .)
- ) reduce using rule 132 (conditional -> if_statement else_if_loop .)
- SARROW reduce using rule 132 (conditional -> if_statement else_if_loop .)
- ] reduce using rule 132 (conditional -> if_statement else_if_loop .)
- HTMLEND reduce using rule 132 (conditional -> if_statement else_if_loop .)
- EQ_DIV reduce using rule 132 (conditional -> if_statement else_if_loop .)
- EQ_MOD reduce using rule 132 (conditional -> if_statement else_if_loop .)
- EQ_MUL reduce using rule 132 (conditional -> if_statement else_if_loop .)
- EQ_SUB reduce using rule 132 (conditional -> if_statement else_if_loop .)
- EQ_ADD reduce using rule 132 (conditional -> if_statement else_if_loop .)
- = reduce using rule 132 (conditional -> if_statement else_if_loop .)
- AS reduce using rule 132 (conditional -> if_statement else_if_loop .)
+ (132) conditional -> if_statement else_if_loop . else_statement
+ (133) conditional -> if_statement else_if_loop .
+ (137) else_if_loop -> else_if_loop . else_if_statement
+ (139) else_statement -> . ELSE { program }
+ (138) else_if_statement -> . ELSE IF ( expression ) { program }
+ ? reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ ( reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ ! reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ + reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ - reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ * reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ & reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ ID reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ $ reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ PHPSTART reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ LIMPORT reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ . reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ IMPORT reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ RETURN reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ DEL reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ FOREACH reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ FOR reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ DEBUG reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ SKIP reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ BREAK reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ LET reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ WHILE reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ NAMESPACE reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ CLASS reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ FUNC reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ INIT reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ [ reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ { reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ FORMATTED_STRING reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ MULTILINE_STRING reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ STRING reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ CHAR reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ FALSE reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ TRUE reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ FLOAT reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ INT reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ NULL reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ PYTHON_CODE_EXEC reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ PYTHON_CODE reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ # reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ NEW reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ HTMLSTART reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ IF reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ $end reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ > reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ < reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ EQ_GREATER reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ EQ_LESS reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ NOT_EQEQ reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ EQEQ reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ % reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ / reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ COLON_COLON reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ ^ reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ ; reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ | reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ , reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ PHPEND reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ } reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ ) reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ SARROW reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ ] reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ HTMLEND reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ EQ_DIV reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ EQ_MOD reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ EQ_MUL reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ EQ_SUB reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ EQ_ADD reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ = reduce using rule 133 (conditional -> if_statement else_if_loop .)
+ AS reduce using rule 133 (conditional -> if_statement else_if_loop .)
ELSE shift and go to state 159
else_statement shift and go to state 244
@@ -14927,86 +14935,86 @@ state 158
state 159
- (138) else_statement -> ELSE . { program }
- (137) else_if_statement -> ELSE . IF ( expression ) { program }
+ (139) else_statement -> ELSE . { program }
+ (138) else_if_statement -> ELSE . IF ( expression ) { program }
{ shift and go to state 246
IF shift and go to state 247
state 160
- (135) else_if_loop -> else_if_statement .
- ELSE reduce using rule 135 (else_if_loop -> else_if_statement .)
- ? reduce using rule 135 (else_if_loop -> else_if_statement .)
- ( reduce using rule 135 (else_if_loop -> else_if_statement .)
- ! reduce using rule 135 (else_if_loop -> else_if_statement .)
- + reduce using rule 135 (else_if_loop -> else_if_statement .)
- - reduce using rule 135 (else_if_loop -> else_if_statement .)
- * reduce using rule 135 (else_if_loop -> else_if_statement .)
- & reduce using rule 135 (else_if_loop -> else_if_statement .)
- ID reduce using rule 135 (else_if_loop -> else_if_statement .)
- $ reduce using rule 135 (else_if_loop -> else_if_statement .)
- PHPSTART reduce using rule 135 (else_if_loop -> else_if_statement .)
- LIMPORT reduce using rule 135 (else_if_loop -> else_if_statement .)
- . reduce using rule 135 (else_if_loop -> else_if_statement .)
- IMPORT reduce using rule 135 (else_if_loop -> else_if_statement .)
- RETURN reduce using rule 135 (else_if_loop -> else_if_statement .)
- DEL reduce using rule 135 (else_if_loop -> else_if_statement .)
- FOREACH reduce using rule 135 (else_if_loop -> else_if_statement .)
- FOR reduce using rule 135 (else_if_loop -> else_if_statement .)
- DEBUG reduce using rule 135 (else_if_loop -> else_if_statement .)
- SKIP reduce using rule 135 (else_if_loop -> else_if_statement .)
- BREAK reduce using rule 135 (else_if_loop -> else_if_statement .)
- LET reduce using rule 135 (else_if_loop -> else_if_statement .)
- WHILE reduce using rule 135 (else_if_loop -> else_if_statement .)
- NAMESPACE reduce using rule 135 (else_if_loop -> else_if_statement .)
- CLASS reduce using rule 135 (else_if_loop -> else_if_statement .)
- FUNC reduce using rule 135 (else_if_loop -> else_if_statement .)
- INIT reduce using rule 135 (else_if_loop -> else_if_statement .)
- [ reduce using rule 135 (else_if_loop -> else_if_statement .)
- { reduce using rule 135 (else_if_loop -> else_if_statement .)
- FORMATTED_STRING reduce using rule 135 (else_if_loop -> else_if_statement .)
- MULTILINE_STRING reduce using rule 135 (else_if_loop -> else_if_statement .)
- STRING reduce using rule 135 (else_if_loop -> else_if_statement .)
- CHAR reduce using rule 135 (else_if_loop -> else_if_statement .)
- FALSE reduce using rule 135 (else_if_loop -> else_if_statement .)
- TRUE reduce using rule 135 (else_if_loop -> else_if_statement .)
- FLOAT reduce using rule 135 (else_if_loop -> else_if_statement .)
- INT reduce using rule 135 (else_if_loop -> else_if_statement .)
- NULL reduce using rule 135 (else_if_loop -> else_if_statement .)
- PYTHON_CODE_EXEC reduce using rule 135 (else_if_loop -> else_if_statement .)
- PYTHON_CODE reduce using rule 135 (else_if_loop -> else_if_statement .)
- # reduce using rule 135 (else_if_loop -> else_if_statement .)
- NEW reduce using rule 135 (else_if_loop -> else_if_statement .)
- HTMLSTART reduce using rule 135 (else_if_loop -> else_if_statement .)
- IF reduce using rule 135 (else_if_loop -> else_if_statement .)
- $end reduce using rule 135 (else_if_loop -> else_if_statement .)
- > reduce using rule 135 (else_if_loop -> else_if_statement .)
- < reduce using rule 135 (else_if_loop -> else_if_statement .)
- EQ_GREATER reduce using rule 135 (else_if_loop -> else_if_statement .)
- EQ_LESS reduce using rule 135 (else_if_loop -> else_if_statement .)
- NOT_EQEQ reduce using rule 135 (else_if_loop -> else_if_statement .)
- EQEQ reduce using rule 135 (else_if_loop -> else_if_statement .)
- % reduce using rule 135 (else_if_loop -> else_if_statement .)
- / reduce using rule 135 (else_if_loop -> else_if_statement .)
- COLON_COLON reduce using rule 135 (else_if_loop -> else_if_statement .)
- ^ reduce using rule 135 (else_if_loop -> else_if_statement .)
- ; reduce using rule 135 (else_if_loop -> else_if_statement .)
- | reduce using rule 135 (else_if_loop -> else_if_statement .)
- , reduce using rule 135 (else_if_loop -> else_if_statement .)
- PHPEND reduce using rule 135 (else_if_loop -> else_if_statement .)
- } reduce using rule 135 (else_if_loop -> else_if_statement .)
- ) reduce using rule 135 (else_if_loop -> else_if_statement .)
- SARROW reduce using rule 135 (else_if_loop -> else_if_statement .)
- ] reduce using rule 135 (else_if_loop -> else_if_statement .)
- HTMLEND reduce using rule 135 (else_if_loop -> else_if_statement .)
- EQ_DIV reduce using rule 135 (else_if_loop -> else_if_statement .)
- EQ_MOD reduce using rule 135 (else_if_loop -> else_if_statement .)
- EQ_MUL reduce using rule 135 (else_if_loop -> else_if_statement .)
- EQ_SUB reduce using rule 135 (else_if_loop -> else_if_statement .)
- EQ_ADD reduce using rule 135 (else_if_loop -> else_if_statement .)
- = reduce using rule 135 (else_if_loop -> else_if_statement .)
- AS reduce using rule 135 (else_if_loop -> else_if_statement .)
+ (136) else_if_loop -> else_if_statement .
+ ELSE reduce using rule 136 (else_if_loop -> else_if_statement .)
+ ? reduce using rule 136 (else_if_loop -> else_if_statement .)
+ ( reduce using rule 136 (else_if_loop -> else_if_statement .)
+ ! reduce using rule 136 (else_if_loop -> else_if_statement .)
+ + reduce using rule 136 (else_if_loop -> else_if_statement .)
+ - reduce using rule 136 (else_if_loop -> else_if_statement .)
+ * reduce using rule 136 (else_if_loop -> else_if_statement .)
+ & reduce using rule 136 (else_if_loop -> else_if_statement .)
+ ID reduce using rule 136 (else_if_loop -> else_if_statement .)
+ $ reduce using rule 136 (else_if_loop -> else_if_statement .)
+ PHPSTART reduce using rule 136 (else_if_loop -> else_if_statement .)
+ LIMPORT reduce using rule 136 (else_if_loop -> else_if_statement .)
+ . reduce using rule 136 (else_if_loop -> else_if_statement .)
+ IMPORT reduce using rule 136 (else_if_loop -> else_if_statement .)
+ RETURN reduce using rule 136 (else_if_loop -> else_if_statement .)
+ DEL reduce using rule 136 (else_if_loop -> else_if_statement .)
+ FOREACH reduce using rule 136 (else_if_loop -> else_if_statement .)
+ FOR reduce using rule 136 (else_if_loop -> else_if_statement .)
+ DEBUG reduce using rule 136 (else_if_loop -> else_if_statement .)
+ SKIP reduce using rule 136 (else_if_loop -> else_if_statement .)
+ BREAK reduce using rule 136 (else_if_loop -> else_if_statement .)
+ LET reduce using rule 136 (else_if_loop -> else_if_statement .)
+ WHILE reduce using rule 136 (else_if_loop -> else_if_statement .)
+ NAMESPACE reduce using rule 136 (else_if_loop -> else_if_statement .)
+ CLASS reduce using rule 136 (else_if_loop -> else_if_statement .)
+ FUNC reduce using rule 136 (else_if_loop -> else_if_statement .)
+ INIT reduce using rule 136 (else_if_loop -> else_if_statement .)
+ [ reduce using rule 136 (else_if_loop -> else_if_statement .)
+ { reduce using rule 136 (else_if_loop -> else_if_statement .)
+ FORMATTED_STRING reduce using rule 136 (else_if_loop -> else_if_statement .)
+ MULTILINE_STRING reduce using rule 136 (else_if_loop -> else_if_statement .)
+ STRING reduce using rule 136 (else_if_loop -> else_if_statement .)
+ CHAR reduce using rule 136 (else_if_loop -> else_if_statement .)
+ FALSE reduce using rule 136 (else_if_loop -> else_if_statement .)
+ TRUE reduce using rule 136 (else_if_loop -> else_if_statement .)
+ FLOAT reduce using rule 136 (else_if_loop -> else_if_statement .)
+ INT reduce using rule 136 (else_if_loop -> else_if_statement .)
+ NULL reduce using rule 136 (else_if_loop -> else_if_statement .)
+ PYTHON_CODE_EXEC reduce using rule 136 (else_if_loop -> else_if_statement .)
+ PYTHON_CODE reduce using rule 136 (else_if_loop -> else_if_statement .)
+ # reduce using rule 136 (else_if_loop -> else_if_statement .)
+ NEW reduce using rule 136 (else_if_loop -> else_if_statement .)
+ HTMLSTART reduce using rule 136 (else_if_loop -> else_if_statement .)
+ IF reduce using rule 136 (else_if_loop -> else_if_statement .)
+ $end reduce using rule 136 (else_if_loop -> else_if_statement .)
+ > reduce using rule 136 (else_if_loop -> else_if_statement .)
+ < reduce using rule 136 (else_if_loop -> else_if_statement .)
+ EQ_GREATER reduce using rule 136 (else_if_loop -> else_if_statement .)
+ EQ_LESS reduce using rule 136 (else_if_loop -> else_if_statement .)
+ NOT_EQEQ reduce using rule 136 (else_if_loop -> else_if_statement .)
+ EQEQ reduce using rule 136 (else_if_loop -> else_if_statement .)
+ % reduce using rule 136 (else_if_loop -> else_if_statement .)
+ / reduce using rule 136 (else_if_loop -> else_if_statement .)
+ COLON_COLON reduce using rule 136 (else_if_loop -> else_if_statement .)
+ ^ reduce using rule 136 (else_if_loop -> else_if_statement .)
+ ; reduce using rule 136 (else_if_loop -> else_if_statement .)
+ | reduce using rule 136 (else_if_loop -> else_if_statement .)
+ , reduce using rule 136 (else_if_loop -> else_if_statement .)
+ PHPEND reduce using rule 136 (else_if_loop -> else_if_statement .)
+ } reduce using rule 136 (else_if_loop -> else_if_statement .)
+ ) reduce using rule 136 (else_if_loop -> else_if_statement .)
+ SARROW reduce using rule 136 (else_if_loop -> else_if_statement .)
+ ] reduce using rule 136 (else_if_loop -> else_if_statement .)
+ HTMLEND reduce using rule 136 (else_if_loop -> else_if_statement .)
+ EQ_DIV reduce using rule 136 (else_if_loop -> else_if_statement .)
+ EQ_MOD reduce using rule 136 (else_if_loop -> else_if_statement .)
+ EQ_MUL reduce using rule 136 (else_if_loop -> else_if_statement .)
+ EQ_SUB reduce using rule 136 (else_if_loop -> else_if_statement .)
+ EQ_ADD reduce using rule 136 (else_if_loop -> else_if_statement .)
+ = reduce using rule 136 (else_if_loop -> else_if_statement .)
+ AS reduce using rule 136 (else_if_loop -> else_if_statement .)
state 161
@@ -15021,32 +15029,68 @@ state 162
(107) class_declaration -> CLASS ID . EXTENDS ID { program }
(108) class_declaration -> CLASS ID . { program }
+ (109) class_declaration -> CLASS ID . [ positional_args ] { program }
EXTENDS shift and go to state 250
{ shift and go to state 251
+ [ shift and go to state 252
state 163
- (91) function_declaration -> FUNC ID . COLON_COLON ID ( empty ) { program } TARROW expression
- (92) function_declaration -> FUNC ID . COLON_COLON ID ( function_arguments ) { program } TARROW expression
- (98) function_declaration -> FUNC ID . ( empty ) { program }
- (99) function_declaration -> FUNC ID . ( empty ) : expression { program }
- (100) function_declaration -> FUNC ID . ( function_arguments ) { program }
- (101) function_declaration -> FUNC ID . ( function_arguments ) : expression { program }
- COLON_COLON shift and go to state 252
- ( shift and go to state 253
+ (145) assoc_array -> [ assoc_array_items . ]
+ (149) assoc_array_items -> assoc_array_items . , expression SARROW expression
+ ] shift and go to state 253
+ , shift and go to state 254
state 164
- (93) function_declaration -> INIT ( . function_arguments ) { program } ;
+ (147) assoc_array -> [ empty . ]
+ ] shift and go to state 255
+
+
+state 165
+
+ (154) _list -> [ positional_args . , ]
+ (155) _list -> [ positional_args . ]
+ (114) positional_args -> positional_args . , expression
+ , shift and go to state 256
+ ] shift and go to state 257
+
+
+state 166
+
+ (148) assoc_array_items -> expression . SARROW expression
+ (113) positional_args -> expression .
+ (33) expression -> expression . > expression
+ (34) expression -> expression . < expression
+ (38) expression -> expression . & expression
+ (40) expression -> expression . EQ_GREATER expression
+ (41) expression -> expression . EQ_LESS expression
+ (42) expression -> expression . NOT_EQEQ expression
+ (43) expression -> expression . EQEQ expression
+ (44) expression -> expression . % expression
+ (45) expression -> expression . * expression
+ (46) expression -> expression . / expression
+ (47) expression -> expression . - expression
+ (48) expression -> expression . + expression
+ (54) expression -> expression . . expression
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
+ (73) function_call -> expression . ( empty ) FARROW { program }
+ (80) function_call -> expression . ( empty )
+ (87) function_call -> expression . ( function_arguments ) FARROW { program }
+ (88) function_call -> expression . $ ID = expression ;
+ (89) function_call -> expression . ( function_arguments )
+ (90) function_call -> expression . function_arguments
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -15085,28 +15129,28 @@ state 164
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -15131,22 +15175,36 @@ state 164
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ SARROW shift and go to state 258
+ , reduce using rule 113 (positional_args -> expression .)
+ ] reduce using rule 113 (positional_args -> expression .)
+ > shift and go to state 90
+ < shift and go to state 91
+ & shift and go to state 92
+ EQ_GREATER shift and go to state 93
+ EQ_LESS shift and go to state 94
+ NOT_EQEQ shift and go to state 95
+ EQEQ shift and go to state 96
+ % shift and go to state 97
+ * shift and go to state 98
+ / shift and go to state 99
+ - shift and go to state 100
+ + shift and go to state 101
+ . shift and go to state 102
+ COLON_COLON shift and go to state 103
+ ^ shift and go to state 105
+ [ shift and go to state 106
+ ( shift and go to state 107
+ $ shift and go to state 109
ID shift and go to state 104
- ( shift and go to state 32
! shift and go to state 33
- + shift and go to state 34
- - shift and go to state 35
- * shift and go to state 38
- & shift and go to state 36
- $ shift and go to state 85
- [ shift and go to state 61
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -15159,7 +15217,6 @@ state 164
NULL shift and go to state 70
PYTHON_CODE_EXEC shift and go to state 71
PYTHON_CODE shift and go to state 72
- . shift and go to state 86
# shift and go to state 73
NEW shift and go to state 74
? shift and go to state 78
@@ -15168,10 +15225,10 @@ state 164
FOR shift and go to state 50
IF shift and go to state 76
- function_arguments shift and go to state 254
+ expression shift and go to state 89
+ function_arguments shift and go to state 108
kwargs shift and go to state 110
positional_args shift and go to state 111
- expression shift and go to state 89
id shift and go to state 24
assoc_array shift and go to state 20
_list shift and go to state 21
@@ -15190,62 +15247,28 @@ state 164
conditional shift and go to state 88
if_statement shift and go to state 56
-state 165
-
- (144) assoc_array -> [ assoc_array_items . ]
- (148) assoc_array_items -> assoc_array_items . , expression SARROW expression
- ] shift and go to state 255
- , shift and go to state 256
-
-
-state 166
-
- (146) assoc_array -> [ empty . ]
- ] shift and go to state 257
-
-
state 167
- (153) _list -> [ positional_args . , ]
- (154) _list -> [ positional_args . ]
- (113) positional_args -> positional_args . , expression
- , shift and go to state 258
- ] shift and go to state 259
+ (91) function_declaration -> FUNC ID . COLON_COLON ID ( empty ) { program } TARROW expression
+ (92) function_declaration -> FUNC ID . COLON_COLON ID ( function_arguments ) { program } TARROW expression
+ (98) function_declaration -> FUNC ID . ( empty ) { program }
+ (99) function_declaration -> FUNC ID . ( empty ) : expression { program }
+ (100) function_declaration -> FUNC ID . ( function_arguments ) { program }
+ (101) function_declaration -> FUNC ID . ( function_arguments ) : expression { program }
+ COLON_COLON shift and go to state 259
+ ( shift and go to state 260
state 168
- (147) assoc_array_items -> expression . SARROW expression
- (112) positional_args -> expression .
- (33) expression -> expression . > expression
- (34) expression -> expression . < expression
- (38) expression -> expression . & expression
- (40) expression -> expression . EQ_GREATER expression
- (41) expression -> expression . EQ_LESS expression
- (42) expression -> expression . NOT_EQEQ expression
- (43) expression -> expression . EQEQ expression
- (44) expression -> expression . % expression
- (45) expression -> expression . * expression
- (46) expression -> expression . / expression
- (47) expression -> expression . - expression
- (48) expression -> expression . + expression
- (54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
- (73) function_call -> expression . ( empty ) FARROW { program }
- (80) function_call -> expression . ( empty )
- (87) function_call -> expression . ( function_arguments ) FARROW { program }
- (88) function_call -> expression . $ ID = expression ;
- (89) function_call -> expression . ( function_arguments )
- (90) function_call -> expression . function_arguments
+ (93) function_declaration -> INIT ( . function_arguments ) { program } ;
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -15284,28 +15307,28 @@ state 168
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -15330,36 +15353,22 @@ state 168
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- SARROW shift and go to state 260
- , reduce using rule 112 (positional_args -> expression .)
- ] reduce using rule 112 (positional_args -> expression .)
- > shift and go to state 90
- < shift and go to state 91
- & shift and go to state 92
- EQ_GREATER shift and go to state 93
- EQ_LESS shift and go to state 94
- NOT_EQEQ shift and go to state 95
- EQEQ shift and go to state 96
- % shift and go to state 97
- * shift and go to state 98
- / shift and go to state 99
- - shift and go to state 100
- + shift and go to state 101
- . shift and go to state 102
- COLON_COLON shift and go to state 103
- ^ shift and go to state 105
- [ shift and go to state 106
- ( shift and go to state 107
- $ shift and go to state 109
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
ID shift and go to state 104
+ ( shift and go to state 32
! shift and go to state 33
+ + shift and go to state 34
+ - shift and go to state 35
+ * shift and go to state 38
+ & shift and go to state 36
+ $ shift and go to state 85
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -15372,6 +15381,7 @@ state 168
NULL shift and go to state 70
PYTHON_CODE_EXEC shift and go to state 71
PYTHON_CODE shift and go to state 72
+ . shift and go to state 86
# shift and go to state 73
NEW shift and go to state 74
? shift and go to state 78
@@ -15380,10 +15390,10 @@ state 168
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 89
- function_arguments shift and go to state 108
+ function_arguments shift and go to state 261
kwargs shift and go to state 110
positional_args shift and go to state 111
+ expression shift and go to state 89
id shift and go to state 24
assoc_array shift and go to state 20
_list shift and go to state 21
@@ -15443,28 +15453,28 @@ state 169
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -15489,13 +15499,13 @@ state 169
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -15504,7 +15514,7 @@ state 169
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -15526,7 +15536,7 @@ state 169
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 261
+ expression shift and go to state 262
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -15586,28 +15596,28 @@ state 170
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -15632,13 +15642,13 @@ state 170
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -15647,7 +15657,7 @@ state 170
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -15669,7 +15679,7 @@ state 170
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 262
+ expression shift and go to state 263
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -15705,9 +15715,9 @@ state 171
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -15717,10 +15727,10 @@ state 171
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -15759,28 +15769,28 @@ state 171
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -15805,14 +15815,14 @@ state 171
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ( shift and go to state 263
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ( shift and go to state 264
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -15877,7 +15887,7 @@ state 171
state 172
(62) html_full -> HTMLSTART empty . HTMLEND
- HTMLEND shift and go to state 264
+ HTMLEND shift and go to state 265
state 173
@@ -15896,9 +15906,9 @@ state 173
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -15908,10 +15918,10 @@ state 173
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -15950,28 +15960,28 @@ state 173
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -15996,14 +16006,14 @@ state 173
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- HTMLEND shift and go to state 265
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ HTMLEND shift and go to state 266
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -16068,7 +16078,7 @@ state 173
state 174
- (134) if_statement -> IF ( . expression ) { program }
+ (135) if_statement -> IF ( . expression ) { program }
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -16107,28 +16117,28 @@ state 174
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -16153,13 +16163,13 @@ state 174
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -16168,7 +16178,7 @@ state 174
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -16190,7 +16200,7 @@ state 174
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 266
+ expression shift and go to state 267
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -16276,9 +16286,9 @@ state 176
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -16288,10 +16298,10 @@ state 176
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -16330,28 +16340,28 @@ state 176
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -16376,13 +16386,13 @@ state 176
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
! shift/reduce conflict for > resolved as shift
! shift/reduce conflict for < resolved as shift
! shift/reduce conflict for & resolved as shift
@@ -16520,7 +16530,7 @@ state 177
(85) function_call -> $ ID . TARROW ID ( empty )
(86) function_call -> $ ID . TARROW ID ( function_arguments )
(52) expression -> ID . OF ID
- (166) id -> ID .
+ (167) id -> ID .
(74) function_call -> ID . TARROW ID ( function_arguments )
(75) function_call -> ID . \ ID
(76) function_call -> ID . / ID
@@ -16529,76 +16539,76 @@ state 177
(84) function_call -> ID . COLON_COLON ID ( function_arguments )
! shift/reduce conflict for / resolved as shift
! shift/reduce conflict for COLON_COLON resolved as shift
- TARROW shift and go to state 267
+ TARROW shift and go to state 268
OF shift and go to state 126
- > reduce using rule 166 (id -> ID .)
- < reduce using rule 166 (id -> ID .)
- & reduce using rule 166 (id -> ID .)
- EQ_GREATER reduce using rule 166 (id -> ID .)
- EQ_LESS reduce using rule 166 (id -> ID .)
- NOT_EQEQ reduce using rule 166 (id -> ID .)
- EQEQ reduce using rule 166 (id -> ID .)
- % reduce using rule 166 (id -> ID .)
- * reduce using rule 166 (id -> ID .)
- - reduce using rule 166 (id -> ID .)
- + reduce using rule 166 (id -> ID .)
- . reduce using rule 166 (id -> ID .)
- ^ reduce using rule 166 (id -> ID .)
- [ reduce using rule 166 (id -> ID .)
- ( reduce using rule 166 (id -> ID .)
- $ reduce using rule 166 (id -> ID .)
- ID reduce using rule 166 (id -> ID .)
- ! reduce using rule 166 (id -> ID .)
- { reduce using rule 166 (id -> ID .)
- FORMATTED_STRING reduce using rule 166 (id -> ID .)
- MULTILINE_STRING reduce using rule 166 (id -> ID .)
- STRING reduce using rule 166 (id -> ID .)
- CHAR reduce using rule 166 (id -> ID .)
- FALSE reduce using rule 166 (id -> ID .)
- TRUE reduce using rule 166 (id -> ID .)
- FLOAT reduce using rule 166 (id -> ID .)
- INT reduce using rule 166 (id -> ID .)
- NULL reduce using rule 166 (id -> ID .)
- PYTHON_CODE_EXEC reduce using rule 166 (id -> ID .)
- PYTHON_CODE reduce using rule 166 (id -> ID .)
- # reduce using rule 166 (id -> ID .)
- NEW reduce using rule 166 (id -> ID .)
- ? reduce using rule 166 (id -> ID .)
- HTMLSTART reduce using rule 166 (id -> ID .)
- FOREACH reduce using rule 166 (id -> ID .)
- FOR reduce using rule 166 (id -> ID .)
- IF reduce using rule 166 (id -> ID .)
- PHPSTART reduce using rule 166 (id -> ID .)
- LIMPORT reduce using rule 166 (id -> ID .)
- IMPORT reduce using rule 166 (id -> ID .)
- RETURN reduce using rule 166 (id -> ID .)
- DEL reduce using rule 166 (id -> ID .)
- DEBUG reduce using rule 166 (id -> ID .)
- SKIP reduce using rule 166 (id -> ID .)
- BREAK reduce using rule 166 (id -> ID .)
- LET reduce using rule 166 (id -> ID .)
- WHILE reduce using rule 166 (id -> ID .)
- NAMESPACE reduce using rule 166 (id -> ID .)
- CLASS reduce using rule 166 (id -> ID .)
- FUNC reduce using rule 166 (id -> ID .)
- INIT reduce using rule 166 (id -> ID .)
- $end reduce using rule 166 (id -> ID .)
- ; reduce using rule 166 (id -> ID .)
- | reduce using rule 166 (id -> ID .)
- , reduce using rule 166 (id -> ID .)
- PHPEND reduce using rule 166 (id -> ID .)
- } reduce using rule 166 (id -> ID .)
- ) reduce using rule 166 (id -> ID .)
- SARROW reduce using rule 166 (id -> ID .)
- ] reduce using rule 166 (id -> ID .)
- HTMLEND reduce using rule 166 (id -> ID .)
- EQ_DIV reduce using rule 166 (id -> ID .)
- EQ_MOD reduce using rule 166 (id -> ID .)
- EQ_MUL reduce using rule 166 (id -> ID .)
- EQ_SUB reduce using rule 166 (id -> ID .)
- EQ_ADD reduce using rule 166 (id -> ID .)
- = reduce using rule 166 (id -> ID .)
- AS reduce using rule 166 (id -> ID .)
+ > reduce using rule 167 (id -> ID .)
+ < reduce using rule 167 (id -> ID .)
+ & reduce using rule 167 (id -> ID .)
+ EQ_GREATER reduce using rule 167 (id -> ID .)
+ EQ_LESS reduce using rule 167 (id -> ID .)
+ NOT_EQEQ reduce using rule 167 (id -> ID .)
+ EQEQ reduce using rule 167 (id -> ID .)
+ % reduce using rule 167 (id -> ID .)
+ * reduce using rule 167 (id -> ID .)
+ - reduce using rule 167 (id -> ID .)
+ + reduce using rule 167 (id -> ID .)
+ . reduce using rule 167 (id -> ID .)
+ ^ reduce using rule 167 (id -> ID .)
+ [ reduce using rule 167 (id -> ID .)
+ ( reduce using rule 167 (id -> ID .)
+ $ reduce using rule 167 (id -> ID .)
+ ID reduce using rule 167 (id -> ID .)
+ ! reduce using rule 167 (id -> ID .)
+ { reduce using rule 167 (id -> ID .)
+ FORMATTED_STRING reduce using rule 167 (id -> ID .)
+ MULTILINE_STRING reduce using rule 167 (id -> ID .)
+ STRING reduce using rule 167 (id -> ID .)
+ CHAR reduce using rule 167 (id -> ID .)
+ FALSE reduce using rule 167 (id -> ID .)
+ TRUE reduce using rule 167 (id -> ID .)
+ FLOAT reduce using rule 167 (id -> ID .)
+ INT reduce using rule 167 (id -> ID .)
+ NULL reduce using rule 167 (id -> ID .)
+ PYTHON_CODE_EXEC reduce using rule 167 (id -> ID .)
+ PYTHON_CODE reduce using rule 167 (id -> ID .)
+ # reduce using rule 167 (id -> ID .)
+ NEW reduce using rule 167 (id -> ID .)
+ ? reduce using rule 167 (id -> ID .)
+ HTMLSTART reduce using rule 167 (id -> ID .)
+ FOREACH reduce using rule 167 (id -> ID .)
+ FOR reduce using rule 167 (id -> ID .)
+ IF reduce using rule 167 (id -> ID .)
+ PHPSTART reduce using rule 167 (id -> ID .)
+ LIMPORT reduce using rule 167 (id -> ID .)
+ IMPORT reduce using rule 167 (id -> ID .)
+ RETURN reduce using rule 167 (id -> ID .)
+ DEL reduce using rule 167 (id -> ID .)
+ DEBUG reduce using rule 167 (id -> ID .)
+ SKIP reduce using rule 167 (id -> ID .)
+ BREAK reduce using rule 167 (id -> ID .)
+ LET reduce using rule 167 (id -> ID .)
+ WHILE reduce using rule 167 (id -> ID .)
+ NAMESPACE reduce using rule 167 (id -> ID .)
+ CLASS reduce using rule 167 (id -> ID .)
+ FUNC reduce using rule 167 (id -> ID .)
+ INIT reduce using rule 167 (id -> ID .)
+ $end reduce using rule 167 (id -> ID .)
+ ; reduce using rule 167 (id -> ID .)
+ | reduce using rule 167 (id -> ID .)
+ , reduce using rule 167 (id -> ID .)
+ PHPEND reduce using rule 167 (id -> ID .)
+ } reduce using rule 167 (id -> ID .)
+ ) reduce using rule 167 (id -> ID .)
+ SARROW reduce using rule 167 (id -> ID .)
+ ] reduce using rule 167 (id -> ID .)
+ HTMLEND reduce using rule 167 (id -> ID .)
+ EQ_DIV reduce using rule 167 (id -> ID .)
+ EQ_MOD reduce using rule 167 (id -> ID .)
+ EQ_MUL reduce using rule 167 (id -> ID .)
+ EQ_SUB reduce using rule 167 (id -> ID .)
+ EQ_ADD reduce using rule 167 (id -> ID .)
+ = reduce using rule 167 (id -> ID .)
+ AS reduce using rule 167 (id -> ID .)
\ shift and go to state 134
/ shift and go to state 135
COLON_COLON shift and go to state 136
@@ -16620,9 +16630,9 @@ state 178
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -16632,10 +16642,10 @@ state 178
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -16674,28 +16684,28 @@ state 178
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -16720,13 +16730,13 @@ state 178
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
> reduce using rule 33 (expression -> expression > expression .)
< reduce using rule 33 (expression -> expression > expression .)
& reduce using rule 33 (expression -> expression > expression .)
@@ -16836,9 +16846,9 @@ state 179
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -16848,10 +16858,10 @@ state 179
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -16890,28 +16900,28 @@ state 179
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -16936,13 +16946,13 @@ state 179
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
> reduce using rule 34 (expression -> expression < expression .)
< reduce using rule 34 (expression -> expression < expression .)
& reduce using rule 34 (expression -> expression < expression .)
@@ -17052,9 +17062,9 @@ state 180
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -17064,10 +17074,10 @@ state 180
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -17106,28 +17116,28 @@ state 180
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -17152,13 +17162,13 @@ state 180
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
& reduce using rule 38 (expression -> expression & expression .)
. reduce using rule 38 (expression -> expression & expression .)
^ reduce using rule 38 (expression -> expression & expression .)
@@ -17256,7 +17266,7 @@ state 181
(51) expression -> & ID .
(52) expression -> ID . OF ID
- (166) id -> ID .
+ (167) id -> ID .
(74) function_call -> ID . TARROW ID ( function_arguments )
(75) function_call -> ID . \ ID
(76) function_call -> ID . / ID
@@ -17426,9 +17436,9 @@ state 182
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -17438,10 +17448,10 @@ state 182
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -17480,28 +17490,28 @@ state 182
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -17526,13 +17536,13 @@ state 182
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
> reduce using rule 40 (expression -> expression EQ_GREATER expression .)
< reduce using rule 40 (expression -> expression EQ_GREATER expression .)
& reduce using rule 40 (expression -> expression EQ_GREATER expression .)
@@ -17642,9 +17652,9 @@ state 183
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -17654,10 +17664,10 @@ state 183
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -17696,28 +17706,28 @@ state 183
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -17742,13 +17752,13 @@ state 183
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
> reduce using rule 41 (expression -> expression EQ_LESS expression .)
< reduce using rule 41 (expression -> expression EQ_LESS expression .)
& reduce using rule 41 (expression -> expression EQ_LESS expression .)
@@ -17858,9 +17868,9 @@ state 184
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -17870,10 +17880,10 @@ state 184
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -17912,28 +17922,28 @@ state 184
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -17958,13 +17968,13 @@ state 184
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
& reduce using rule 42 (expression -> expression NOT_EQEQ expression .)
NOT_EQEQ reduce using rule 42 (expression -> expression NOT_EQEQ expression .)
EQEQ reduce using rule 42 (expression -> expression NOT_EQEQ expression .)
@@ -18074,9 +18084,9 @@ state 185
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -18086,10 +18096,10 @@ state 185
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -18128,28 +18138,28 @@ state 185
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -18174,13 +18184,13 @@ state 185
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
& reduce using rule 43 (expression -> expression EQEQ expression .)
NOT_EQEQ reduce using rule 43 (expression -> expression EQEQ expression .)
EQEQ reduce using rule 43 (expression -> expression EQEQ expression .)
@@ -18290,9 +18300,9 @@ state 186
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -18302,10 +18312,10 @@ state 186
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -18344,28 +18354,28 @@ state 186
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -18390,13 +18400,13 @@ state 186
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
> reduce using rule 44 (expression -> expression % expression .)
< reduce using rule 44 (expression -> expression % expression .)
& reduce using rule 44 (expression -> expression % expression .)
@@ -18506,9 +18516,9 @@ state 187
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -18518,10 +18528,10 @@ state 187
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -18560,28 +18570,28 @@ state 187
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -18606,13 +18616,13 @@ state 187
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
> reduce using rule 45 (expression -> expression * expression .)
< reduce using rule 45 (expression -> expression * expression .)
& reduce using rule 45 (expression -> expression * expression .)
@@ -18710,7 +18720,7 @@ state 188
(50) expression -> * ID .
(52) expression -> ID . OF ID
- (166) id -> ID .
+ (167) id -> ID .
(74) function_call -> ID . TARROW ID ( function_arguments )
(75) function_call -> ID . \ ID
(76) function_call -> ID . / ID
@@ -18880,9 +18890,9 @@ state 189
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -18892,10 +18902,10 @@ state 189
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -18934,28 +18944,28 @@ state 189
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -18980,13 +18990,13 @@ state 189
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
> reduce using rule 46 (expression -> expression / expression .)
< reduce using rule 46 (expression -> expression / expression .)
& reduce using rule 46 (expression -> expression / expression .)
@@ -19097,9 +19107,9 @@ state 190
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -19109,10 +19119,10 @@ state 190
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -19151,28 +19161,28 @@ state 190
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -19197,13 +19207,13 @@ state 190
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
! reduce/reduce conflict for | resolved using rule 47 (expression -> expression - expression .)
! reduce/reduce conflict for ; resolved using rule 47 (expression -> expression - expression .)
! reduce/reduce conflict for > resolved using rule 47 (expression -> expression - expression .)
@@ -19384,9 +19394,9 @@ state 191
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -19396,10 +19406,10 @@ state 191
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -19438,28 +19448,28 @@ state 191
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -19484,13 +19494,13 @@ state 191
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
! reduce/reduce conflict for | resolved using rule 48 (expression -> expression + expression .)
! reduce/reduce conflict for ; resolved using rule 48 (expression -> expression + expression .)
! reduce/reduce conflict for > resolved using rule 48 (expression -> expression + expression .)
@@ -19670,9 +19680,9 @@ state 192
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -19682,10 +19692,10 @@ state 192
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -19724,28 +19734,28 @@ state 192
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -19770,13 +19780,13 @@ state 192
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
! shift/reduce conflict for > resolved as shift
! shift/reduce conflict for < resolved as shift
! shift/reduce conflict for & resolved as shift
@@ -19911,82 +19921,82 @@ state 192
state 193
- (165) class_attribute -> expression COLON_COLON ID .
- > reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- < reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- & reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- EQ_GREATER reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- EQ_LESS reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- NOT_EQEQ reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- EQEQ reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- % reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- * reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- / reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- - reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- + reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- . reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- COLON_COLON reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- ^ reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- [ reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- ( reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- $ reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- ID reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- ! reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- { reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- FORMATTED_STRING reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- MULTILINE_STRING reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- STRING reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- CHAR reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- FALSE reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- TRUE reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- FLOAT reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- INT reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- NULL reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- PYTHON_CODE_EXEC reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- PYTHON_CODE reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- # reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- NEW reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- ? reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- HTMLSTART reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- FOREACH reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- FOR reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- IF reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- PHPSTART reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- LIMPORT reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- IMPORT reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- RETURN reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- DEL reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- DEBUG reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- SKIP reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- BREAK reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- LET reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- WHILE reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- NAMESPACE reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- CLASS reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- FUNC reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- INIT reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- $end reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- ; reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- | reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- , reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- PHPEND reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- } reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- ) reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- SARROW reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- ] reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- HTMLEND reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- EQ_DIV reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- EQ_MOD reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- EQ_MUL reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- EQ_SUB reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- EQ_ADD reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- = reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
- AS reduce using rule 165 (class_attribute -> expression COLON_COLON ID .)
+ (166) class_attribute -> expression COLON_COLON ID .
+ > reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ < reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ & reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ EQ_GREATER reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ EQ_LESS reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ NOT_EQEQ reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ EQEQ reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ % reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ * reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ / reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ - reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ + reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ . reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ COLON_COLON reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ ^ reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ [ reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ ( reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ $ reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ ID reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ ! reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ { reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ FORMATTED_STRING reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ MULTILINE_STRING reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ STRING reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ CHAR reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ FALSE reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ TRUE reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ FLOAT reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ INT reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ NULL reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ PYTHON_CODE_EXEC reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ PYTHON_CODE reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ # reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ NEW reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ ? reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ HTMLSTART reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ FOREACH reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ FOR reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ IF reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ PHPSTART reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ LIMPORT reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ IMPORT reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ RETURN reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ DEL reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ DEBUG reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ SKIP reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ BREAK reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ LET reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ WHILE reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ NAMESPACE reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ CLASS reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ FUNC reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ INIT reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ $end reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ ; reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ | reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ , reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ PHPEND reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ } reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ ) reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ SARROW reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ ] reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ HTMLEND reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ EQ_DIV reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ EQ_MOD reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ EQ_MUL reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ EQ_SUB reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ EQ_ADD reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ = reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
+ AS reduce using rule 166 (class_attribute -> expression COLON_COLON ID .)
state 194
- (114) kwargs -> ID = . expression
+ (115) kwargs -> ID = . expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -20025,28 +20035,28 @@ state 194
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -20071,13 +20081,13 @@ state 194
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -20086,7 +20096,7 @@ state 194
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -20108,7 +20118,7 @@ state 194
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 268
+ expression shift and go to state 269
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -20129,7 +20139,7 @@ state 194
state 195
- (149) get_index -> expression ^ expression .
+ (150) get_index -> expression ^ expression .
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -20143,9 +20153,9 @@ state 195
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -20155,10 +20165,10 @@ state 195
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -20197,28 +20207,28 @@ state 195
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -20243,13 +20253,13 @@ state 195
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
! shift/reduce conflict for > resolved as shift
! shift/reduce conflict for < resolved as shift
! shift/reduce conflict for & resolved as shift
@@ -20289,37 +20299,37 @@ state 195
! shift/reduce conflict for FOREACH resolved as shift
! shift/reduce conflict for FOR resolved as shift
! shift/reduce conflict for IF resolved as shift
- EQ_DIV reduce using rule 149 (get_index -> expression ^ expression .)
- EQ_MOD reduce using rule 149 (get_index -> expression ^ expression .)
- EQ_MUL reduce using rule 149 (get_index -> expression ^ expression .)
- EQ_SUB reduce using rule 149 (get_index -> expression ^ expression .)
- EQ_ADD reduce using rule 149 (get_index -> expression ^ expression .)
- PHPSTART reduce using rule 149 (get_index -> expression ^ expression .)
- LIMPORT reduce using rule 149 (get_index -> expression ^ expression .)
- IMPORT reduce using rule 149 (get_index -> expression ^ expression .)
- RETURN reduce using rule 149 (get_index -> expression ^ expression .)
- DEL reduce using rule 149 (get_index -> expression ^ expression .)
- DEBUG reduce using rule 149 (get_index -> expression ^ expression .)
- SKIP reduce using rule 149 (get_index -> expression ^ expression .)
- BREAK reduce using rule 149 (get_index -> expression ^ expression .)
- LET reduce using rule 149 (get_index -> expression ^ expression .)
- WHILE reduce using rule 149 (get_index -> expression ^ expression .)
- NAMESPACE reduce using rule 149 (get_index -> expression ^ expression .)
- CLASS reduce using rule 149 (get_index -> expression ^ expression .)
- FUNC reduce using rule 149 (get_index -> expression ^ expression .)
- INIT reduce using rule 149 (get_index -> expression ^ expression .)
- $end reduce using rule 149 (get_index -> expression ^ expression .)
- ; reduce using rule 149 (get_index -> expression ^ expression .)
- | reduce using rule 149 (get_index -> expression ^ expression .)
- , reduce using rule 149 (get_index -> expression ^ expression .)
- PHPEND reduce using rule 149 (get_index -> expression ^ expression .)
- } reduce using rule 149 (get_index -> expression ^ expression .)
- ) reduce using rule 149 (get_index -> expression ^ expression .)
- SARROW reduce using rule 149 (get_index -> expression ^ expression .)
- ] reduce using rule 149 (get_index -> expression ^ expression .)
- HTMLEND reduce using rule 149 (get_index -> expression ^ expression .)
- = reduce using rule 149 (get_index -> expression ^ expression .)
- AS reduce using rule 149 (get_index -> expression ^ expression .)
+ EQ_DIV reduce using rule 150 (get_index -> expression ^ expression .)
+ EQ_MOD reduce using rule 150 (get_index -> expression ^ expression .)
+ EQ_MUL reduce using rule 150 (get_index -> expression ^ expression .)
+ EQ_SUB reduce using rule 150 (get_index -> expression ^ expression .)
+ EQ_ADD reduce using rule 150 (get_index -> expression ^ expression .)
+ PHPSTART reduce using rule 150 (get_index -> expression ^ expression .)
+ LIMPORT reduce using rule 150 (get_index -> expression ^ expression .)
+ IMPORT reduce using rule 150 (get_index -> expression ^ expression .)
+ RETURN reduce using rule 150 (get_index -> expression ^ expression .)
+ DEL reduce using rule 150 (get_index -> expression ^ expression .)
+ DEBUG reduce using rule 150 (get_index -> expression ^ expression .)
+ SKIP reduce using rule 150 (get_index -> expression ^ expression .)
+ BREAK reduce using rule 150 (get_index -> expression ^ expression .)
+ LET reduce using rule 150 (get_index -> expression ^ expression .)
+ WHILE reduce using rule 150 (get_index -> expression ^ expression .)
+ NAMESPACE reduce using rule 150 (get_index -> expression ^ expression .)
+ CLASS reduce using rule 150 (get_index -> expression ^ expression .)
+ FUNC reduce using rule 150 (get_index -> expression ^ expression .)
+ INIT reduce using rule 150 (get_index -> expression ^ expression .)
+ $end reduce using rule 150 (get_index -> expression ^ expression .)
+ ; reduce using rule 150 (get_index -> expression ^ expression .)
+ | reduce using rule 150 (get_index -> expression ^ expression .)
+ , reduce using rule 150 (get_index -> expression ^ expression .)
+ PHPEND reduce using rule 150 (get_index -> expression ^ expression .)
+ } reduce using rule 150 (get_index -> expression ^ expression .)
+ ) reduce using rule 150 (get_index -> expression ^ expression .)
+ SARROW reduce using rule 150 (get_index -> expression ^ expression .)
+ ] reduce using rule 150 (get_index -> expression ^ expression .)
+ HTMLEND reduce using rule 150 (get_index -> expression ^ expression .)
+ = reduce using rule 150 (get_index -> expression ^ expression .)
+ AS reduce using rule 150 (get_index -> expression ^ expression .)
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -20384,7 +20394,7 @@ state 195
state 196
- (150) get_index -> expression [ expression . ]
+ (151) get_index -> expression [ expression . ]
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -20398,11 +20408,11 @@ state 196
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (147) assoc_array_items -> expression . SARROW expression
- (112) positional_args -> expression .
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (148) assoc_array_items -> expression . SARROW expression
+ (113) positional_args -> expression .
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -20412,10 +20422,10 @@ state 196
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -20454,28 +20464,28 @@ state 196
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -20500,15 +20510,15 @@ state 196
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
! shift/reduce conflict for ] resolved as shift
- ] shift and go to state 269
+ ] shift and go to state 270
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -20522,8 +20532,8 @@ state 196
- shift and go to state 100
+ shift and go to state 101
. shift and go to state 102
- SARROW shift and go to state 260
- , reduce using rule 112 (positional_args -> expression .)
+ SARROW shift and go to state 258
+ , reduce using rule 113 (positional_args -> expression .)
COLON_COLON shift and go to state 103
^ shift and go to state 105
[ shift and go to state 106
@@ -20589,10 +20599,10 @@ state 197
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (112) positional_args -> expression .
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (113) positional_args -> expression .
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -20602,10 +20612,10 @@ state 197
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -20644,28 +20654,28 @@ state 197
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -20690,13 +20700,13 @@ state 197
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
! shift/reduce conflict for ) resolved as shift
) shift and go to state 209
> shift and go to state 90
@@ -20712,7 +20722,7 @@ state 197
- shift and go to state 100
+ shift and go to state 101
. shift and go to state 102
- , reduce using rule 112 (positional_args -> expression .)
+ , reduce using rule 113 (positional_args -> expression .)
COLON_COLON shift and go to state 103
^ shift and go to state 105
[ shift and go to state 106
@@ -20766,21 +20776,21 @@ state 198
(73) function_call -> expression ( empty . ) FARROW { program }
(80) function_call -> expression ( empty . )
- ) shift and go to state 270
+ ) shift and go to state 271
state 199
(87) function_call -> expression ( function_arguments . ) FARROW { program }
(89) function_call -> expression ( function_arguments . )
- ) shift and go to state 271
+ ) shift and go to state 272
state 200
(52) expression -> ID . OF ID
- (114) kwargs -> ID . = expression
- (166) id -> ID .
+ (115) kwargs -> ID . = expression
+ (167) id -> ID .
(74) function_call -> ID . TARROW ID ( function_arguments )
(75) function_call -> ID . \ ID
(76) function_call -> ID . / ID
@@ -20791,45 +20801,45 @@ state 200
! shift/reduce conflict for COLON_COLON resolved as shift
OF shift and go to state 126
= shift and go to state 194
- ) reduce using rule 166 (id -> ID .)
- > reduce using rule 166 (id -> ID .)
- < reduce using rule 166 (id -> ID .)
- & reduce using rule 166 (id -> ID .)
- EQ_GREATER reduce using rule 166 (id -> ID .)
- EQ_LESS reduce using rule 166 (id -> ID .)
- NOT_EQEQ reduce using rule 166 (id -> ID .)
- EQEQ reduce using rule 166 (id -> ID .)
- % reduce using rule 166 (id -> ID .)
- * reduce using rule 166 (id -> ID .)
- - reduce using rule 166 (id -> ID .)
- + reduce using rule 166 (id -> ID .)
- . reduce using rule 166 (id -> ID .)
- ^ reduce using rule 166 (id -> ID .)
- [ reduce using rule 166 (id -> ID .)
- ( reduce using rule 166 (id -> ID .)
- $ reduce using rule 166 (id -> ID .)
- ID reduce using rule 166 (id -> ID .)
- ! reduce using rule 166 (id -> ID .)
- { reduce using rule 166 (id -> ID .)
- FORMATTED_STRING reduce using rule 166 (id -> ID .)
- MULTILINE_STRING reduce using rule 166 (id -> ID .)
- STRING reduce using rule 166 (id -> ID .)
- CHAR reduce using rule 166 (id -> ID .)
- FALSE reduce using rule 166 (id -> ID .)
- TRUE reduce using rule 166 (id -> ID .)
- FLOAT reduce using rule 166 (id -> ID .)
- INT reduce using rule 166 (id -> ID .)
- NULL reduce using rule 166 (id -> ID .)
- PYTHON_CODE_EXEC reduce using rule 166 (id -> ID .)
- PYTHON_CODE reduce using rule 166 (id -> ID .)
- # reduce using rule 166 (id -> ID .)
- NEW reduce using rule 166 (id -> ID .)
- ? reduce using rule 166 (id -> ID .)
- HTMLSTART reduce using rule 166 (id -> ID .)
- FOREACH reduce using rule 166 (id -> ID .)
- FOR reduce using rule 166 (id -> ID .)
- IF reduce using rule 166 (id -> ID .)
- , reduce using rule 166 (id -> ID .)
+ ) reduce using rule 167 (id -> ID .)
+ > reduce using rule 167 (id -> ID .)
+ < reduce using rule 167 (id -> ID .)
+ & reduce using rule 167 (id -> ID .)
+ EQ_GREATER reduce using rule 167 (id -> ID .)
+ EQ_LESS reduce using rule 167 (id -> ID .)
+ NOT_EQEQ reduce using rule 167 (id -> ID .)
+ EQEQ reduce using rule 167 (id -> ID .)
+ % reduce using rule 167 (id -> ID .)
+ * reduce using rule 167 (id -> ID .)
+ - reduce using rule 167 (id -> ID .)
+ + reduce using rule 167 (id -> ID .)
+ . reduce using rule 167 (id -> ID .)
+ ^ reduce using rule 167 (id -> ID .)
+ [ reduce using rule 167 (id -> ID .)
+ ( reduce using rule 167 (id -> ID .)
+ $ reduce using rule 167 (id -> ID .)
+ ID reduce using rule 167 (id -> ID .)
+ ! reduce using rule 167 (id -> ID .)
+ { reduce using rule 167 (id -> ID .)
+ FORMATTED_STRING reduce using rule 167 (id -> ID .)
+ MULTILINE_STRING reduce using rule 167 (id -> ID .)
+ STRING reduce using rule 167 (id -> ID .)
+ CHAR reduce using rule 167 (id -> ID .)
+ FALSE reduce using rule 167 (id -> ID .)
+ TRUE reduce using rule 167 (id -> ID .)
+ FLOAT reduce using rule 167 (id -> ID .)
+ INT reduce using rule 167 (id -> ID .)
+ NULL reduce using rule 167 (id -> ID .)
+ PYTHON_CODE_EXEC reduce using rule 167 (id -> ID .)
+ PYTHON_CODE reduce using rule 167 (id -> ID .)
+ # reduce using rule 167 (id -> ID .)
+ NEW reduce using rule 167 (id -> ID .)
+ ? reduce using rule 167 (id -> ID .)
+ HTMLSTART reduce using rule 167 (id -> ID .)
+ FOREACH reduce using rule 167 (id -> ID .)
+ FOR reduce using rule 167 (id -> ID .)
+ IF reduce using rule 167 (id -> ID .)
+ , reduce using rule 167 (id -> ID .)
TARROW shift and go to state 133
\ shift and go to state 134
/ shift and go to state 135
@@ -20842,7 +20852,7 @@ state 201
(85) function_call -> $ ID . TARROW ID ( empty )
(86) function_call -> $ ID . TARROW ID ( function_arguments )
(52) expression -> ID . OF ID
- (166) id -> ID .
+ (167) id -> ID .
(74) function_call -> ID . TARROW ID ( function_arguments )
(75) function_call -> ID . \ ID
(76) function_call -> ID . / ID
@@ -20852,76 +20862,76 @@ state 201
! shift/reduce conflict for = resolved as shift
! shift/reduce conflict for / resolved as shift
! shift/reduce conflict for COLON_COLON resolved as shift
- = shift and go to state 272
- TARROW shift and go to state 267
+ = shift and go to state 273
+ TARROW shift and go to state 268
OF shift and go to state 126
- > reduce using rule 166 (id -> ID .)
- < reduce using rule 166 (id -> ID .)
- & reduce using rule 166 (id -> ID .)
- EQ_GREATER reduce using rule 166 (id -> ID .)
- EQ_LESS reduce using rule 166 (id -> ID .)
- NOT_EQEQ reduce using rule 166 (id -> ID .)
- EQEQ reduce using rule 166 (id -> ID .)
- % reduce using rule 166 (id -> ID .)
- * reduce using rule 166 (id -> ID .)
- - reduce using rule 166 (id -> ID .)
- + reduce using rule 166 (id -> ID .)
- . reduce using rule 166 (id -> ID .)
- ^ reduce using rule 166 (id -> ID .)
- [ reduce using rule 166 (id -> ID .)
- ( reduce using rule 166 (id -> ID .)
- $ reduce using rule 166 (id -> ID .)
- ID reduce using rule 166 (id -> ID .)
- ! reduce using rule 166 (id -> ID .)
- { reduce using rule 166 (id -> ID .)
- FORMATTED_STRING reduce using rule 166 (id -> ID .)
- MULTILINE_STRING reduce using rule 166 (id -> ID .)
- STRING reduce using rule 166 (id -> ID .)
- CHAR reduce using rule 166 (id -> ID .)
- FALSE reduce using rule 166 (id -> ID .)
- TRUE reduce using rule 166 (id -> ID .)
- FLOAT reduce using rule 166 (id -> ID .)
- INT reduce using rule 166 (id -> ID .)
- NULL reduce using rule 166 (id -> ID .)
- PYTHON_CODE_EXEC reduce using rule 166 (id -> ID .)
- PYTHON_CODE reduce using rule 166 (id -> ID .)
- # reduce using rule 166 (id -> ID .)
- NEW reduce using rule 166 (id -> ID .)
- ? reduce using rule 166 (id -> ID .)
- HTMLSTART reduce using rule 166 (id -> ID .)
- FOREACH reduce using rule 166 (id -> ID .)
- FOR reduce using rule 166 (id -> ID .)
- IF reduce using rule 166 (id -> ID .)
- PHPSTART reduce using rule 166 (id -> ID .)
- LIMPORT reduce using rule 166 (id -> ID .)
- IMPORT reduce using rule 166 (id -> ID .)
- RETURN reduce using rule 166 (id -> ID .)
- DEL reduce using rule 166 (id -> ID .)
- DEBUG reduce using rule 166 (id -> ID .)
- SKIP reduce using rule 166 (id -> ID .)
- BREAK reduce using rule 166 (id -> ID .)
- LET reduce using rule 166 (id -> ID .)
- WHILE reduce using rule 166 (id -> ID .)
- NAMESPACE reduce using rule 166 (id -> ID .)
- CLASS reduce using rule 166 (id -> ID .)
- FUNC reduce using rule 166 (id -> ID .)
- INIT reduce using rule 166 (id -> ID .)
- $end reduce using rule 166 (id -> ID .)
- ; reduce using rule 166 (id -> ID .)
- | reduce using rule 166 (id -> ID .)
- , reduce using rule 166 (id -> ID .)
- PHPEND reduce using rule 166 (id -> ID .)
- } reduce using rule 166 (id -> ID .)
- ) reduce using rule 166 (id -> ID .)
- SARROW reduce using rule 166 (id -> ID .)
- ] reduce using rule 166 (id -> ID .)
- HTMLEND reduce using rule 166 (id -> ID .)
- EQ_DIV reduce using rule 166 (id -> ID .)
- EQ_MOD reduce using rule 166 (id -> ID .)
- EQ_MUL reduce using rule 166 (id -> ID .)
- EQ_SUB reduce using rule 166 (id -> ID .)
- EQ_ADD reduce using rule 166 (id -> ID .)
- AS reduce using rule 166 (id -> ID .)
+ > reduce using rule 167 (id -> ID .)
+ < reduce using rule 167 (id -> ID .)
+ & reduce using rule 167 (id -> ID .)
+ EQ_GREATER reduce using rule 167 (id -> ID .)
+ EQ_LESS reduce using rule 167 (id -> ID .)
+ NOT_EQEQ reduce using rule 167 (id -> ID .)
+ EQEQ reduce using rule 167 (id -> ID .)
+ % reduce using rule 167 (id -> ID .)
+ * reduce using rule 167 (id -> ID .)
+ - reduce using rule 167 (id -> ID .)
+ + reduce using rule 167 (id -> ID .)
+ . reduce using rule 167 (id -> ID .)
+ ^ reduce using rule 167 (id -> ID .)
+ [ reduce using rule 167 (id -> ID .)
+ ( reduce using rule 167 (id -> ID .)
+ $ reduce using rule 167 (id -> ID .)
+ ID reduce using rule 167 (id -> ID .)
+ ! reduce using rule 167 (id -> ID .)
+ { reduce using rule 167 (id -> ID .)
+ FORMATTED_STRING reduce using rule 167 (id -> ID .)
+ MULTILINE_STRING reduce using rule 167 (id -> ID .)
+ STRING reduce using rule 167 (id -> ID .)
+ CHAR reduce using rule 167 (id -> ID .)
+ FALSE reduce using rule 167 (id -> ID .)
+ TRUE reduce using rule 167 (id -> ID .)
+ FLOAT reduce using rule 167 (id -> ID .)
+ INT reduce using rule 167 (id -> ID .)
+ NULL reduce using rule 167 (id -> ID .)
+ PYTHON_CODE_EXEC reduce using rule 167 (id -> ID .)
+ PYTHON_CODE reduce using rule 167 (id -> ID .)
+ # reduce using rule 167 (id -> ID .)
+ NEW reduce using rule 167 (id -> ID .)
+ ? reduce using rule 167 (id -> ID .)
+ HTMLSTART reduce using rule 167 (id -> ID .)
+ FOREACH reduce using rule 167 (id -> ID .)
+ FOR reduce using rule 167 (id -> ID .)
+ IF reduce using rule 167 (id -> ID .)
+ PHPSTART reduce using rule 167 (id -> ID .)
+ LIMPORT reduce using rule 167 (id -> ID .)
+ IMPORT reduce using rule 167 (id -> ID .)
+ RETURN reduce using rule 167 (id -> ID .)
+ DEL reduce using rule 167 (id -> ID .)
+ DEBUG reduce using rule 167 (id -> ID .)
+ SKIP reduce using rule 167 (id -> ID .)
+ BREAK reduce using rule 167 (id -> ID .)
+ LET reduce using rule 167 (id -> ID .)
+ WHILE reduce using rule 167 (id -> ID .)
+ NAMESPACE reduce using rule 167 (id -> ID .)
+ CLASS reduce using rule 167 (id -> ID .)
+ FUNC reduce using rule 167 (id -> ID .)
+ INIT reduce using rule 167 (id -> ID .)
+ $end reduce using rule 167 (id -> ID .)
+ ; reduce using rule 167 (id -> ID .)
+ | reduce using rule 167 (id -> ID .)
+ , reduce using rule 167 (id -> ID .)
+ PHPEND reduce using rule 167 (id -> ID .)
+ } reduce using rule 167 (id -> ID .)
+ ) reduce using rule 167 (id -> ID .)
+ SARROW reduce using rule 167 (id -> ID .)
+ ] reduce using rule 167 (id -> ID .)
+ HTMLEND reduce using rule 167 (id -> ID .)
+ EQ_DIV reduce using rule 167 (id -> ID .)
+ EQ_MOD reduce using rule 167 (id -> ID .)
+ EQ_MUL reduce using rule 167 (id -> ID .)
+ EQ_SUB reduce using rule 167 (id -> ID .)
+ EQ_ADD reduce using rule 167 (id -> ID .)
+ AS reduce using rule 167 (id -> ID .)
\ shift and go to state 134
/ shift and go to state 135
COLON_COLON shift and go to state 136
@@ -20929,18 +20939,18 @@ state 201
state 202
- (115) kwargs -> kwargs , . id = expression
- (166) id -> . ID
- ID shift and go to state 274
+ (116) kwargs -> kwargs , . id = expression
+ (167) id -> . ID
+ ID shift and go to state 275
- id shift and go to state 273
+ id shift and go to state 274
state 203
(103) function_arguments -> positional_args , . kwargs
- (113) positional_args -> positional_args , . expression
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
+ (114) positional_args -> positional_args , . expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -20979,28 +20989,28 @@ state 203
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -21025,13 +21035,13 @@ state 203
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
ID shift and go to state 104
( shift and go to state 32
! shift and go to state 33
@@ -21040,7 +21050,7 @@ state 203
* shift and go to state 38
& shift and go to state 36
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -21062,8 +21072,8 @@ state 203
FOR shift and go to state 50
IF shift and go to state 76
- kwargs shift and go to state 275
- expression shift and go to state 276
+ kwargs shift and go to state 276
+ expression shift and go to state 277
id shift and go to state 24
assoc_array shift and go to state 20
_list shift and go to state 21
@@ -21084,7 +21094,7 @@ state 203
state 204
- (120) variable_operation -> get_index EQ_DIV expression . ;
+ (121) variable_operation -> get_index EQ_DIV expression . ;
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -21098,9 +21108,9 @@ state 204
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -21110,10 +21120,10 @@ state 204
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -21152,28 +21162,28 @@ state 204
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -21198,14 +21208,14 @@ state 204
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ; shift and go to state 277
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ; shift and go to state 278
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -21270,7 +21280,7 @@ state 204
state 205
- (122) variable_operation -> get_index EQ_MOD expression . ;
+ (123) variable_operation -> get_index EQ_MOD expression . ;
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -21284,9 +21294,9 @@ state 205
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -21296,10 +21306,10 @@ state 205
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -21338,28 +21348,28 @@ state 205
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -21384,14 +21394,14 @@ state 205
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ; shift and go to state 278
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ; shift and go to state 279
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -21456,7 +21466,7 @@ state 205
state 206
- (124) variable_operation -> get_index EQ_MUL expression . ;
+ (125) variable_operation -> get_index EQ_MUL expression . ;
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -21470,9 +21480,9 @@ state 206
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -21482,10 +21492,10 @@ state 206
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -21524,28 +21534,28 @@ state 206
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -21570,14 +21580,14 @@ state 206
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ; shift and go to state 279
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ; shift and go to state 280
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -21642,7 +21652,7 @@ state 206
state 207
- (126) variable_operation -> get_index EQ_SUB expression . ;
+ (127) variable_operation -> get_index EQ_SUB expression . ;
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -21656,9 +21666,9 @@ state 207
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -21668,10 +21678,10 @@ state 207
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -21710,28 +21720,28 @@ state 207
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -21756,14 +21766,14 @@ state 207
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ; shift and go to state 280
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ; shift and go to state 281
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -21828,7 +21838,7 @@ state 207
state 208
- (128) variable_operation -> get_index EQ_ADD expression . ;
+ (129) variable_operation -> get_index EQ_ADD expression . ;
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -21842,9 +21852,9 @@ state 208
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -21854,10 +21864,10 @@ state 208
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -21896,28 +21906,28 @@ state 208
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -21942,14 +21952,14 @@ state 208
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ; shift and go to state 281
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ; shift and go to state 282
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -22212,7 +22222,7 @@ state 211
(83) function_call -> ID . COLON_COLON ID ( empty )
(84) function_call -> ID . COLON_COLON ID ( function_arguments )
(52) expression -> ID . OF ID
- (166) id -> ID .
+ (167) id -> ID .
! shift/reduce conflict for / resolved as shift
! shift/reduce conflict for COLON_COLON resolved as shift
TARROW shift and go to state 133
@@ -22220,43 +22230,43 @@ state 211
/ shift and go to state 135
COLON_COLON shift and go to state 136
OF shift and go to state 126
- ( reduce using rule 166 (id -> ID .)
- $ reduce using rule 166 (id -> ID .)
- > reduce using rule 166 (id -> ID .)
- < reduce using rule 166 (id -> ID .)
- & reduce using rule 166 (id -> ID .)
- EQ_GREATER reduce using rule 166 (id -> ID .)
- EQ_LESS reduce using rule 166 (id -> ID .)
- NOT_EQEQ reduce using rule 166 (id -> ID .)
- EQEQ reduce using rule 166 (id -> ID .)
- % reduce using rule 166 (id -> ID .)
- * reduce using rule 166 (id -> ID .)
- - reduce using rule 166 (id -> ID .)
- + reduce using rule 166 (id -> ID .)
- . reduce using rule 166 (id -> ID .)
- ^ reduce using rule 166 (id -> ID .)
- [ reduce using rule 166 (id -> ID .)
- ID reduce using rule 166 (id -> ID .)
- ! reduce using rule 166 (id -> ID .)
- { reduce using rule 166 (id -> ID .)
- FORMATTED_STRING reduce using rule 166 (id -> ID .)
- MULTILINE_STRING reduce using rule 166 (id -> ID .)
- STRING reduce using rule 166 (id -> ID .)
- CHAR reduce using rule 166 (id -> ID .)
- FALSE reduce using rule 166 (id -> ID .)
- TRUE reduce using rule 166 (id -> ID .)
- FLOAT reduce using rule 166 (id -> ID .)
- INT reduce using rule 166 (id -> ID .)
- NULL reduce using rule 166 (id -> ID .)
- PYTHON_CODE_EXEC reduce using rule 166 (id -> ID .)
- PYTHON_CODE reduce using rule 166 (id -> ID .)
- # reduce using rule 166 (id -> ID .)
- NEW reduce using rule 166 (id -> ID .)
- ? reduce using rule 166 (id -> ID .)
- HTMLSTART reduce using rule 166 (id -> ID .)
- FOREACH reduce using rule 166 (id -> ID .)
- FOR reduce using rule 166 (id -> ID .)
- IF reduce using rule 166 (id -> ID .)
+ ( reduce using rule 167 (id -> ID .)
+ $ reduce using rule 167 (id -> ID .)
+ > reduce using rule 167 (id -> ID .)
+ < reduce using rule 167 (id -> ID .)
+ & reduce using rule 167 (id -> ID .)
+ EQ_GREATER reduce using rule 167 (id -> ID .)
+ EQ_LESS reduce using rule 167 (id -> ID .)
+ NOT_EQEQ reduce using rule 167 (id -> ID .)
+ EQEQ reduce using rule 167 (id -> ID .)
+ % reduce using rule 167 (id -> ID .)
+ * reduce using rule 167 (id -> ID .)
+ - reduce using rule 167 (id -> ID .)
+ + reduce using rule 167 (id -> ID .)
+ . reduce using rule 167 (id -> ID .)
+ ^ reduce using rule 167 (id -> ID .)
+ [ reduce using rule 167 (id -> ID .)
+ ID reduce using rule 167 (id -> ID .)
+ ! reduce using rule 167 (id -> ID .)
+ { reduce using rule 167 (id -> ID .)
+ FORMATTED_STRING reduce using rule 167 (id -> ID .)
+ MULTILINE_STRING reduce using rule 167 (id -> ID .)
+ STRING reduce using rule 167 (id -> ID .)
+ CHAR reduce using rule 167 (id -> ID .)
+ FALSE reduce using rule 167 (id -> ID .)
+ TRUE reduce using rule 167 (id -> ID .)
+ FLOAT reduce using rule 167 (id -> ID .)
+ INT reduce using rule 167 (id -> ID .)
+ NULL reduce using rule 167 (id -> ID .)
+ PYTHON_CODE_EXEC reduce using rule 167 (id -> ID .)
+ PYTHON_CODE reduce using rule 167 (id -> ID .)
+ # reduce using rule 167 (id -> ID .)
+ NEW reduce using rule 167 (id -> ID .)
+ ? reduce using rule 167 (id -> ID .)
+ HTMLSTART reduce using rule 167 (id -> ID .)
+ FOREACH reduce using rule 167 (id -> ID .)
+ FOR reduce using rule 167 (id -> ID .)
+ IF reduce using rule 167 (id -> ID .)
state 212
@@ -22280,16 +22290,16 @@ state 212
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -22328,28 +22338,28 @@ state 212
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -22374,13 +22384,13 @@ state 212
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 107
$ shift and go to state 109
> shift and go to state 90
@@ -22486,28 +22496,28 @@ state 213
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -22532,13 +22542,13 @@ state 213
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
ID shift and go to state 177
( shift and go to state 32
! shift and go to state 33
@@ -22547,7 +22557,7 @@ state 213
* shift and go to state 38
& shift and go to state 36
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -22665,7 +22675,7 @@ state 214
state 215
- (121) variable_operation -> ID EQ_DIV expression . ;
+ (122) variable_operation -> ID EQ_DIV expression . ;
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -22679,9 +22689,9 @@ state 215
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -22691,10 +22701,10 @@ state 215
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -22733,28 +22743,28 @@ state 215
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -22779,14 +22789,14 @@ state 215
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ; shift and go to state 282
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ; shift and go to state 283
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -22851,7 +22861,7 @@ state 215
state 216
- (123) variable_operation -> ID EQ_MOD expression . ;
+ (124) variable_operation -> ID EQ_MOD expression . ;
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -22865,9 +22875,9 @@ state 216
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -22877,10 +22887,10 @@ state 216
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -22919,28 +22929,28 @@ state 216
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -22965,14 +22975,14 @@ state 216
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ; shift and go to state 283
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ; shift and go to state 284
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -23037,7 +23047,7 @@ state 216
state 217
- (125) variable_operation -> ID EQ_MUL expression . ;
+ (126) variable_operation -> ID EQ_MUL expression . ;
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -23051,9 +23061,9 @@ state 217
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -23063,10 +23073,10 @@ state 217
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -23105,28 +23115,28 @@ state 217
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -23151,14 +23161,14 @@ state 217
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ; shift and go to state 284
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ; shift and go to state 285
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -23223,7 +23233,7 @@ state 217
state 218
- (127) variable_operation -> ID EQ_SUB expression . ;
+ (128) variable_operation -> ID EQ_SUB expression . ;
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -23237,9 +23247,9 @@ state 218
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -23249,10 +23259,10 @@ state 218
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -23291,28 +23301,28 @@ state 218
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -23337,14 +23347,14 @@ state 218
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ; shift and go to state 285
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ; shift and go to state 286
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -23409,7 +23419,7 @@ state 218
state 219
- (129) variable_operation -> ID EQ_ADD expression . ;
+ (130) variable_operation -> ID EQ_ADD expression . ;
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -23423,9 +23433,9 @@ state 219
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -23435,10 +23445,10 @@ state 219
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -23477,28 +23487,28 @@ state 219
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -23523,14 +23533,14 @@ state 219
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ; shift and go to state 286
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ; shift and go to state 287
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -23599,7 +23609,7 @@ state 220
(95) function_declaration -> ID FUNC ID . ( function_arguments ) { program }
(96) function_declaration -> ID FUNC ID . ( empty ) : expression { program }
(97) function_declaration -> ID FUNC ID . ( function_arguments ) : expression { program }
- ( shift and go to state 287
+ ( shift and go to state 288
state 221
@@ -23607,7 +23617,7 @@ state 221
(74) function_call -> ID TARROW ID . ( function_arguments )
(77) function_call -> ID TARROW ID .
! shift/reduce conflict for ( resolved as shift
- ( shift and go to state 288
+ ( shift and go to state 289
| reduce using rule 77 (function_call -> ID TARROW ID .)
; reduce using rule 77 (function_call -> ID TARROW ID .)
> reduce using rule 77 (function_call -> ID TARROW ID .)
@@ -23833,12 +23843,12 @@ state 224
(83) function_call -> ID COLON_COLON ID . ( empty )
(84) function_call -> ID COLON_COLON ID . ( function_arguments )
- ( shift and go to state 289
+ ( shift and go to state 290
state 225
- (116) variable_assignment -> $ get_index = . expression ;
+ (117) variable_assignment -> $ get_index = . expression ;
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -23877,28 +23887,28 @@ state 225
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -23923,13 +23933,13 @@ state 225
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -23938,7 +23948,7 @@ state 225
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -23961,7 +23971,7 @@ state 225
IF shift and go to state 76
get_index shift and go to state 81
- expression shift and go to state 290
+ expression shift and go to state 291
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -23981,17 +23991,17 @@ state 225
state 226
- (118) variable_assignment -> $ ID TARROW . ID = expression ;
+ (119) variable_assignment -> $ ID TARROW . ID = expression ;
(85) function_call -> $ ID TARROW . ID ( empty )
(86) function_call -> $ ID TARROW . ID ( function_arguments )
(74) function_call -> ID TARROW . ID ( function_arguments )
(77) function_call -> ID TARROW . ID
- ID shift and go to state 291
+ ID shift and go to state 292
state 227
- (119) variable_assignment -> $ ID = . expression ;
+ (120) variable_assignment -> $ ID = . expression ;
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -24030,28 +24040,28 @@ state 227
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -24076,13 +24086,13 @@ state 227
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -24091,7 +24101,7 @@ state 227
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -24113,7 +24123,7 @@ state 227
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 292
+ expression shift and go to state 293
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -24134,110 +24144,110 @@ state 227
state 228
- (140) import_statement -> . SELFISH ; .
- ? reduce using rule 140 (import_statement -> . SELFISH ; .)
- ( reduce using rule 140 (import_statement -> . SELFISH ; .)
- ! reduce using rule 140 (import_statement -> . SELFISH ; .)
- + reduce using rule 140 (import_statement -> . SELFISH ; .)
- - reduce using rule 140 (import_statement -> . SELFISH ; .)
- * reduce using rule 140 (import_statement -> . SELFISH ; .)
- & reduce using rule 140 (import_statement -> . SELFISH ; .)
- ID reduce using rule 140 (import_statement -> . SELFISH ; .)
- $ reduce using rule 140 (import_statement -> . SELFISH ; .)
- PHPSTART reduce using rule 140 (import_statement -> . SELFISH ; .)
- LIMPORT reduce using rule 140 (import_statement -> . SELFISH ; .)
- . reduce using rule 140 (import_statement -> . SELFISH ; .)
- IMPORT reduce using rule 140 (import_statement -> . SELFISH ; .)
- RETURN reduce using rule 140 (import_statement -> . SELFISH ; .)
- DEL reduce using rule 140 (import_statement -> . SELFISH ; .)
- FOREACH reduce using rule 140 (import_statement -> . SELFISH ; .)
- FOR reduce using rule 140 (import_statement -> . SELFISH ; .)
- DEBUG reduce using rule 140 (import_statement -> . SELFISH ; .)
- SKIP reduce using rule 140 (import_statement -> . SELFISH ; .)
- BREAK reduce using rule 140 (import_statement -> . SELFISH ; .)
- LET reduce using rule 140 (import_statement -> . SELFISH ; .)
- WHILE reduce using rule 140 (import_statement -> . SELFISH ; .)
- NAMESPACE reduce using rule 140 (import_statement -> . SELFISH ; .)
- CLASS reduce using rule 140 (import_statement -> . SELFISH ; .)
- FUNC reduce using rule 140 (import_statement -> . SELFISH ; .)
- INIT reduce using rule 140 (import_statement -> . SELFISH ; .)
- [ reduce using rule 140 (import_statement -> . SELFISH ; .)
- { reduce using rule 140 (import_statement -> . SELFISH ; .)
- FORMATTED_STRING reduce using rule 140 (import_statement -> . SELFISH ; .)
- MULTILINE_STRING reduce using rule 140 (import_statement -> . SELFISH ; .)
- STRING reduce using rule 140 (import_statement -> . SELFISH ; .)
- CHAR reduce using rule 140 (import_statement -> . SELFISH ; .)
- FALSE reduce using rule 140 (import_statement -> . SELFISH ; .)
- TRUE reduce using rule 140 (import_statement -> . SELFISH ; .)
- FLOAT reduce using rule 140 (import_statement -> . SELFISH ; .)
- INT reduce using rule 140 (import_statement -> . SELFISH ; .)
- NULL reduce using rule 140 (import_statement -> . SELFISH ; .)
- PYTHON_CODE_EXEC reduce using rule 140 (import_statement -> . SELFISH ; .)
- PYTHON_CODE reduce using rule 140 (import_statement -> . SELFISH ; .)
- # reduce using rule 140 (import_statement -> . SELFISH ; .)
- NEW reduce using rule 140 (import_statement -> . SELFISH ; .)
- HTMLSTART reduce using rule 140 (import_statement -> . SELFISH ; .)
- IF reduce using rule 140 (import_statement -> . SELFISH ; .)
- $end reduce using rule 140 (import_statement -> . SELFISH ; .)
- PHPEND reduce using rule 140 (import_statement -> . SELFISH ; .)
- } reduce using rule 140 (import_statement -> . SELFISH ; .)
+ (141) import_statement -> . SELFISH ; .
+ ? reduce using rule 141 (import_statement -> . SELFISH ; .)
+ ( reduce using rule 141 (import_statement -> . SELFISH ; .)
+ ! reduce using rule 141 (import_statement -> . SELFISH ; .)
+ + reduce using rule 141 (import_statement -> . SELFISH ; .)
+ - reduce using rule 141 (import_statement -> . SELFISH ; .)
+ * reduce using rule 141 (import_statement -> . SELFISH ; .)
+ & reduce using rule 141 (import_statement -> . SELFISH ; .)
+ ID reduce using rule 141 (import_statement -> . SELFISH ; .)
+ $ reduce using rule 141 (import_statement -> . SELFISH ; .)
+ PHPSTART reduce using rule 141 (import_statement -> . SELFISH ; .)
+ LIMPORT reduce using rule 141 (import_statement -> . SELFISH ; .)
+ . reduce using rule 141 (import_statement -> . SELFISH ; .)
+ IMPORT reduce using rule 141 (import_statement -> . SELFISH ; .)
+ RETURN reduce using rule 141 (import_statement -> . SELFISH ; .)
+ DEL reduce using rule 141 (import_statement -> . SELFISH ; .)
+ FOREACH reduce using rule 141 (import_statement -> . SELFISH ; .)
+ FOR reduce using rule 141 (import_statement -> . SELFISH ; .)
+ DEBUG reduce using rule 141 (import_statement -> . SELFISH ; .)
+ SKIP reduce using rule 141 (import_statement -> . SELFISH ; .)
+ BREAK reduce using rule 141 (import_statement -> . SELFISH ; .)
+ LET reduce using rule 141 (import_statement -> . SELFISH ; .)
+ WHILE reduce using rule 141 (import_statement -> . SELFISH ; .)
+ NAMESPACE reduce using rule 141 (import_statement -> . SELFISH ; .)
+ CLASS reduce using rule 141 (import_statement -> . SELFISH ; .)
+ FUNC reduce using rule 141 (import_statement -> . SELFISH ; .)
+ INIT reduce using rule 141 (import_statement -> . SELFISH ; .)
+ [ reduce using rule 141 (import_statement -> . SELFISH ; .)
+ { reduce using rule 141 (import_statement -> . SELFISH ; .)
+ FORMATTED_STRING reduce using rule 141 (import_statement -> . SELFISH ; .)
+ MULTILINE_STRING reduce using rule 141 (import_statement -> . SELFISH ; .)
+ STRING reduce using rule 141 (import_statement -> . SELFISH ; .)
+ CHAR reduce using rule 141 (import_statement -> . SELFISH ; .)
+ FALSE reduce using rule 141 (import_statement -> . SELFISH ; .)
+ TRUE reduce using rule 141 (import_statement -> . SELFISH ; .)
+ FLOAT reduce using rule 141 (import_statement -> . SELFISH ; .)
+ INT reduce using rule 141 (import_statement -> . SELFISH ; .)
+ NULL reduce using rule 141 (import_statement -> . SELFISH ; .)
+ PYTHON_CODE_EXEC reduce using rule 141 (import_statement -> . SELFISH ; .)
+ PYTHON_CODE reduce using rule 141 (import_statement -> . SELFISH ; .)
+ # reduce using rule 141 (import_statement -> . SELFISH ; .)
+ NEW reduce using rule 141 (import_statement -> . SELFISH ; .)
+ HTMLSTART reduce using rule 141 (import_statement -> . SELFISH ; .)
+ IF reduce using rule 141 (import_statement -> . SELFISH ; .)
+ $end reduce using rule 141 (import_statement -> . SELFISH ; .)
+ PHPEND reduce using rule 141 (import_statement -> . SELFISH ; .)
+ } reduce using rule 141 (import_statement -> . SELFISH ; .)
state 229
- (141) import_statement -> . GLOBAL ; .
- ? reduce using rule 141 (import_statement -> . GLOBAL ; .)
- ( reduce using rule 141 (import_statement -> . GLOBAL ; .)
- ! reduce using rule 141 (import_statement -> . GLOBAL ; .)
- + reduce using rule 141 (import_statement -> . GLOBAL ; .)
- - reduce using rule 141 (import_statement -> . GLOBAL ; .)
- * reduce using rule 141 (import_statement -> . GLOBAL ; .)
- & reduce using rule 141 (import_statement -> . GLOBAL ; .)
- ID reduce using rule 141 (import_statement -> . GLOBAL ; .)
- $ reduce using rule 141 (import_statement -> . GLOBAL ; .)
- PHPSTART reduce using rule 141 (import_statement -> . GLOBAL ; .)
- LIMPORT reduce using rule 141 (import_statement -> . GLOBAL ; .)
- . reduce using rule 141 (import_statement -> . GLOBAL ; .)
- IMPORT reduce using rule 141 (import_statement -> . GLOBAL ; .)
- RETURN reduce using rule 141 (import_statement -> . GLOBAL ; .)
- DEL reduce using rule 141 (import_statement -> . GLOBAL ; .)
- FOREACH reduce using rule 141 (import_statement -> . GLOBAL ; .)
- FOR reduce using rule 141 (import_statement -> . GLOBAL ; .)
- DEBUG reduce using rule 141 (import_statement -> . GLOBAL ; .)
- SKIP reduce using rule 141 (import_statement -> . GLOBAL ; .)
- BREAK reduce using rule 141 (import_statement -> . GLOBAL ; .)
- LET reduce using rule 141 (import_statement -> . GLOBAL ; .)
- WHILE reduce using rule 141 (import_statement -> . GLOBAL ; .)
- NAMESPACE reduce using rule 141 (import_statement -> . GLOBAL ; .)
- CLASS reduce using rule 141 (import_statement -> . GLOBAL ; .)
- FUNC reduce using rule 141 (import_statement -> . GLOBAL ; .)
- INIT reduce using rule 141 (import_statement -> . GLOBAL ; .)
- [ reduce using rule 141 (import_statement -> . GLOBAL ; .)
- { reduce using rule 141 (import_statement -> . GLOBAL ; .)
- FORMATTED_STRING reduce using rule 141 (import_statement -> . GLOBAL ; .)
- MULTILINE_STRING reduce using rule 141 (import_statement -> . GLOBAL ; .)
- STRING reduce using rule 141 (import_statement -> . GLOBAL ; .)
- CHAR reduce using rule 141 (import_statement -> . GLOBAL ; .)
- FALSE reduce using rule 141 (import_statement -> . GLOBAL ; .)
- TRUE reduce using rule 141 (import_statement -> . GLOBAL ; .)
- FLOAT reduce using rule 141 (import_statement -> . GLOBAL ; .)
- INT reduce using rule 141 (import_statement -> . GLOBAL ; .)
- NULL reduce using rule 141 (import_statement -> . GLOBAL ; .)
- PYTHON_CODE_EXEC reduce using rule 141 (import_statement -> . GLOBAL ; .)
- PYTHON_CODE reduce using rule 141 (import_statement -> . GLOBAL ; .)
- # reduce using rule 141 (import_statement -> . GLOBAL ; .)
- NEW reduce using rule 141 (import_statement -> . GLOBAL ; .)
- HTMLSTART reduce using rule 141 (import_statement -> . GLOBAL ; .)
- IF reduce using rule 141 (import_statement -> . GLOBAL ; .)
- $end reduce using rule 141 (import_statement -> . GLOBAL ; .)
- PHPEND reduce using rule 141 (import_statement -> . GLOBAL ; .)
- } reduce using rule 141 (import_statement -> . GLOBAL ; .)
+ (142) import_statement -> . GLOBAL ; .
+ ? reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ ( reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ ! reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ + reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ - reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ * reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ & reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ ID reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ $ reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ PHPSTART reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ LIMPORT reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ . reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ IMPORT reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ RETURN reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ DEL reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ FOREACH reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ FOR reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ DEBUG reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ SKIP reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ BREAK reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ LET reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ WHILE reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ NAMESPACE reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ CLASS reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ FUNC reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ INIT reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ [ reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ { reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ FORMATTED_STRING reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ MULTILINE_STRING reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ STRING reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ CHAR reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ FALSE reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ TRUE reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ FLOAT reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ INT reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ NULL reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ PYTHON_CODE_EXEC reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ PYTHON_CODE reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ # reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ NEW reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ HTMLSTART reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ IF reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ $end reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ PHPEND reduce using rule 142 (import_statement -> . GLOBAL ; .)
+ } reduce using rule 142 (import_statement -> . GLOBAL ; .)
state 230
(71) function_call -> . ENV FROM . ID { program }
- ID shift and go to state 293
+ ID shift and go to state 294
state 231
@@ -24246,7 +24256,7 @@ state 231
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -24303,41 +24313,42 @@ state 231
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -24349,28 +24360,28 @@ state 231
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -24395,53 +24406,53 @@ state 231
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
- program shift and go to state 294
+ program shift and go to state 295
empty shift and go to state 2
statement shift and go to state 3
expression shift and go to state 5
@@ -24579,53 +24590,53 @@ state 233
state 234
- (142) import_statement -> IMPORT expression ; .
- ? reduce using rule 142 (import_statement -> IMPORT expression ; .)
- ( reduce using rule 142 (import_statement -> IMPORT expression ; .)
- ! reduce using rule 142 (import_statement -> IMPORT expression ; .)
- + reduce using rule 142 (import_statement -> IMPORT expression ; .)
- - reduce using rule 142 (import_statement -> IMPORT expression ; .)
- * reduce using rule 142 (import_statement -> IMPORT expression ; .)
- & reduce using rule 142 (import_statement -> IMPORT expression ; .)
- ID reduce using rule 142 (import_statement -> IMPORT expression ; .)
- $ reduce using rule 142 (import_statement -> IMPORT expression ; .)
- PHPSTART reduce using rule 142 (import_statement -> IMPORT expression ; .)
- LIMPORT reduce using rule 142 (import_statement -> IMPORT expression ; .)
- . reduce using rule 142 (import_statement -> IMPORT expression ; .)
- IMPORT reduce using rule 142 (import_statement -> IMPORT expression ; .)
- RETURN reduce using rule 142 (import_statement -> IMPORT expression ; .)
- DEL reduce using rule 142 (import_statement -> IMPORT expression ; .)
- FOREACH reduce using rule 142 (import_statement -> IMPORT expression ; .)
- FOR reduce using rule 142 (import_statement -> IMPORT expression ; .)
- DEBUG reduce using rule 142 (import_statement -> IMPORT expression ; .)
- SKIP reduce using rule 142 (import_statement -> IMPORT expression ; .)
- BREAK reduce using rule 142 (import_statement -> IMPORT expression ; .)
- LET reduce using rule 142 (import_statement -> IMPORT expression ; .)
- WHILE reduce using rule 142 (import_statement -> IMPORT expression ; .)
- NAMESPACE reduce using rule 142 (import_statement -> IMPORT expression ; .)
- CLASS reduce using rule 142 (import_statement -> IMPORT expression ; .)
- FUNC reduce using rule 142 (import_statement -> IMPORT expression ; .)
- INIT reduce using rule 142 (import_statement -> IMPORT expression ; .)
- [ reduce using rule 142 (import_statement -> IMPORT expression ; .)
- { reduce using rule 142 (import_statement -> IMPORT expression ; .)
- FORMATTED_STRING reduce using rule 142 (import_statement -> IMPORT expression ; .)
- MULTILINE_STRING reduce using rule 142 (import_statement -> IMPORT expression ; .)
- STRING reduce using rule 142 (import_statement -> IMPORT expression ; .)
- CHAR reduce using rule 142 (import_statement -> IMPORT expression ; .)
- FALSE reduce using rule 142 (import_statement -> IMPORT expression ; .)
- TRUE reduce using rule 142 (import_statement -> IMPORT expression ; .)
- FLOAT reduce using rule 142 (import_statement -> IMPORT expression ; .)
- INT reduce using rule 142 (import_statement -> IMPORT expression ; .)
- NULL reduce using rule 142 (import_statement -> IMPORT expression ; .)
- PYTHON_CODE_EXEC reduce using rule 142 (import_statement -> IMPORT expression ; .)
- PYTHON_CODE reduce using rule 142 (import_statement -> IMPORT expression ; .)
- # reduce using rule 142 (import_statement -> IMPORT expression ; .)
- NEW reduce using rule 142 (import_statement -> IMPORT expression ; .)
- HTMLSTART reduce using rule 142 (import_statement -> IMPORT expression ; .)
- IF reduce using rule 142 (import_statement -> IMPORT expression ; .)
- $end reduce using rule 142 (import_statement -> IMPORT expression ; .)
- PHPEND reduce using rule 142 (import_statement -> IMPORT expression ; .)
- } reduce using rule 142 (import_statement -> IMPORT expression ; .)
+ (143) import_statement -> IMPORT expression ; .
+ ? reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ ( reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ ! reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ + reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ - reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ * reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ & reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ ID reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ $ reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ PHPSTART reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ LIMPORT reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ . reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ IMPORT reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ RETURN reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ DEL reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ FOREACH reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ FOR reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ DEBUG reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ SKIP reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ BREAK reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ LET reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ WHILE reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ NAMESPACE reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ CLASS reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ FUNC reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ INIT reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ [ reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ { reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ FORMATTED_STRING reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ MULTILINE_STRING reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ STRING reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ CHAR reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ FALSE reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ TRUE reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ FLOAT reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ INT reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ NULL reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ PYTHON_CODE_EXEC reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ PYTHON_CODE reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ # reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ NEW reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ HTMLSTART reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ IF reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ $end reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ PHPEND reduce using rule 143 (import_statement -> IMPORT expression ; .)
+ } reduce using rule 143 (import_statement -> IMPORT expression ; .)
state 235
@@ -24681,58 +24692,58 @@ state 235
state 236
- (139) delete_statement -> DEL ID ; .
- ? reduce using rule 139 (delete_statement -> DEL ID ; .)
- ( reduce using rule 139 (delete_statement -> DEL ID ; .)
- ! reduce using rule 139 (delete_statement -> DEL ID ; .)
- + reduce using rule 139 (delete_statement -> DEL ID ; .)
- - reduce using rule 139 (delete_statement -> DEL ID ; .)
- * reduce using rule 139 (delete_statement -> DEL ID ; .)
- & reduce using rule 139 (delete_statement -> DEL ID ; .)
- ID reduce using rule 139 (delete_statement -> DEL ID ; .)
- $ reduce using rule 139 (delete_statement -> DEL ID ; .)
- PHPSTART reduce using rule 139 (delete_statement -> DEL ID ; .)
- LIMPORT reduce using rule 139 (delete_statement -> DEL ID ; .)
- . reduce using rule 139 (delete_statement -> DEL ID ; .)
- IMPORT reduce using rule 139 (delete_statement -> DEL ID ; .)
- RETURN reduce using rule 139 (delete_statement -> DEL ID ; .)
- DEL reduce using rule 139 (delete_statement -> DEL ID ; .)
- FOREACH reduce using rule 139 (delete_statement -> DEL ID ; .)
- FOR reduce using rule 139 (delete_statement -> DEL ID ; .)
- DEBUG reduce using rule 139 (delete_statement -> DEL ID ; .)
- SKIP reduce using rule 139 (delete_statement -> DEL ID ; .)
- BREAK reduce using rule 139 (delete_statement -> DEL ID ; .)
- LET reduce using rule 139 (delete_statement -> DEL ID ; .)
- WHILE reduce using rule 139 (delete_statement -> DEL ID ; .)
- NAMESPACE reduce using rule 139 (delete_statement -> DEL ID ; .)
- CLASS reduce using rule 139 (delete_statement -> DEL ID ; .)
- FUNC reduce using rule 139 (delete_statement -> DEL ID ; .)
- INIT reduce using rule 139 (delete_statement -> DEL ID ; .)
- [ reduce using rule 139 (delete_statement -> DEL ID ; .)
- { reduce using rule 139 (delete_statement -> DEL ID ; .)
- FORMATTED_STRING reduce using rule 139 (delete_statement -> DEL ID ; .)
- MULTILINE_STRING reduce using rule 139 (delete_statement -> DEL ID ; .)
- STRING reduce using rule 139 (delete_statement -> DEL ID ; .)
- CHAR reduce using rule 139 (delete_statement -> DEL ID ; .)
- FALSE reduce using rule 139 (delete_statement -> DEL ID ; .)
- TRUE reduce using rule 139 (delete_statement -> DEL ID ; .)
- FLOAT reduce using rule 139 (delete_statement -> DEL ID ; .)
- INT reduce using rule 139 (delete_statement -> DEL ID ; .)
- NULL reduce using rule 139 (delete_statement -> DEL ID ; .)
- PYTHON_CODE_EXEC reduce using rule 139 (delete_statement -> DEL ID ; .)
- PYTHON_CODE reduce using rule 139 (delete_statement -> DEL ID ; .)
- # reduce using rule 139 (delete_statement -> DEL ID ; .)
- NEW reduce using rule 139 (delete_statement -> DEL ID ; .)
- HTMLSTART reduce using rule 139 (delete_statement -> DEL ID ; .)
- IF reduce using rule 139 (delete_statement -> DEL ID ; .)
- $end reduce using rule 139 (delete_statement -> DEL ID ; .)
- PHPEND reduce using rule 139 (delete_statement -> DEL ID ; .)
- } reduce using rule 139 (delete_statement -> DEL ID ; .)
+ (140) delete_statement -> DEL ID ; .
+ ? reduce using rule 140 (delete_statement -> DEL ID ; .)
+ ( reduce using rule 140 (delete_statement -> DEL ID ; .)
+ ! reduce using rule 140 (delete_statement -> DEL ID ; .)
+ + reduce using rule 140 (delete_statement -> DEL ID ; .)
+ - reduce using rule 140 (delete_statement -> DEL ID ; .)
+ * reduce using rule 140 (delete_statement -> DEL ID ; .)
+ & reduce using rule 140 (delete_statement -> DEL ID ; .)
+ ID reduce using rule 140 (delete_statement -> DEL ID ; .)
+ $ reduce using rule 140 (delete_statement -> DEL ID ; .)
+ PHPSTART reduce using rule 140 (delete_statement -> DEL ID ; .)
+ LIMPORT reduce using rule 140 (delete_statement -> DEL ID ; .)
+ . reduce using rule 140 (delete_statement -> DEL ID ; .)
+ IMPORT reduce using rule 140 (delete_statement -> DEL ID ; .)
+ RETURN reduce using rule 140 (delete_statement -> DEL ID ; .)
+ DEL reduce using rule 140 (delete_statement -> DEL ID ; .)
+ FOREACH reduce using rule 140 (delete_statement -> DEL ID ; .)
+ FOR reduce using rule 140 (delete_statement -> DEL ID ; .)
+ DEBUG reduce using rule 140 (delete_statement -> DEL ID ; .)
+ SKIP reduce using rule 140 (delete_statement -> DEL ID ; .)
+ BREAK reduce using rule 140 (delete_statement -> DEL ID ; .)
+ LET reduce using rule 140 (delete_statement -> DEL ID ; .)
+ WHILE reduce using rule 140 (delete_statement -> DEL ID ; .)
+ NAMESPACE reduce using rule 140 (delete_statement -> DEL ID ; .)
+ CLASS reduce using rule 140 (delete_statement -> DEL ID ; .)
+ FUNC reduce using rule 140 (delete_statement -> DEL ID ; .)
+ INIT reduce using rule 140 (delete_statement -> DEL ID ; .)
+ [ reduce using rule 140 (delete_statement -> DEL ID ; .)
+ { reduce using rule 140 (delete_statement -> DEL ID ; .)
+ FORMATTED_STRING reduce using rule 140 (delete_statement -> DEL ID ; .)
+ MULTILINE_STRING reduce using rule 140 (delete_statement -> DEL ID ; .)
+ STRING reduce using rule 140 (delete_statement -> DEL ID ; .)
+ CHAR reduce using rule 140 (delete_statement -> DEL ID ; .)
+ FALSE reduce using rule 140 (delete_statement -> DEL ID ; .)
+ TRUE reduce using rule 140 (delete_statement -> DEL ID ; .)
+ FLOAT reduce using rule 140 (delete_statement -> DEL ID ; .)
+ INT reduce using rule 140 (delete_statement -> DEL ID ; .)
+ NULL reduce using rule 140 (delete_statement -> DEL ID ; .)
+ PYTHON_CODE_EXEC reduce using rule 140 (delete_statement -> DEL ID ; .)
+ PYTHON_CODE reduce using rule 140 (delete_statement -> DEL ID ; .)
+ # reduce using rule 140 (delete_statement -> DEL ID ; .)
+ NEW reduce using rule 140 (delete_statement -> DEL ID ; .)
+ HTMLSTART reduce using rule 140 (delete_statement -> DEL ID ; .)
+ IF reduce using rule 140 (delete_statement -> DEL ID ; .)
+ $end reduce using rule 140 (delete_statement -> DEL ID ; .)
+ PHPEND reduce using rule 140 (delete_statement -> DEL ID ; .)
+ } reduce using rule 140 (delete_statement -> DEL ID ; .)
state 237
- (109) for_loop -> FOREACH ( expression . AS expression ) { program }
+ (110) for_loop -> FOREACH ( expression . AS expression ) { program }
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -24746,9 +24757,9 @@ state 237
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -24758,10 +24769,10 @@ state 237
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -24800,28 +24811,28 @@ state 237
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -24846,14 +24857,14 @@ state 237
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- AS shift and go to state 295
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ AS shift and go to state 296
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -24918,83 +24929,83 @@ state 237
state 238
- (145) assoc_array -> { empty } .
- > reduce using rule 145 (assoc_array -> { empty } .)
- < reduce using rule 145 (assoc_array -> { empty } .)
- & reduce using rule 145 (assoc_array -> { empty } .)
- EQ_GREATER reduce using rule 145 (assoc_array -> { empty } .)
- EQ_LESS reduce using rule 145 (assoc_array -> { empty } .)
- NOT_EQEQ reduce using rule 145 (assoc_array -> { empty } .)
- EQEQ reduce using rule 145 (assoc_array -> { empty } .)
- % reduce using rule 145 (assoc_array -> { empty } .)
- * reduce using rule 145 (assoc_array -> { empty } .)
- / reduce using rule 145 (assoc_array -> { empty } .)
- - reduce using rule 145 (assoc_array -> { empty } .)
- + reduce using rule 145 (assoc_array -> { empty } .)
- . reduce using rule 145 (assoc_array -> { empty } .)
- COLON_COLON reduce using rule 145 (assoc_array -> { empty } .)
- ^ reduce using rule 145 (assoc_array -> { empty } .)
- [ reduce using rule 145 (assoc_array -> { empty } .)
- ( reduce using rule 145 (assoc_array -> { empty } .)
- $ reduce using rule 145 (assoc_array -> { empty } .)
- ID reduce using rule 145 (assoc_array -> { empty } .)
- ! reduce using rule 145 (assoc_array -> { empty } .)
- { reduce using rule 145 (assoc_array -> { empty } .)
- FORMATTED_STRING reduce using rule 145 (assoc_array -> { empty } .)
- MULTILINE_STRING reduce using rule 145 (assoc_array -> { empty } .)
- STRING reduce using rule 145 (assoc_array -> { empty } .)
- CHAR reduce using rule 145 (assoc_array -> { empty } .)
- FALSE reduce using rule 145 (assoc_array -> { empty } .)
- TRUE reduce using rule 145 (assoc_array -> { empty } .)
- FLOAT reduce using rule 145 (assoc_array -> { empty } .)
- INT reduce using rule 145 (assoc_array -> { empty } .)
- NULL reduce using rule 145 (assoc_array -> { empty } .)
- PYTHON_CODE_EXEC reduce using rule 145 (assoc_array -> { empty } .)
- PYTHON_CODE reduce using rule 145 (assoc_array -> { empty } .)
- # reduce using rule 145 (assoc_array -> { empty } .)
- NEW reduce using rule 145 (assoc_array -> { empty } .)
- ? reduce using rule 145 (assoc_array -> { empty } .)
- HTMLSTART reduce using rule 145 (assoc_array -> { empty } .)
- FOREACH reduce using rule 145 (assoc_array -> { empty } .)
- FOR reduce using rule 145 (assoc_array -> { empty } .)
- IF reduce using rule 145 (assoc_array -> { empty } .)
- PHPSTART reduce using rule 145 (assoc_array -> { empty } .)
- LIMPORT reduce using rule 145 (assoc_array -> { empty } .)
- IMPORT reduce using rule 145 (assoc_array -> { empty } .)
- RETURN reduce using rule 145 (assoc_array -> { empty } .)
- DEL reduce using rule 145 (assoc_array -> { empty } .)
- DEBUG reduce using rule 145 (assoc_array -> { empty } .)
- SKIP reduce using rule 145 (assoc_array -> { empty } .)
- BREAK reduce using rule 145 (assoc_array -> { empty } .)
- LET reduce using rule 145 (assoc_array -> { empty } .)
- WHILE reduce using rule 145 (assoc_array -> { empty } .)
- NAMESPACE reduce using rule 145 (assoc_array -> { empty } .)
- CLASS reduce using rule 145 (assoc_array -> { empty } .)
- FUNC reduce using rule 145 (assoc_array -> { empty } .)
- INIT reduce using rule 145 (assoc_array -> { empty } .)
- $end reduce using rule 145 (assoc_array -> { empty } .)
- ; reduce using rule 145 (assoc_array -> { empty } .)
- | reduce using rule 145 (assoc_array -> { empty } .)
- , reduce using rule 145 (assoc_array -> { empty } .)
- PHPEND reduce using rule 145 (assoc_array -> { empty } .)
- } reduce using rule 145 (assoc_array -> { empty } .)
- ) reduce using rule 145 (assoc_array -> { empty } .)
- SARROW reduce using rule 145 (assoc_array -> { empty } .)
- ] reduce using rule 145 (assoc_array -> { empty } .)
- HTMLEND reduce using rule 145 (assoc_array -> { empty } .)
- EQ_DIV reduce using rule 145 (assoc_array -> { empty } .)
- EQ_MOD reduce using rule 145 (assoc_array -> { empty } .)
- EQ_MUL reduce using rule 145 (assoc_array -> { empty } .)
- EQ_SUB reduce using rule 145 (assoc_array -> { empty } .)
- EQ_ADD reduce using rule 145 (assoc_array -> { empty } .)
- = reduce using rule 145 (assoc_array -> { empty } .)
- AS reduce using rule 145 (assoc_array -> { empty } .)
+ (146) assoc_array -> { empty } .
+ > reduce using rule 146 (assoc_array -> { empty } .)
+ < reduce using rule 146 (assoc_array -> { empty } .)
+ & reduce using rule 146 (assoc_array -> { empty } .)
+ EQ_GREATER reduce using rule 146 (assoc_array -> { empty } .)
+ EQ_LESS reduce using rule 146 (assoc_array -> { empty } .)
+ NOT_EQEQ reduce using rule 146 (assoc_array -> { empty } .)
+ EQEQ reduce using rule 146 (assoc_array -> { empty } .)
+ % reduce using rule 146 (assoc_array -> { empty } .)
+ * reduce using rule 146 (assoc_array -> { empty } .)
+ / reduce using rule 146 (assoc_array -> { empty } .)
+ - reduce using rule 146 (assoc_array -> { empty } .)
+ + reduce using rule 146 (assoc_array -> { empty } .)
+ . reduce using rule 146 (assoc_array -> { empty } .)
+ COLON_COLON reduce using rule 146 (assoc_array -> { empty } .)
+ ^ reduce using rule 146 (assoc_array -> { empty } .)
+ [ reduce using rule 146 (assoc_array -> { empty } .)
+ ( reduce using rule 146 (assoc_array -> { empty } .)
+ $ reduce using rule 146 (assoc_array -> { empty } .)
+ ID reduce using rule 146 (assoc_array -> { empty } .)
+ ! reduce using rule 146 (assoc_array -> { empty } .)
+ { reduce using rule 146 (assoc_array -> { empty } .)
+ FORMATTED_STRING reduce using rule 146 (assoc_array -> { empty } .)
+ MULTILINE_STRING reduce using rule 146 (assoc_array -> { empty } .)
+ STRING reduce using rule 146 (assoc_array -> { empty } .)
+ CHAR reduce using rule 146 (assoc_array -> { empty } .)
+ FALSE reduce using rule 146 (assoc_array -> { empty } .)
+ TRUE reduce using rule 146 (assoc_array -> { empty } .)
+ FLOAT reduce using rule 146 (assoc_array -> { empty } .)
+ INT reduce using rule 146 (assoc_array -> { empty } .)
+ NULL reduce using rule 146 (assoc_array -> { empty } .)
+ PYTHON_CODE_EXEC reduce using rule 146 (assoc_array -> { empty } .)
+ PYTHON_CODE reduce using rule 146 (assoc_array -> { empty } .)
+ # reduce using rule 146 (assoc_array -> { empty } .)
+ NEW reduce using rule 146 (assoc_array -> { empty } .)
+ ? reduce using rule 146 (assoc_array -> { empty } .)
+ HTMLSTART reduce using rule 146 (assoc_array -> { empty } .)
+ FOREACH reduce using rule 146 (assoc_array -> { empty } .)
+ FOR reduce using rule 146 (assoc_array -> { empty } .)
+ IF reduce using rule 146 (assoc_array -> { empty } .)
+ PHPSTART reduce using rule 146 (assoc_array -> { empty } .)
+ LIMPORT reduce using rule 146 (assoc_array -> { empty } .)
+ IMPORT reduce using rule 146 (assoc_array -> { empty } .)
+ RETURN reduce using rule 146 (assoc_array -> { empty } .)
+ DEL reduce using rule 146 (assoc_array -> { empty } .)
+ DEBUG reduce using rule 146 (assoc_array -> { empty } .)
+ SKIP reduce using rule 146 (assoc_array -> { empty } .)
+ BREAK reduce using rule 146 (assoc_array -> { empty } .)
+ LET reduce using rule 146 (assoc_array -> { empty } .)
+ WHILE reduce using rule 146 (assoc_array -> { empty } .)
+ NAMESPACE reduce using rule 146 (assoc_array -> { empty } .)
+ CLASS reduce using rule 146 (assoc_array -> { empty } .)
+ FUNC reduce using rule 146 (assoc_array -> { empty } .)
+ INIT reduce using rule 146 (assoc_array -> { empty } .)
+ $end reduce using rule 146 (assoc_array -> { empty } .)
+ ; reduce using rule 146 (assoc_array -> { empty } .)
+ | reduce using rule 146 (assoc_array -> { empty } .)
+ , reduce using rule 146 (assoc_array -> { empty } .)
+ PHPEND reduce using rule 146 (assoc_array -> { empty } .)
+ } reduce using rule 146 (assoc_array -> { empty } .)
+ ) reduce using rule 146 (assoc_array -> { empty } .)
+ SARROW reduce using rule 146 (assoc_array -> { empty } .)
+ ] reduce using rule 146 (assoc_array -> { empty } .)
+ HTMLEND reduce using rule 146 (assoc_array -> { empty } .)
+ EQ_DIV reduce using rule 146 (assoc_array -> { empty } .)
+ EQ_MOD reduce using rule 146 (assoc_array -> { empty } .)
+ EQ_MUL reduce using rule 146 (assoc_array -> { empty } .)
+ EQ_SUB reduce using rule 146 (assoc_array -> { empty } .)
+ EQ_ADD reduce using rule 146 (assoc_array -> { empty } .)
+ = reduce using rule 146 (assoc_array -> { empty } .)
+ AS reduce using rule 146 (assoc_array -> { empty } .)
state 239
- (151) _tuple -> { positional_args , . }
- (113) positional_args -> positional_args , . expression
+ (152) _tuple -> { positional_args , . }
+ (114) positional_args -> positional_args , . expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -25033,28 +25044,28 @@ state 239
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -25079,14 +25090,14 @@ state 239
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 296
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 297
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -25095,7 +25106,7 @@ state 239
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -25117,7 +25128,7 @@ state 239
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 276
+ expression shift and go to state 277
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -25138,82 +25149,82 @@ state 239
state 240
- (152) _tuple -> { positional_args } .
- > reduce using rule 152 (_tuple -> { positional_args } .)
- < reduce using rule 152 (_tuple -> { positional_args } .)
- & reduce using rule 152 (_tuple -> { positional_args } .)
- EQ_GREATER reduce using rule 152 (_tuple -> { positional_args } .)
- EQ_LESS reduce using rule 152 (_tuple -> { positional_args } .)
- NOT_EQEQ reduce using rule 152 (_tuple -> { positional_args } .)
- EQEQ reduce using rule 152 (_tuple -> { positional_args } .)
- % reduce using rule 152 (_tuple -> { positional_args } .)
- * reduce using rule 152 (_tuple -> { positional_args } .)
- / reduce using rule 152 (_tuple -> { positional_args } .)
- - reduce using rule 152 (_tuple -> { positional_args } .)
- + reduce using rule 152 (_tuple -> { positional_args } .)
- . reduce using rule 152 (_tuple -> { positional_args } .)
- COLON_COLON reduce using rule 152 (_tuple -> { positional_args } .)
- ^ reduce using rule 152 (_tuple -> { positional_args } .)
- [ reduce using rule 152 (_tuple -> { positional_args } .)
- ( reduce using rule 152 (_tuple -> { positional_args } .)
- $ reduce using rule 152 (_tuple -> { positional_args } .)
- ID reduce using rule 152 (_tuple -> { positional_args } .)
- ! reduce using rule 152 (_tuple -> { positional_args } .)
- { reduce using rule 152 (_tuple -> { positional_args } .)
- FORMATTED_STRING reduce using rule 152 (_tuple -> { positional_args } .)
- MULTILINE_STRING reduce using rule 152 (_tuple -> { positional_args } .)
- STRING reduce using rule 152 (_tuple -> { positional_args } .)
- CHAR reduce using rule 152 (_tuple -> { positional_args } .)
- FALSE reduce using rule 152 (_tuple -> { positional_args } .)
- TRUE reduce using rule 152 (_tuple -> { positional_args } .)
- FLOAT reduce using rule 152 (_tuple -> { positional_args } .)
- INT reduce using rule 152 (_tuple -> { positional_args } .)
- NULL reduce using rule 152 (_tuple -> { positional_args } .)
- PYTHON_CODE_EXEC reduce using rule 152 (_tuple -> { positional_args } .)
- PYTHON_CODE reduce using rule 152 (_tuple -> { positional_args } .)
- # reduce using rule 152 (_tuple -> { positional_args } .)
- NEW reduce using rule 152 (_tuple -> { positional_args } .)
- ? reduce using rule 152 (_tuple -> { positional_args } .)
- HTMLSTART reduce using rule 152 (_tuple -> { positional_args } .)
- FOREACH reduce using rule 152 (_tuple -> { positional_args } .)
- FOR reduce using rule 152 (_tuple -> { positional_args } .)
- IF reduce using rule 152 (_tuple -> { positional_args } .)
- PHPSTART reduce using rule 152 (_tuple -> { positional_args } .)
- LIMPORT reduce using rule 152 (_tuple -> { positional_args } .)
- IMPORT reduce using rule 152 (_tuple -> { positional_args } .)
- RETURN reduce using rule 152 (_tuple -> { positional_args } .)
- DEL reduce using rule 152 (_tuple -> { positional_args } .)
- DEBUG reduce using rule 152 (_tuple -> { positional_args } .)
- SKIP reduce using rule 152 (_tuple -> { positional_args } .)
- BREAK reduce using rule 152 (_tuple -> { positional_args } .)
- LET reduce using rule 152 (_tuple -> { positional_args } .)
- WHILE reduce using rule 152 (_tuple -> { positional_args } .)
- NAMESPACE reduce using rule 152 (_tuple -> { positional_args } .)
- CLASS reduce using rule 152 (_tuple -> { positional_args } .)
- FUNC reduce using rule 152 (_tuple -> { positional_args } .)
- INIT reduce using rule 152 (_tuple -> { positional_args } .)
- $end reduce using rule 152 (_tuple -> { positional_args } .)
- ; reduce using rule 152 (_tuple -> { positional_args } .)
- | reduce using rule 152 (_tuple -> { positional_args } .)
- , reduce using rule 152 (_tuple -> { positional_args } .)
- PHPEND reduce using rule 152 (_tuple -> { positional_args } .)
- } reduce using rule 152 (_tuple -> { positional_args } .)
- ) reduce using rule 152 (_tuple -> { positional_args } .)
- SARROW reduce using rule 152 (_tuple -> { positional_args } .)
- ] reduce using rule 152 (_tuple -> { positional_args } .)
- HTMLEND reduce using rule 152 (_tuple -> { positional_args } .)
- EQ_DIV reduce using rule 152 (_tuple -> { positional_args } .)
- EQ_MOD reduce using rule 152 (_tuple -> { positional_args } .)
- EQ_MUL reduce using rule 152 (_tuple -> { positional_args } .)
- EQ_SUB reduce using rule 152 (_tuple -> { positional_args } .)
- EQ_ADD reduce using rule 152 (_tuple -> { positional_args } .)
- = reduce using rule 152 (_tuple -> { positional_args } .)
- AS reduce using rule 152 (_tuple -> { positional_args } .)
+ (153) _tuple -> { positional_args } .
+ > reduce using rule 153 (_tuple -> { positional_args } .)
+ < reduce using rule 153 (_tuple -> { positional_args } .)
+ & reduce using rule 153 (_tuple -> { positional_args } .)
+ EQ_GREATER reduce using rule 153 (_tuple -> { positional_args } .)
+ EQ_LESS reduce using rule 153 (_tuple -> { positional_args } .)
+ NOT_EQEQ reduce using rule 153 (_tuple -> { positional_args } .)
+ EQEQ reduce using rule 153 (_tuple -> { positional_args } .)
+ % reduce using rule 153 (_tuple -> { positional_args } .)
+ * reduce using rule 153 (_tuple -> { positional_args } .)
+ / reduce using rule 153 (_tuple -> { positional_args } .)
+ - reduce using rule 153 (_tuple -> { positional_args } .)
+ + reduce using rule 153 (_tuple -> { positional_args } .)
+ . reduce using rule 153 (_tuple -> { positional_args } .)
+ COLON_COLON reduce using rule 153 (_tuple -> { positional_args } .)
+ ^ reduce using rule 153 (_tuple -> { positional_args } .)
+ [ reduce using rule 153 (_tuple -> { positional_args } .)
+ ( reduce using rule 153 (_tuple -> { positional_args } .)
+ $ reduce using rule 153 (_tuple -> { positional_args } .)
+ ID reduce using rule 153 (_tuple -> { positional_args } .)
+ ! reduce using rule 153 (_tuple -> { positional_args } .)
+ { reduce using rule 153 (_tuple -> { positional_args } .)
+ FORMATTED_STRING reduce using rule 153 (_tuple -> { positional_args } .)
+ MULTILINE_STRING reduce using rule 153 (_tuple -> { positional_args } .)
+ STRING reduce using rule 153 (_tuple -> { positional_args } .)
+ CHAR reduce using rule 153 (_tuple -> { positional_args } .)
+ FALSE reduce using rule 153 (_tuple -> { positional_args } .)
+ TRUE reduce using rule 153 (_tuple -> { positional_args } .)
+ FLOAT reduce using rule 153 (_tuple -> { positional_args } .)
+ INT reduce using rule 153 (_tuple -> { positional_args } .)
+ NULL reduce using rule 153 (_tuple -> { positional_args } .)
+ PYTHON_CODE_EXEC reduce using rule 153 (_tuple -> { positional_args } .)
+ PYTHON_CODE reduce using rule 153 (_tuple -> { positional_args } .)
+ # reduce using rule 153 (_tuple -> { positional_args } .)
+ NEW reduce using rule 153 (_tuple -> { positional_args } .)
+ ? reduce using rule 153 (_tuple -> { positional_args } .)
+ HTMLSTART reduce using rule 153 (_tuple -> { positional_args } .)
+ FOREACH reduce using rule 153 (_tuple -> { positional_args } .)
+ FOR reduce using rule 153 (_tuple -> { positional_args } .)
+ IF reduce using rule 153 (_tuple -> { positional_args } .)
+ PHPSTART reduce using rule 153 (_tuple -> { positional_args } .)
+ LIMPORT reduce using rule 153 (_tuple -> { positional_args } .)
+ IMPORT reduce using rule 153 (_tuple -> { positional_args } .)
+ RETURN reduce using rule 153 (_tuple -> { positional_args } .)
+ DEL reduce using rule 153 (_tuple -> { positional_args } .)
+ DEBUG reduce using rule 153 (_tuple -> { positional_args } .)
+ SKIP reduce using rule 153 (_tuple -> { positional_args } .)
+ BREAK reduce using rule 153 (_tuple -> { positional_args } .)
+ LET reduce using rule 153 (_tuple -> { positional_args } .)
+ WHILE reduce using rule 153 (_tuple -> { positional_args } .)
+ NAMESPACE reduce using rule 153 (_tuple -> { positional_args } .)
+ CLASS reduce using rule 153 (_tuple -> { positional_args } .)
+ FUNC reduce using rule 153 (_tuple -> { positional_args } .)
+ INIT reduce using rule 153 (_tuple -> { positional_args } .)
+ $end reduce using rule 153 (_tuple -> { positional_args } .)
+ ; reduce using rule 153 (_tuple -> { positional_args } .)
+ | reduce using rule 153 (_tuple -> { positional_args } .)
+ , reduce using rule 153 (_tuple -> { positional_args } .)
+ PHPEND reduce using rule 153 (_tuple -> { positional_args } .)
+ } reduce using rule 153 (_tuple -> { positional_args } .)
+ ) reduce using rule 153 (_tuple -> { positional_args } .)
+ SARROW reduce using rule 153 (_tuple -> { positional_args } .)
+ ] reduce using rule 153 (_tuple -> { positional_args } .)
+ HTMLEND reduce using rule 153 (_tuple -> { positional_args } .)
+ EQ_DIV reduce using rule 153 (_tuple -> { positional_args } .)
+ EQ_MOD reduce using rule 153 (_tuple -> { positional_args } .)
+ EQ_MUL reduce using rule 153 (_tuple -> { positional_args } .)
+ EQ_SUB reduce using rule 153 (_tuple -> { positional_args } .)
+ EQ_ADD reduce using rule 153 (_tuple -> { positional_args } .)
+ = reduce using rule 153 (_tuple -> { positional_args } .)
+ AS reduce using rule 153 (_tuple -> { positional_args } .)
state 241
- (110) for_loop -> FOR ( expression . ) { program }
+ (111) for_loop -> FOR ( expression . ) { program }
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -25227,9 +25238,9 @@ state 241
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -25239,10 +25250,10 @@ state 241
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -25281,28 +25292,28 @@ state 241
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -25327,14 +25338,14 @@ state 241
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ) shift and go to state 297
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ) shift and go to state 298
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -25399,13 +25410,13 @@ state 241
state 242
- (117) variable_assignment -> LET ID : . ID = expression ;
- ID shift and go to state 298
+ (118) variable_assignment -> LET ID : . ID = expression ;
+ ID shift and go to state 299
state 243
- (111) while_loop -> WHILE ( expression . ) { program }
+ (112) while_loop -> WHILE ( expression . ) { program }
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -25419,9 +25430,9 @@ state 243
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -25431,10 +25442,10 @@ state 243
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -25473,28 +25484,28 @@ state 243
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -25519,14 +25530,14 @@ state 243
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ) shift and go to state 299
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ) shift and go to state 300
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -25591,162 +25602,162 @@ state 243
state 244
- (131) conditional -> if_statement else_if_loop else_statement .
- ? reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- ( reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- ! reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- + reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- - reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- * reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- & reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- ID reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- $ reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- PHPSTART reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- LIMPORT reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- . reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- IMPORT reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- RETURN reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- DEL reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- FOREACH reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- FOR reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- DEBUG reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- SKIP reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- BREAK reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- LET reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- WHILE reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- NAMESPACE reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- CLASS reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- FUNC reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- INIT reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- [ reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- { reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- FORMATTED_STRING reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- MULTILINE_STRING reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- STRING reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- CHAR reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- FALSE reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- TRUE reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- FLOAT reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- INT reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- NULL reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- PYTHON_CODE_EXEC reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- PYTHON_CODE reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- # reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- NEW reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- HTMLSTART reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- IF reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- $end reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- > reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- < reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- EQ_GREATER reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- EQ_LESS reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- NOT_EQEQ reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- EQEQ reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- % reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- / reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- COLON_COLON reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- ^ reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- ; reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- | reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- , reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- PHPEND reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- } reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- ) reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- SARROW reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- ] reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- HTMLEND reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- EQ_DIV reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- EQ_MOD reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- EQ_MUL reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- EQ_SUB reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- EQ_ADD reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- = reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
- AS reduce using rule 131 (conditional -> if_statement else_if_loop else_statement .)
+ (132) conditional -> if_statement else_if_loop else_statement .
+ ? reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ ( reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ ! reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ + reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ - reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ * reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ & reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ ID reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ $ reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ PHPSTART reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ LIMPORT reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ . reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ IMPORT reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ RETURN reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ DEL reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ FOREACH reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ FOR reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ DEBUG reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ SKIP reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ BREAK reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ LET reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ WHILE reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ NAMESPACE reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ CLASS reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ FUNC reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ INIT reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ [ reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ { reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ FORMATTED_STRING reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ MULTILINE_STRING reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ STRING reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ CHAR reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ FALSE reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ TRUE reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ FLOAT reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ INT reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ NULL reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ PYTHON_CODE_EXEC reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ PYTHON_CODE reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ # reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ NEW reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ HTMLSTART reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ IF reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ $end reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ > reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ < reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ EQ_GREATER reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ EQ_LESS reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ NOT_EQEQ reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ EQEQ reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ % reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ / reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ COLON_COLON reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ ^ reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ ; reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ | reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ , reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ PHPEND reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ } reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ ) reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ SARROW reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ ] reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ HTMLEND reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ EQ_DIV reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ EQ_MOD reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ EQ_MUL reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ EQ_SUB reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ EQ_ADD reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ = reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
+ AS reduce using rule 132 (conditional -> if_statement else_if_loop else_statement .)
state 245
- (136) else_if_loop -> else_if_loop else_if_statement .
- ELSE reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- ? reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- ( reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- ! reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- + reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- - reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- * reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- & reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- ID reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- $ reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- PHPSTART reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- LIMPORT reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- . reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- IMPORT reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- RETURN reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- DEL reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- FOREACH reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- FOR reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- DEBUG reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- SKIP reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- BREAK reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- LET reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- WHILE reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- NAMESPACE reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- CLASS reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- FUNC reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- INIT reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- [ reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- { reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- FORMATTED_STRING reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- MULTILINE_STRING reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- STRING reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- CHAR reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- FALSE reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- TRUE reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- FLOAT reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- INT reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- NULL reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- PYTHON_CODE_EXEC reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- PYTHON_CODE reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- # reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- NEW reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- HTMLSTART reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- IF reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- $end reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- > reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- < reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- EQ_GREATER reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- EQ_LESS reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- NOT_EQEQ reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- EQEQ reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- % reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- / reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- COLON_COLON reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- ^ reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- ; reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- | reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- , reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- PHPEND reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- } reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- ) reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- SARROW reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- ] reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- HTMLEND reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- EQ_DIV reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- EQ_MOD reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- EQ_MUL reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- EQ_SUB reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- EQ_ADD reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- = reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
- AS reduce using rule 136 (else_if_loop -> else_if_loop else_if_statement .)
+ (137) else_if_loop -> else_if_loop else_if_statement .
+ ELSE reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ ? reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ ( reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ ! reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ + reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ - reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ * reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ & reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ ID reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ $ reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ PHPSTART reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ LIMPORT reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ . reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ IMPORT reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ RETURN reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ DEL reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ FOREACH reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ FOR reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ DEBUG reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ SKIP reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ BREAK reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ LET reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ WHILE reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ NAMESPACE reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ CLASS reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ FUNC reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ INIT reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ [ reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ { reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ FORMATTED_STRING reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ MULTILINE_STRING reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ STRING reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ CHAR reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ FALSE reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ TRUE reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ FLOAT reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ INT reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ NULL reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ PYTHON_CODE_EXEC reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ PYTHON_CODE reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ # reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ NEW reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ HTMLSTART reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ IF reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ $end reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ > reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ < reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ EQ_GREATER reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ EQ_LESS reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ NOT_EQEQ reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ EQEQ reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ % reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ / reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ COLON_COLON reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ ^ reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ ; reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ | reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ , reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ PHPEND reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ } reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ ) reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ SARROW reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ ] reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ HTMLEND reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ EQ_DIV reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ EQ_MOD reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ EQ_MUL reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ EQ_SUB reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ EQ_ADD reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ = reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
+ AS reduce using rule 137 (else_if_loop -> else_if_loop else_if_statement .)
state 246
- (138) else_statement -> ELSE { . program }
+ (139) else_statement -> ELSE { . program }
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -25803,41 +25814,42 @@ state 246
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -25849,28 +25861,28 @@ state 246
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -25895,53 +25907,53 @@ state 246
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
- program shift and go to state 300
+ program shift and go to state 301
empty shift and go to state 2
statement shift and go to state 3
expression shift and go to state 5
@@ -25977,8 +25989,8 @@ state 246
state 247
- (137) else_if_statement -> ELSE IF . ( expression ) { program }
- ( shift and go to state 301
+ (138) else_if_statement -> ELSE IF . ( expression ) { program }
+ ( shift and go to state 302
state 248
@@ -26038,7 +26050,7 @@ state 249
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -26095,41 +26107,42 @@ state 249
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -26141,28 +26154,28 @@ state 249
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -26187,53 +26200,53 @@ state 249
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
- program shift and go to state 302
+ program shift and go to state 303
empty shift and go to state 2
statement shift and go to state 3
expression shift and go to state 5
@@ -26270,7 +26283,7 @@ state 249
state 250
(107) class_declaration -> CLASS ID EXTENDS . ID { program }
- ID shift and go to state 303
+ ID shift and go to state 304
state 251
@@ -26279,7 +26292,7 @@ state 251
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -26336,41 +26349,42 @@ state 251
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -26382,28 +26396,28 @@ state 251
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -26428,53 +26442,53 @@ state 251
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
- program shift and go to state 304
+ program shift and go to state 305
empty shift and go to state 2
statement shift and go to state 3
expression shift and go to state 5
@@ -26510,25 +26524,9 @@ state 251
state 252
- (91) function_declaration -> FUNC ID COLON_COLON . ID ( empty ) { program } TARROW expression
- (92) function_declaration -> FUNC ID COLON_COLON . ID ( function_arguments ) { program } TARROW expression
- ID shift and go to state 305
-
-
-state 253
-
- (98) function_declaration -> FUNC ID ( . empty ) { program }
- (99) function_declaration -> FUNC ID ( . empty ) : expression { program }
- (100) function_declaration -> FUNC ID ( . function_arguments ) { program }
- (101) function_declaration -> FUNC ID ( . function_arguments ) : expression { program }
- (169) empty -> .
- (102) function_arguments -> . kwargs
- (103) function_arguments -> . positional_args , kwargs
- (104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (109) class_declaration -> CLASS ID [ . positional_args ] { program }
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -26567,28 +26565,28 @@ state 253
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -26613,23 +26611,22 @@ state 253
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ) reduce using rule 169 (empty -> .)
- ID shift and go to state 104
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
+ ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -26651,16 +26648,13 @@ state 253
FOR shift and go to state 50
IF shift and go to state 76
- empty shift and go to state 306
+ positional_args shift and go to state 306
expression shift and go to state 89
- function_arguments shift and go to state 307
- kwargs shift and go to state 110
- positional_args shift and go to state 111
- id shift and go to state 24
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
class_attribute shift and go to state 23
+ id shift and go to state 24
string shift and go to state 25
bool shift and go to state 26
float shift and go to state 27
@@ -26674,90 +26668,84 @@ state 253
conditional shift and go to state 88
if_statement shift and go to state 56
-state 254
-
- (93) function_declaration -> INIT ( function_arguments . ) { program } ;
- ) shift and go to state 308
-
-
-state 255
+state 253
- (144) assoc_array -> [ assoc_array_items ] .
- > reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- < reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- & reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- EQ_GREATER reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- EQ_LESS reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- NOT_EQEQ reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- EQEQ reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- % reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- * reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- / reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- - reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- + reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- . reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- COLON_COLON reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- ^ reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- [ reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- ( reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- $ reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- ID reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- ! reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- { reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- FORMATTED_STRING reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- MULTILINE_STRING reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- STRING reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- CHAR reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- FALSE reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- TRUE reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- FLOAT reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- INT reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- NULL reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- PYTHON_CODE_EXEC reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- PYTHON_CODE reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- # reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- NEW reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- ? reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- HTMLSTART reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- FOREACH reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- FOR reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- IF reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- PHPSTART reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- LIMPORT reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- IMPORT reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- RETURN reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- DEL reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- DEBUG reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- SKIP reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- BREAK reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- LET reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- WHILE reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- NAMESPACE reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- CLASS reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- FUNC reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- INIT reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- $end reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- ; reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- | reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- , reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- PHPEND reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- } reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- ) reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- SARROW reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- ] reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- HTMLEND reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- EQ_DIV reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- EQ_MOD reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- EQ_MUL reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- EQ_SUB reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- EQ_ADD reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- = reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
- AS reduce using rule 144 (assoc_array -> [ assoc_array_items ] .)
+ (145) assoc_array -> [ assoc_array_items ] .
+ > reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ < reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ & reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ EQ_GREATER reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ EQ_LESS reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ NOT_EQEQ reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ EQEQ reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ % reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ * reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ / reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ - reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ + reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ . reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ COLON_COLON reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ ^ reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ [ reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ ( reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ $ reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ ID reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ ! reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ { reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ FORMATTED_STRING reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ MULTILINE_STRING reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ STRING reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ CHAR reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ FALSE reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ TRUE reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ FLOAT reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ INT reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ NULL reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ PYTHON_CODE_EXEC reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ PYTHON_CODE reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ # reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ NEW reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ ? reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ HTMLSTART reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ FOREACH reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ FOR reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ IF reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ PHPSTART reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ LIMPORT reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ IMPORT reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ RETURN reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ DEL reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ DEBUG reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ SKIP reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ BREAK reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ LET reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ WHILE reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ NAMESPACE reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ CLASS reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ FUNC reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ INIT reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ $end reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ ; reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ | reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ , reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ PHPEND reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ } reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ ) reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ SARROW reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ ] reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ HTMLEND reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ EQ_DIV reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ EQ_MOD reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ EQ_MUL reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ EQ_SUB reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ EQ_ADD reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ = reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
+ AS reduce using rule 145 (assoc_array -> [ assoc_array_items ] .)
-state 256
+state 254
- (148) assoc_array_items -> assoc_array_items , . expression SARROW expression
+ (149) assoc_array_items -> assoc_array_items , . expression SARROW expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -26796,28 +26784,28 @@ state 256
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -26842,13 +26830,13 @@ state 256
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -26857,7 +26845,7 @@ state 256
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -26879,7 +26867,7 @@ state 256
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 309
+ expression shift and go to state 307
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -26898,85 +26886,85 @@ state 256
conditional shift and go to state 88
if_statement shift and go to state 56
-state 257
+state 255
- (146) assoc_array -> [ empty ] .
- > reduce using rule 146 (assoc_array -> [ empty ] .)
- < reduce using rule 146 (assoc_array -> [ empty ] .)
- & reduce using rule 146 (assoc_array -> [ empty ] .)
- EQ_GREATER reduce using rule 146 (assoc_array -> [ empty ] .)
- EQ_LESS reduce using rule 146 (assoc_array -> [ empty ] .)
- NOT_EQEQ reduce using rule 146 (assoc_array -> [ empty ] .)
- EQEQ reduce using rule 146 (assoc_array -> [ empty ] .)
- % reduce using rule 146 (assoc_array -> [ empty ] .)
- * reduce using rule 146 (assoc_array -> [ empty ] .)
- / reduce using rule 146 (assoc_array -> [ empty ] .)
- - reduce using rule 146 (assoc_array -> [ empty ] .)
- + reduce using rule 146 (assoc_array -> [ empty ] .)
- . reduce using rule 146 (assoc_array -> [ empty ] .)
- COLON_COLON reduce using rule 146 (assoc_array -> [ empty ] .)
- ^ reduce using rule 146 (assoc_array -> [ empty ] .)
- [ reduce using rule 146 (assoc_array -> [ empty ] .)
- ( reduce using rule 146 (assoc_array -> [ empty ] .)
- $ reduce using rule 146 (assoc_array -> [ empty ] .)
- ID reduce using rule 146 (assoc_array -> [ empty ] .)
- ! reduce using rule 146 (assoc_array -> [ empty ] .)
- { reduce using rule 146 (assoc_array -> [ empty ] .)
- FORMATTED_STRING reduce using rule 146 (assoc_array -> [ empty ] .)
- MULTILINE_STRING reduce using rule 146 (assoc_array -> [ empty ] .)
- STRING reduce using rule 146 (assoc_array -> [ empty ] .)
- CHAR reduce using rule 146 (assoc_array -> [ empty ] .)
- FALSE reduce using rule 146 (assoc_array -> [ empty ] .)
- TRUE reduce using rule 146 (assoc_array -> [ empty ] .)
- FLOAT reduce using rule 146 (assoc_array -> [ empty ] .)
- INT reduce using rule 146 (assoc_array -> [ empty ] .)
- NULL reduce using rule 146 (assoc_array -> [ empty ] .)
- PYTHON_CODE_EXEC reduce using rule 146 (assoc_array -> [ empty ] .)
- PYTHON_CODE reduce using rule 146 (assoc_array -> [ empty ] .)
- # reduce using rule 146 (assoc_array -> [ empty ] .)
- NEW reduce using rule 146 (assoc_array -> [ empty ] .)
- ? reduce using rule 146 (assoc_array -> [ empty ] .)
- HTMLSTART reduce using rule 146 (assoc_array -> [ empty ] .)
- FOREACH reduce using rule 146 (assoc_array -> [ empty ] .)
- FOR reduce using rule 146 (assoc_array -> [ empty ] .)
- IF reduce using rule 146 (assoc_array -> [ empty ] .)
- PHPSTART reduce using rule 146 (assoc_array -> [ empty ] .)
- LIMPORT reduce using rule 146 (assoc_array -> [ empty ] .)
- IMPORT reduce using rule 146 (assoc_array -> [ empty ] .)
- RETURN reduce using rule 146 (assoc_array -> [ empty ] .)
- DEL reduce using rule 146 (assoc_array -> [ empty ] .)
- DEBUG reduce using rule 146 (assoc_array -> [ empty ] .)
- SKIP reduce using rule 146 (assoc_array -> [ empty ] .)
- BREAK reduce using rule 146 (assoc_array -> [ empty ] .)
- LET reduce using rule 146 (assoc_array -> [ empty ] .)
- WHILE reduce using rule 146 (assoc_array -> [ empty ] .)
- NAMESPACE reduce using rule 146 (assoc_array -> [ empty ] .)
- CLASS reduce using rule 146 (assoc_array -> [ empty ] .)
- FUNC reduce using rule 146 (assoc_array -> [ empty ] .)
- INIT reduce using rule 146 (assoc_array -> [ empty ] .)
- $end reduce using rule 146 (assoc_array -> [ empty ] .)
- ; reduce using rule 146 (assoc_array -> [ empty ] .)
- | reduce using rule 146 (assoc_array -> [ empty ] .)
- , reduce using rule 146 (assoc_array -> [ empty ] .)
- PHPEND reduce using rule 146 (assoc_array -> [ empty ] .)
- } reduce using rule 146 (assoc_array -> [ empty ] .)
- ) reduce using rule 146 (assoc_array -> [ empty ] .)
- SARROW reduce using rule 146 (assoc_array -> [ empty ] .)
- ] reduce using rule 146 (assoc_array -> [ empty ] .)
- HTMLEND reduce using rule 146 (assoc_array -> [ empty ] .)
- EQ_DIV reduce using rule 146 (assoc_array -> [ empty ] .)
- EQ_MOD reduce using rule 146 (assoc_array -> [ empty ] .)
- EQ_MUL reduce using rule 146 (assoc_array -> [ empty ] .)
- EQ_SUB reduce using rule 146 (assoc_array -> [ empty ] .)
- EQ_ADD reduce using rule 146 (assoc_array -> [ empty ] .)
- = reduce using rule 146 (assoc_array -> [ empty ] .)
- AS reduce using rule 146 (assoc_array -> [ empty ] .)
+ (147) assoc_array -> [ empty ] .
+ > reduce using rule 147 (assoc_array -> [ empty ] .)
+ < reduce using rule 147 (assoc_array -> [ empty ] .)
+ & reduce using rule 147 (assoc_array -> [ empty ] .)
+ EQ_GREATER reduce using rule 147 (assoc_array -> [ empty ] .)
+ EQ_LESS reduce using rule 147 (assoc_array -> [ empty ] .)
+ NOT_EQEQ reduce using rule 147 (assoc_array -> [ empty ] .)
+ EQEQ reduce using rule 147 (assoc_array -> [ empty ] .)
+ % reduce using rule 147 (assoc_array -> [ empty ] .)
+ * reduce using rule 147 (assoc_array -> [ empty ] .)
+ / reduce using rule 147 (assoc_array -> [ empty ] .)
+ - reduce using rule 147 (assoc_array -> [ empty ] .)
+ + reduce using rule 147 (assoc_array -> [ empty ] .)
+ . reduce using rule 147 (assoc_array -> [ empty ] .)
+ COLON_COLON reduce using rule 147 (assoc_array -> [ empty ] .)
+ ^ reduce using rule 147 (assoc_array -> [ empty ] .)
+ [ reduce using rule 147 (assoc_array -> [ empty ] .)
+ ( reduce using rule 147 (assoc_array -> [ empty ] .)
+ $ reduce using rule 147 (assoc_array -> [ empty ] .)
+ ID reduce using rule 147 (assoc_array -> [ empty ] .)
+ ! reduce using rule 147 (assoc_array -> [ empty ] .)
+ { reduce using rule 147 (assoc_array -> [ empty ] .)
+ FORMATTED_STRING reduce using rule 147 (assoc_array -> [ empty ] .)
+ MULTILINE_STRING reduce using rule 147 (assoc_array -> [ empty ] .)
+ STRING reduce using rule 147 (assoc_array -> [ empty ] .)
+ CHAR reduce using rule 147 (assoc_array -> [ empty ] .)
+ FALSE reduce using rule 147 (assoc_array -> [ empty ] .)
+ TRUE reduce using rule 147 (assoc_array -> [ empty ] .)
+ FLOAT reduce using rule 147 (assoc_array -> [ empty ] .)
+ INT reduce using rule 147 (assoc_array -> [ empty ] .)
+ NULL reduce using rule 147 (assoc_array -> [ empty ] .)
+ PYTHON_CODE_EXEC reduce using rule 147 (assoc_array -> [ empty ] .)
+ PYTHON_CODE reduce using rule 147 (assoc_array -> [ empty ] .)
+ # reduce using rule 147 (assoc_array -> [ empty ] .)
+ NEW reduce using rule 147 (assoc_array -> [ empty ] .)
+ ? reduce using rule 147 (assoc_array -> [ empty ] .)
+ HTMLSTART reduce using rule 147 (assoc_array -> [ empty ] .)
+ FOREACH reduce using rule 147 (assoc_array -> [ empty ] .)
+ FOR reduce using rule 147 (assoc_array -> [ empty ] .)
+ IF reduce using rule 147 (assoc_array -> [ empty ] .)
+ PHPSTART reduce using rule 147 (assoc_array -> [ empty ] .)
+ LIMPORT reduce using rule 147 (assoc_array -> [ empty ] .)
+ IMPORT reduce using rule 147 (assoc_array -> [ empty ] .)
+ RETURN reduce using rule 147 (assoc_array -> [ empty ] .)
+ DEL reduce using rule 147 (assoc_array -> [ empty ] .)
+ DEBUG reduce using rule 147 (assoc_array -> [ empty ] .)
+ SKIP reduce using rule 147 (assoc_array -> [ empty ] .)
+ BREAK reduce using rule 147 (assoc_array -> [ empty ] .)
+ LET reduce using rule 147 (assoc_array -> [ empty ] .)
+ WHILE reduce using rule 147 (assoc_array -> [ empty ] .)
+ NAMESPACE reduce using rule 147 (assoc_array -> [ empty ] .)
+ CLASS reduce using rule 147 (assoc_array -> [ empty ] .)
+ FUNC reduce using rule 147 (assoc_array -> [ empty ] .)
+ INIT reduce using rule 147 (assoc_array -> [ empty ] .)
+ $end reduce using rule 147 (assoc_array -> [ empty ] .)
+ ; reduce using rule 147 (assoc_array -> [ empty ] .)
+ | reduce using rule 147 (assoc_array -> [ empty ] .)
+ , reduce using rule 147 (assoc_array -> [ empty ] .)
+ PHPEND reduce using rule 147 (assoc_array -> [ empty ] .)
+ } reduce using rule 147 (assoc_array -> [ empty ] .)
+ ) reduce using rule 147 (assoc_array -> [ empty ] .)
+ SARROW reduce using rule 147 (assoc_array -> [ empty ] .)
+ ] reduce using rule 147 (assoc_array -> [ empty ] .)
+ HTMLEND reduce using rule 147 (assoc_array -> [ empty ] .)
+ EQ_DIV reduce using rule 147 (assoc_array -> [ empty ] .)
+ EQ_MOD reduce using rule 147 (assoc_array -> [ empty ] .)
+ EQ_MUL reduce using rule 147 (assoc_array -> [ empty ] .)
+ EQ_SUB reduce using rule 147 (assoc_array -> [ empty ] .)
+ EQ_ADD reduce using rule 147 (assoc_array -> [ empty ] .)
+ = reduce using rule 147 (assoc_array -> [ empty ] .)
+ AS reduce using rule 147 (assoc_array -> [ empty ] .)
-state 258
+state 256
- (153) _list -> [ positional_args , . ]
- (113) positional_args -> positional_args , . expression
+ (154) _list -> [ positional_args , . ]
+ (114) positional_args -> positional_args , . expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -27015,28 +27003,28 @@ state 258
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -27061,14 +27049,14 @@ state 258
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ] shift and go to state 310
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ] shift and go to state 308
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -27077,7 +27065,7 @@ state 258
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -27099,7 +27087,7 @@ state 258
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 276
+ expression shift and go to state 277
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -27118,84 +27106,84 @@ state 258
conditional shift and go to state 88
if_statement shift and go to state 56
-state 259
+state 257
- (154) _list -> [ positional_args ] .
- > reduce using rule 154 (_list -> [ positional_args ] .)
- < reduce using rule 154 (_list -> [ positional_args ] .)
- & reduce using rule 154 (_list -> [ positional_args ] .)
- EQ_GREATER reduce using rule 154 (_list -> [ positional_args ] .)
- EQ_LESS reduce using rule 154 (_list -> [ positional_args ] .)
- NOT_EQEQ reduce using rule 154 (_list -> [ positional_args ] .)
- EQEQ reduce using rule 154 (_list -> [ positional_args ] .)
- % reduce using rule 154 (_list -> [ positional_args ] .)
- * reduce using rule 154 (_list -> [ positional_args ] .)
- / reduce using rule 154 (_list -> [ positional_args ] .)
- - reduce using rule 154 (_list -> [ positional_args ] .)
- + reduce using rule 154 (_list -> [ positional_args ] .)
- . reduce using rule 154 (_list -> [ positional_args ] .)
- COLON_COLON reduce using rule 154 (_list -> [ positional_args ] .)
- ^ reduce using rule 154 (_list -> [ positional_args ] .)
- [ reduce using rule 154 (_list -> [ positional_args ] .)
- ( reduce using rule 154 (_list -> [ positional_args ] .)
- $ reduce using rule 154 (_list -> [ positional_args ] .)
- ID reduce using rule 154 (_list -> [ positional_args ] .)
- ! reduce using rule 154 (_list -> [ positional_args ] .)
- { reduce using rule 154 (_list -> [ positional_args ] .)
- FORMATTED_STRING reduce using rule 154 (_list -> [ positional_args ] .)
- MULTILINE_STRING reduce using rule 154 (_list -> [ positional_args ] .)
- STRING reduce using rule 154 (_list -> [ positional_args ] .)
- CHAR reduce using rule 154 (_list -> [ positional_args ] .)
- FALSE reduce using rule 154 (_list -> [ positional_args ] .)
- TRUE reduce using rule 154 (_list -> [ positional_args ] .)
- FLOAT reduce using rule 154 (_list -> [ positional_args ] .)
- INT reduce using rule 154 (_list -> [ positional_args ] .)
- NULL reduce using rule 154 (_list -> [ positional_args ] .)
- PYTHON_CODE_EXEC reduce using rule 154 (_list -> [ positional_args ] .)
- PYTHON_CODE reduce using rule 154 (_list -> [ positional_args ] .)
- # reduce using rule 154 (_list -> [ positional_args ] .)
- NEW reduce using rule 154 (_list -> [ positional_args ] .)
- ? reduce using rule 154 (_list -> [ positional_args ] .)
- HTMLSTART reduce using rule 154 (_list -> [ positional_args ] .)
- FOREACH reduce using rule 154 (_list -> [ positional_args ] .)
- FOR reduce using rule 154 (_list -> [ positional_args ] .)
- IF reduce using rule 154 (_list -> [ positional_args ] .)
- PHPSTART reduce using rule 154 (_list -> [ positional_args ] .)
- LIMPORT reduce using rule 154 (_list -> [ positional_args ] .)
- IMPORT reduce using rule 154 (_list -> [ positional_args ] .)
- RETURN reduce using rule 154 (_list -> [ positional_args ] .)
- DEL reduce using rule 154 (_list -> [ positional_args ] .)
- DEBUG reduce using rule 154 (_list -> [ positional_args ] .)
- SKIP reduce using rule 154 (_list -> [ positional_args ] .)
- BREAK reduce using rule 154 (_list -> [ positional_args ] .)
- LET reduce using rule 154 (_list -> [ positional_args ] .)
- WHILE reduce using rule 154 (_list -> [ positional_args ] .)
- NAMESPACE reduce using rule 154 (_list -> [ positional_args ] .)
- CLASS reduce using rule 154 (_list -> [ positional_args ] .)
- FUNC reduce using rule 154 (_list -> [ positional_args ] .)
- INIT reduce using rule 154 (_list -> [ positional_args ] .)
- $end reduce using rule 154 (_list -> [ positional_args ] .)
- ; reduce using rule 154 (_list -> [ positional_args ] .)
- | reduce using rule 154 (_list -> [ positional_args ] .)
- , reduce using rule 154 (_list -> [ positional_args ] .)
- PHPEND reduce using rule 154 (_list -> [ positional_args ] .)
- } reduce using rule 154 (_list -> [ positional_args ] .)
- ) reduce using rule 154 (_list -> [ positional_args ] .)
- SARROW reduce using rule 154 (_list -> [ positional_args ] .)
- ] reduce using rule 154 (_list -> [ positional_args ] .)
- HTMLEND reduce using rule 154 (_list -> [ positional_args ] .)
- EQ_DIV reduce using rule 154 (_list -> [ positional_args ] .)
- EQ_MOD reduce using rule 154 (_list -> [ positional_args ] .)
- EQ_MUL reduce using rule 154 (_list -> [ positional_args ] .)
- EQ_SUB reduce using rule 154 (_list -> [ positional_args ] .)
- EQ_ADD reduce using rule 154 (_list -> [ positional_args ] .)
- = reduce using rule 154 (_list -> [ positional_args ] .)
- AS reduce using rule 154 (_list -> [ positional_args ] .)
+ (155) _list -> [ positional_args ] .
+ > reduce using rule 155 (_list -> [ positional_args ] .)
+ < reduce using rule 155 (_list -> [ positional_args ] .)
+ & reduce using rule 155 (_list -> [ positional_args ] .)
+ EQ_GREATER reduce using rule 155 (_list -> [ positional_args ] .)
+ EQ_LESS reduce using rule 155 (_list -> [ positional_args ] .)
+ NOT_EQEQ reduce using rule 155 (_list -> [ positional_args ] .)
+ EQEQ reduce using rule 155 (_list -> [ positional_args ] .)
+ % reduce using rule 155 (_list -> [ positional_args ] .)
+ * reduce using rule 155 (_list -> [ positional_args ] .)
+ / reduce using rule 155 (_list -> [ positional_args ] .)
+ - reduce using rule 155 (_list -> [ positional_args ] .)
+ + reduce using rule 155 (_list -> [ positional_args ] .)
+ . reduce using rule 155 (_list -> [ positional_args ] .)
+ COLON_COLON reduce using rule 155 (_list -> [ positional_args ] .)
+ ^ reduce using rule 155 (_list -> [ positional_args ] .)
+ [ reduce using rule 155 (_list -> [ positional_args ] .)
+ ( reduce using rule 155 (_list -> [ positional_args ] .)
+ $ reduce using rule 155 (_list -> [ positional_args ] .)
+ ID reduce using rule 155 (_list -> [ positional_args ] .)
+ ! reduce using rule 155 (_list -> [ positional_args ] .)
+ { reduce using rule 155 (_list -> [ positional_args ] .)
+ FORMATTED_STRING reduce using rule 155 (_list -> [ positional_args ] .)
+ MULTILINE_STRING reduce using rule 155 (_list -> [ positional_args ] .)
+ STRING reduce using rule 155 (_list -> [ positional_args ] .)
+ CHAR reduce using rule 155 (_list -> [ positional_args ] .)
+ FALSE reduce using rule 155 (_list -> [ positional_args ] .)
+ TRUE reduce using rule 155 (_list -> [ positional_args ] .)
+ FLOAT reduce using rule 155 (_list -> [ positional_args ] .)
+ INT reduce using rule 155 (_list -> [ positional_args ] .)
+ NULL reduce using rule 155 (_list -> [ positional_args ] .)
+ PYTHON_CODE_EXEC reduce using rule 155 (_list -> [ positional_args ] .)
+ PYTHON_CODE reduce using rule 155 (_list -> [ positional_args ] .)
+ # reduce using rule 155 (_list -> [ positional_args ] .)
+ NEW reduce using rule 155 (_list -> [ positional_args ] .)
+ ? reduce using rule 155 (_list -> [ positional_args ] .)
+ HTMLSTART reduce using rule 155 (_list -> [ positional_args ] .)
+ FOREACH reduce using rule 155 (_list -> [ positional_args ] .)
+ FOR reduce using rule 155 (_list -> [ positional_args ] .)
+ IF reduce using rule 155 (_list -> [ positional_args ] .)
+ PHPSTART reduce using rule 155 (_list -> [ positional_args ] .)
+ LIMPORT reduce using rule 155 (_list -> [ positional_args ] .)
+ IMPORT reduce using rule 155 (_list -> [ positional_args ] .)
+ RETURN reduce using rule 155 (_list -> [ positional_args ] .)
+ DEL reduce using rule 155 (_list -> [ positional_args ] .)
+ DEBUG reduce using rule 155 (_list -> [ positional_args ] .)
+ SKIP reduce using rule 155 (_list -> [ positional_args ] .)
+ BREAK reduce using rule 155 (_list -> [ positional_args ] .)
+ LET reduce using rule 155 (_list -> [ positional_args ] .)
+ WHILE reduce using rule 155 (_list -> [ positional_args ] .)
+ NAMESPACE reduce using rule 155 (_list -> [ positional_args ] .)
+ CLASS reduce using rule 155 (_list -> [ positional_args ] .)
+ FUNC reduce using rule 155 (_list -> [ positional_args ] .)
+ INIT reduce using rule 155 (_list -> [ positional_args ] .)
+ $end reduce using rule 155 (_list -> [ positional_args ] .)
+ ; reduce using rule 155 (_list -> [ positional_args ] .)
+ | reduce using rule 155 (_list -> [ positional_args ] .)
+ , reduce using rule 155 (_list -> [ positional_args ] .)
+ PHPEND reduce using rule 155 (_list -> [ positional_args ] .)
+ } reduce using rule 155 (_list -> [ positional_args ] .)
+ ) reduce using rule 155 (_list -> [ positional_args ] .)
+ SARROW reduce using rule 155 (_list -> [ positional_args ] .)
+ ] reduce using rule 155 (_list -> [ positional_args ] .)
+ HTMLEND reduce using rule 155 (_list -> [ positional_args ] .)
+ EQ_DIV reduce using rule 155 (_list -> [ positional_args ] .)
+ EQ_MOD reduce using rule 155 (_list -> [ positional_args ] .)
+ EQ_MUL reduce using rule 155 (_list -> [ positional_args ] .)
+ EQ_SUB reduce using rule 155 (_list -> [ positional_args ] .)
+ EQ_ADD reduce using rule 155 (_list -> [ positional_args ] .)
+ = reduce using rule 155 (_list -> [ positional_args ] .)
+ AS reduce using rule 155 (_list -> [ positional_args ] .)
-state 260
+state 258
- (147) assoc_array_items -> expression SARROW . expression
+ (148) assoc_array_items -> expression SARROW . expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -27234,28 +27222,28 @@ state 260
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -27280,13 +27268,13 @@ state 260
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -27295,7 +27283,7 @@ state 260
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -27317,7 +27305,7 @@ state 260
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 311
+ expression shift and go to state 309
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -27336,38 +27324,27 @@ state 260
conditional shift and go to state 88
if_statement shift and go to state 56
-state 261
+state 259
- (78) function_call -> # DEPENDS expression .
- (33) expression -> expression . > expression
- (34) expression -> expression . < expression
- (38) expression -> expression . & expression
- (40) expression -> expression . EQ_GREATER expression
- (41) expression -> expression . EQ_LESS expression
- (42) expression -> expression . NOT_EQEQ expression
- (43) expression -> expression . EQEQ expression
- (44) expression -> expression . % expression
- (45) expression -> expression . * expression
- (46) expression -> expression . / expression
- (47) expression -> expression . - expression
- (48) expression -> expression . + expression
- (54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
- (73) function_call -> expression . ( empty ) FARROW { program }
- (80) function_call -> expression . ( empty )
- (87) function_call -> expression . ( function_arguments ) FARROW { program }
- (88) function_call -> expression . $ ID = expression ;
- (89) function_call -> expression . ( function_arguments )
- (90) function_call -> expression . function_arguments
+ (91) function_declaration -> FUNC ID COLON_COLON . ID ( empty ) { program } TARROW expression
+ (92) function_declaration -> FUNC ID COLON_COLON . ID ( function_arguments ) { program } TARROW expression
+ ID shift and go to state 310
+
+
+state 260
+
+ (98) function_declaration -> FUNC ID ( . empty ) { program }
+ (99) function_declaration -> FUNC ID ( . empty ) : expression { program }
+ (100) function_declaration -> FUNC ID ( . function_arguments ) { program }
+ (101) function_declaration -> FUNC ID ( . function_arguments ) : expression { program }
+ (170) empty -> .
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -27406,28 +27383,28 @@ state 261
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -27452,13 +27429,196 @@ state 261
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ) reduce using rule 170 (empty -> .)
+ ID shift and go to state 104
+ ( shift and go to state 32
+ ! shift and go to state 33
+ + shift and go to state 34
+ - shift and go to state 35
+ * shift and go to state 38
+ & shift and go to state 36
+ $ shift and go to state 85
+ [ shift and go to state 59
+ { shift and go to state 49
+ FORMATTED_STRING shift and go to state 62
+ MULTILINE_STRING shift and go to state 63
+ STRING shift and go to state 64
+ CHAR shift and go to state 65
+ FALSE shift and go to state 66
+ TRUE shift and go to state 67
+ FLOAT shift and go to state 68
+ INT shift and go to state 69
+ NULL shift and go to state 70
+ PYTHON_CODE_EXEC shift and go to state 71
+ PYTHON_CODE shift and go to state 72
+ . shift and go to state 86
+ # shift and go to state 73
+ NEW shift and go to state 74
+ ? shift and go to state 78
+ HTMLSTART shift and go to state 75
+ FOREACH shift and go to state 48
+ FOR shift and go to state 50
+ IF shift and go to state 76
+
+ empty shift and go to state 311
+ expression shift and go to state 89
+ function_arguments shift and go to state 312
+ kwargs shift and go to state 110
+ positional_args shift and go to state 111
+ id shift and go to state 24
+ assoc_array shift and go to state 20
+ _list shift and go to state 21
+ _tuple shift and go to state 22
+ class_attribute shift and go to state 23
+ string shift and go to state 25
+ bool shift and go to state 26
+ float shift and go to state 27
+ int shift and go to state 28
+ null shift and go to state 29
+ get_index shift and go to state 81
+ python_code shift and go to state 82
+ function_call shift and go to state 83
+ html_full shift and go to state 42
+ for_loop shift and go to state 87
+ conditional shift and go to state 88
+ if_statement shift and go to state 56
+
+state 261
+
+ (93) function_declaration -> INIT ( function_arguments . ) { program } ;
+ ) shift and go to state 313
+
+
+state 262
+
+ (78) function_call -> # DEPENDS expression .
+ (33) expression -> expression . > expression
+ (34) expression -> expression . < expression
+ (38) expression -> expression . & expression
+ (40) expression -> expression . EQ_GREATER expression
+ (41) expression -> expression . EQ_LESS expression
+ (42) expression -> expression . NOT_EQEQ expression
+ (43) expression -> expression . EQEQ expression
+ (44) expression -> expression . % expression
+ (45) expression -> expression . * expression
+ (46) expression -> expression . / expression
+ (47) expression -> expression . - expression
+ (48) expression -> expression . + expression
+ (54) expression -> expression . . expression
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
+ (73) function_call -> expression . ( empty ) FARROW { program }
+ (80) function_call -> expression . ( empty )
+ (87) function_call -> expression . ( function_arguments ) FARROW { program }
+ (88) function_call -> expression . $ ID = expression ;
+ (89) function_call -> expression . ( function_arguments )
+ (90) function_call -> expression . function_arguments
+ (102) function_arguments -> . kwargs
+ (103) function_arguments -> . positional_args , kwargs
+ (104) function_arguments -> . positional_args
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
+ (20) expression -> . assoc_array
+ (21) expression -> . _list
+ (22) expression -> . _tuple
+ (23) expression -> . class_attribute
+ (24) expression -> . id
+ (25) expression -> . string
+ (26) expression -> . bool
+ (27) expression -> . float
+ (28) expression -> . int
+ (29) expression -> . null
+ (30) expression -> . get_index
+ (31) expression -> . python_code
+ (32) expression -> . ( expression )
+ (33) expression -> . expression > expression
+ (34) expression -> . expression < expression
+ (35) expression -> . ! expression
+ (36) expression -> . + expression
+ (37) expression -> . - expression
+ (38) expression -> . expression & expression
+ (39) expression -> . function_call | function_call
+ (40) expression -> . expression EQ_GREATER expression
+ (41) expression -> . expression EQ_LESS expression
+ (42) expression -> . expression NOT_EQEQ expression
+ (43) expression -> . expression EQEQ expression
+ (44) expression -> . expression % expression
+ (45) expression -> . expression * expression
+ (46) expression -> . expression / expression
+ (47) expression -> . expression - expression
+ (48) expression -> . expression + expression
+ (49) expression -> . function_call
+ (50) expression -> . * ID
+ (51) expression -> . & ID
+ (52) expression -> . ID OF ID
+ (53) expression -> . $ expression
+ (54) expression -> . expression . expression
+ (55) expression -> . html_full
+ (56) expression -> . for_loop
+ (57) expression -> . conditional
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
+ (71) function_call -> . . ENV FROM ID { program }
+ (72) function_call -> . . ENV { program }
+ (73) function_call -> . expression ( empty ) FARROW { program }
+ (74) function_call -> . ID TARROW ID ( function_arguments )
+ (75) function_call -> . ID \ ID
+ (76) function_call -> . ID / ID
+ (77) function_call -> . ID TARROW ID
+ (78) function_call -> . # DEPENDS expression
+ (79) function_call -> . # DEFINE expression ? ID
+ (80) function_call -> . expression ( empty )
+ (81) function_call -> . NEW expression ( empty )
+ (82) function_call -> . NEW expression ( function_arguments )
+ (83) function_call -> . ID COLON_COLON ID ( empty )
+ (84) function_call -> . ID COLON_COLON ID ( function_arguments )
+ (85) function_call -> . $ ID TARROW ID ( empty )
+ (86) function_call -> . $ ID TARROW ID ( function_arguments )
+ (87) function_call -> . expression ( function_arguments ) FARROW { program }
+ (88) function_call -> . expression $ ID = expression ;
+ (89) function_call -> . expression ( function_arguments )
+ (90) function_call -> . expression function_arguments
+ (60) html_full -> . ? HTMLEND
+ (61) html_full -> . HTMLSTART
+ (62) html_full -> . HTMLSTART empty HTMLEND
+ (63) html_full -> . HTMLSTART expression HTMLEND
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
! shift/reduce conflict for > resolved as shift
! shift/reduce conflict for < resolved as shift
! shift/reduce conflict for & resolved as shift
@@ -27591,7 +27751,7 @@ state 261
conditional shift and go to state 88
if_statement shift and go to state 56
-state 262
+state 263
(79) function_call -> # DEFINE expression . ? ID
(33) expression -> expression . > expression
@@ -27607,9 +27767,9 @@ state 262
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -27619,10 +27779,10 @@ state 262
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -27661,28 +27821,28 @@ state 262
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -27707,14 +27867,14 @@ state 262
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ? shift and go to state 312
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ? shift and go to state 314
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -27776,7 +27936,7 @@ state 262
conditional shift and go to state 88
if_statement shift and go to state 56
-state 263
+state 264
(81) function_call -> NEW expression ( . empty )
(82) function_call -> NEW expression ( . function_arguments )
@@ -27785,7 +27945,7 @@ state 263
(87) function_call -> expression ( . function_arguments ) FARROW { program }
(89) function_call -> expression ( . function_arguments )
(32) expression -> ( . expression )
- (169) empty -> .
+ (170) empty -> .
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
@@ -27827,32 +27987,32 @@ state 263
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -27877,14 +28037,14 @@ state 263
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ) reduce using rule 169 (empty -> .)
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ) reduce using rule 170 (empty -> .)
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -27893,7 +28053,7 @@ state 263
& shift and go to state 36
ID shift and go to state 200
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -27916,8 +28076,8 @@ state 263
IF shift and go to state 76
expression shift and go to state 197
- empty shift and go to state 313
- function_arguments shift and go to state 314
+ empty shift and go to state 315
+ function_arguments shift and go to state 316
kwargs shift and go to state 110
positional_args shift and go to state 111
assoc_array shift and go to state 20
@@ -27938,7 +28098,7 @@ state 263
conditional shift and go to state 88
if_statement shift and go to state 56
-state 264
+state 265
(62) html_full -> HTMLSTART empty HTMLEND .
> reduce using rule 62 (html_full -> HTMLSTART empty HTMLEND .)
@@ -28013,7 +28173,7 @@ state 264
AS reduce using rule 62 (html_full -> HTMLSTART empty HTMLEND .)
-state 265
+state 266
(63) html_full -> HTMLSTART expression HTMLEND .
> reduce using rule 63 (html_full -> HTMLSTART expression HTMLEND .)
@@ -28088,9 +28248,9 @@ state 265
AS reduce using rule 63 (html_full -> HTMLSTART expression HTMLEND .)
-state 266
+state 267
- (134) if_statement -> IF ( expression . ) { program }
+ (135) if_statement -> IF ( expression . ) { program }
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -28104,9 +28264,9 @@ state 266
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -28116,10 +28276,10 @@ state 266
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -28158,28 +28318,28 @@ state 266
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -28204,14 +28364,14 @@ state 266
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ) shift and go to state 315
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ) shift and go to state 317
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -28274,18 +28434,18 @@ state 266
conditional shift and go to state 88
if_statement shift and go to state 56
-state 267
+state 268
(85) function_call -> $ ID TARROW . ID ( empty )
(86) function_call -> $ ID TARROW . ID ( function_arguments )
(74) function_call -> ID TARROW . ID ( function_arguments )
(77) function_call -> ID TARROW . ID
- ID shift and go to state 316
+ ID shift and go to state 318
-state 268
+state 269
- (114) kwargs -> ID = expression .
+ (115) kwargs -> ID = expression .
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -28299,9 +28459,9 @@ state 268
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -28311,10 +28471,10 @@ state 268
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -28353,28 +28513,28 @@ state 268
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -28399,69 +28559,69 @@ state 268
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- , reduce using rule 114 (kwargs -> ID = expression .)
- | reduce using rule 114 (kwargs -> ID = expression .)
- ; reduce using rule 114 (kwargs -> ID = expression .)
- . reduce using rule 114 (kwargs -> ID = expression .)
- ^ reduce using rule 114 (kwargs -> ID = expression .)
- [ reduce using rule 114 (kwargs -> ID = expression .)
- ( reduce using rule 114 (kwargs -> ID = expression .)
- $ reduce using rule 114 (kwargs -> ID = expression .)
- ID reduce using rule 114 (kwargs -> ID = expression .)
- { reduce using rule 114 (kwargs -> ID = expression .)
- FORMATTED_STRING reduce using rule 114 (kwargs -> ID = expression .)
- MULTILINE_STRING reduce using rule 114 (kwargs -> ID = expression .)
- STRING reduce using rule 114 (kwargs -> ID = expression .)
- CHAR reduce using rule 114 (kwargs -> ID = expression .)
- FALSE reduce using rule 114 (kwargs -> ID = expression .)
- TRUE reduce using rule 114 (kwargs -> ID = expression .)
- FLOAT reduce using rule 114 (kwargs -> ID = expression .)
- INT reduce using rule 114 (kwargs -> ID = expression .)
- NULL reduce using rule 114 (kwargs -> ID = expression .)
- PYTHON_CODE_EXEC reduce using rule 114 (kwargs -> ID = expression .)
- PYTHON_CODE reduce using rule 114 (kwargs -> ID = expression .)
- # reduce using rule 114 (kwargs -> ID = expression .)
- NEW reduce using rule 114 (kwargs -> ID = expression .)
- ? reduce using rule 114 (kwargs -> ID = expression .)
- HTMLSTART reduce using rule 114 (kwargs -> ID = expression .)
- FOREACH reduce using rule 114 (kwargs -> ID = expression .)
- FOR reduce using rule 114 (kwargs -> ID = expression .)
- IF reduce using rule 114 (kwargs -> ID = expression .)
- PHPSTART reduce using rule 114 (kwargs -> ID = expression .)
- LIMPORT reduce using rule 114 (kwargs -> ID = expression .)
- IMPORT reduce using rule 114 (kwargs -> ID = expression .)
- RETURN reduce using rule 114 (kwargs -> ID = expression .)
- DEL reduce using rule 114 (kwargs -> ID = expression .)
- DEBUG reduce using rule 114 (kwargs -> ID = expression .)
- SKIP reduce using rule 114 (kwargs -> ID = expression .)
- BREAK reduce using rule 114 (kwargs -> ID = expression .)
- LET reduce using rule 114 (kwargs -> ID = expression .)
- WHILE reduce using rule 114 (kwargs -> ID = expression .)
- NAMESPACE reduce using rule 114 (kwargs -> ID = expression .)
- CLASS reduce using rule 114 (kwargs -> ID = expression .)
- FUNC reduce using rule 114 (kwargs -> ID = expression .)
- INIT reduce using rule 114 (kwargs -> ID = expression .)
- $end reduce using rule 114 (kwargs -> ID = expression .)
- PHPEND reduce using rule 114 (kwargs -> ID = expression .)
- } reduce using rule 114 (kwargs -> ID = expression .)
- ) reduce using rule 114 (kwargs -> ID = expression .)
- SARROW reduce using rule 114 (kwargs -> ID = expression .)
- ] reduce using rule 114 (kwargs -> ID = expression .)
- HTMLEND reduce using rule 114 (kwargs -> ID = expression .)
- EQ_DIV reduce using rule 114 (kwargs -> ID = expression .)
- EQ_MOD reduce using rule 114 (kwargs -> ID = expression .)
- EQ_MUL reduce using rule 114 (kwargs -> ID = expression .)
- EQ_SUB reduce using rule 114 (kwargs -> ID = expression .)
- EQ_ADD reduce using rule 114 (kwargs -> ID = expression .)
- = reduce using rule 114 (kwargs -> ID = expression .)
- AS reduce using rule 114 (kwargs -> ID = expression .)
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ , reduce using rule 115 (kwargs -> ID = expression .)
+ | reduce using rule 115 (kwargs -> ID = expression .)
+ ; reduce using rule 115 (kwargs -> ID = expression .)
+ . reduce using rule 115 (kwargs -> ID = expression .)
+ ^ reduce using rule 115 (kwargs -> ID = expression .)
+ [ reduce using rule 115 (kwargs -> ID = expression .)
+ ( reduce using rule 115 (kwargs -> ID = expression .)
+ $ reduce using rule 115 (kwargs -> ID = expression .)
+ ID reduce using rule 115 (kwargs -> ID = expression .)
+ { reduce using rule 115 (kwargs -> ID = expression .)
+ FORMATTED_STRING reduce using rule 115 (kwargs -> ID = expression .)
+ MULTILINE_STRING reduce using rule 115 (kwargs -> ID = expression .)
+ STRING reduce using rule 115 (kwargs -> ID = expression .)
+ CHAR reduce using rule 115 (kwargs -> ID = expression .)
+ FALSE reduce using rule 115 (kwargs -> ID = expression .)
+ TRUE reduce using rule 115 (kwargs -> ID = expression .)
+ FLOAT reduce using rule 115 (kwargs -> ID = expression .)
+ INT reduce using rule 115 (kwargs -> ID = expression .)
+ NULL reduce using rule 115 (kwargs -> ID = expression .)
+ PYTHON_CODE_EXEC reduce using rule 115 (kwargs -> ID = expression .)
+ PYTHON_CODE reduce using rule 115 (kwargs -> ID = expression .)
+ # reduce using rule 115 (kwargs -> ID = expression .)
+ NEW reduce using rule 115 (kwargs -> ID = expression .)
+ ? reduce using rule 115 (kwargs -> ID = expression .)
+ HTMLSTART reduce using rule 115 (kwargs -> ID = expression .)
+ FOREACH reduce using rule 115 (kwargs -> ID = expression .)
+ FOR reduce using rule 115 (kwargs -> ID = expression .)
+ IF reduce using rule 115 (kwargs -> ID = expression .)
+ PHPSTART reduce using rule 115 (kwargs -> ID = expression .)
+ LIMPORT reduce using rule 115 (kwargs -> ID = expression .)
+ IMPORT reduce using rule 115 (kwargs -> ID = expression .)
+ RETURN reduce using rule 115 (kwargs -> ID = expression .)
+ DEL reduce using rule 115 (kwargs -> ID = expression .)
+ DEBUG reduce using rule 115 (kwargs -> ID = expression .)
+ SKIP reduce using rule 115 (kwargs -> ID = expression .)
+ BREAK reduce using rule 115 (kwargs -> ID = expression .)
+ LET reduce using rule 115 (kwargs -> ID = expression .)
+ WHILE reduce using rule 115 (kwargs -> ID = expression .)
+ NAMESPACE reduce using rule 115 (kwargs -> ID = expression .)
+ CLASS reduce using rule 115 (kwargs -> ID = expression .)
+ FUNC reduce using rule 115 (kwargs -> ID = expression .)
+ INIT reduce using rule 115 (kwargs -> ID = expression .)
+ $end reduce using rule 115 (kwargs -> ID = expression .)
+ PHPEND reduce using rule 115 (kwargs -> ID = expression .)
+ } reduce using rule 115 (kwargs -> ID = expression .)
+ ) reduce using rule 115 (kwargs -> ID = expression .)
+ SARROW reduce using rule 115 (kwargs -> ID = expression .)
+ ] reduce using rule 115 (kwargs -> ID = expression .)
+ HTMLEND reduce using rule 115 (kwargs -> ID = expression .)
+ EQ_DIV reduce using rule 115 (kwargs -> ID = expression .)
+ EQ_MOD reduce using rule 115 (kwargs -> ID = expression .)
+ EQ_MUL reduce using rule 115 (kwargs -> ID = expression .)
+ EQ_SUB reduce using rule 115 (kwargs -> ID = expression .)
+ EQ_ADD reduce using rule 115 (kwargs -> ID = expression .)
+ = reduce using rule 115 (kwargs -> ID = expression .)
+ AS reduce using rule 115 (kwargs -> ID = expression .)
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -28499,86 +28659,86 @@ state 268
conditional shift and go to state 88
if_statement shift and go to state 56
-state 269
+state 270
- (150) get_index -> expression [ expression ] .
- EQ_DIV reduce using rule 150 (get_index -> expression [ expression ] .)
- EQ_MOD reduce using rule 150 (get_index -> expression [ expression ] .)
- EQ_MUL reduce using rule 150 (get_index -> expression [ expression ] .)
- EQ_SUB reduce using rule 150 (get_index -> expression [ expression ] .)
- EQ_ADD reduce using rule 150 (get_index -> expression [ expression ] .)
- > reduce using rule 150 (get_index -> expression [ expression ] .)
- < reduce using rule 150 (get_index -> expression [ expression ] .)
- & reduce using rule 150 (get_index -> expression [ expression ] .)
- EQ_GREATER reduce using rule 150 (get_index -> expression [ expression ] .)
- EQ_LESS reduce using rule 150 (get_index -> expression [ expression ] .)
- NOT_EQEQ reduce using rule 150 (get_index -> expression [ expression ] .)
- EQEQ reduce using rule 150 (get_index -> expression [ expression ] .)
- % reduce using rule 150 (get_index -> expression [ expression ] .)
- * reduce using rule 150 (get_index -> expression [ expression ] .)
- / reduce using rule 150 (get_index -> expression [ expression ] .)
- - reduce using rule 150 (get_index -> expression [ expression ] .)
- + reduce using rule 150 (get_index -> expression [ expression ] .)
- . reduce using rule 150 (get_index -> expression [ expression ] .)
- COLON_COLON reduce using rule 150 (get_index -> expression [ expression ] .)
- ^ reduce using rule 150 (get_index -> expression [ expression ] .)
- [ reduce using rule 150 (get_index -> expression [ expression ] .)
- ( reduce using rule 150 (get_index -> expression [ expression ] .)
- $ reduce using rule 150 (get_index -> expression [ expression ] .)
- ID reduce using rule 150 (get_index -> expression [ expression ] .)
- ! reduce using rule 150 (get_index -> expression [ expression ] .)
- { reduce using rule 150 (get_index -> expression [ expression ] .)
- FORMATTED_STRING reduce using rule 150 (get_index -> expression [ expression ] .)
- MULTILINE_STRING reduce using rule 150 (get_index -> expression [ expression ] .)
- STRING reduce using rule 150 (get_index -> expression [ expression ] .)
- CHAR reduce using rule 150 (get_index -> expression [ expression ] .)
- FALSE reduce using rule 150 (get_index -> expression [ expression ] .)
- TRUE reduce using rule 150 (get_index -> expression [ expression ] .)
- FLOAT reduce using rule 150 (get_index -> expression [ expression ] .)
- INT reduce using rule 150 (get_index -> expression [ expression ] .)
- NULL reduce using rule 150 (get_index -> expression [ expression ] .)
- PYTHON_CODE_EXEC reduce using rule 150 (get_index -> expression [ expression ] .)
- PYTHON_CODE reduce using rule 150 (get_index -> expression [ expression ] .)
- # reduce using rule 150 (get_index -> expression [ expression ] .)
- NEW reduce using rule 150 (get_index -> expression [ expression ] .)
- ? reduce using rule 150 (get_index -> expression [ expression ] .)
- HTMLSTART reduce using rule 150 (get_index -> expression [ expression ] .)
- FOREACH reduce using rule 150 (get_index -> expression [ expression ] .)
- FOR reduce using rule 150 (get_index -> expression [ expression ] .)
- IF reduce using rule 150 (get_index -> expression [ expression ] .)
- PHPSTART reduce using rule 150 (get_index -> expression [ expression ] .)
- LIMPORT reduce using rule 150 (get_index -> expression [ expression ] .)
- IMPORT reduce using rule 150 (get_index -> expression [ expression ] .)
- RETURN reduce using rule 150 (get_index -> expression [ expression ] .)
- DEL reduce using rule 150 (get_index -> expression [ expression ] .)
- DEBUG reduce using rule 150 (get_index -> expression [ expression ] .)
- SKIP reduce using rule 150 (get_index -> expression [ expression ] .)
- BREAK reduce using rule 150 (get_index -> expression [ expression ] .)
- LET reduce using rule 150 (get_index -> expression [ expression ] .)
- WHILE reduce using rule 150 (get_index -> expression [ expression ] .)
- NAMESPACE reduce using rule 150 (get_index -> expression [ expression ] .)
- CLASS reduce using rule 150 (get_index -> expression [ expression ] .)
- FUNC reduce using rule 150 (get_index -> expression [ expression ] .)
- INIT reduce using rule 150 (get_index -> expression [ expression ] .)
- $end reduce using rule 150 (get_index -> expression [ expression ] .)
- ; reduce using rule 150 (get_index -> expression [ expression ] .)
- | reduce using rule 150 (get_index -> expression [ expression ] .)
- , reduce using rule 150 (get_index -> expression [ expression ] .)
- PHPEND reduce using rule 150 (get_index -> expression [ expression ] .)
- } reduce using rule 150 (get_index -> expression [ expression ] .)
- ) reduce using rule 150 (get_index -> expression [ expression ] .)
- SARROW reduce using rule 150 (get_index -> expression [ expression ] .)
- ] reduce using rule 150 (get_index -> expression [ expression ] .)
- HTMLEND reduce using rule 150 (get_index -> expression [ expression ] .)
- = reduce using rule 150 (get_index -> expression [ expression ] .)
- AS reduce using rule 150 (get_index -> expression [ expression ] .)
+ (151) get_index -> expression [ expression ] .
+ EQ_DIV reduce using rule 151 (get_index -> expression [ expression ] .)
+ EQ_MOD reduce using rule 151 (get_index -> expression [ expression ] .)
+ EQ_MUL reduce using rule 151 (get_index -> expression [ expression ] .)
+ EQ_SUB reduce using rule 151 (get_index -> expression [ expression ] .)
+ EQ_ADD reduce using rule 151 (get_index -> expression [ expression ] .)
+ > reduce using rule 151 (get_index -> expression [ expression ] .)
+ < reduce using rule 151 (get_index -> expression [ expression ] .)
+ & reduce using rule 151 (get_index -> expression [ expression ] .)
+ EQ_GREATER reduce using rule 151 (get_index -> expression [ expression ] .)
+ EQ_LESS reduce using rule 151 (get_index -> expression [ expression ] .)
+ NOT_EQEQ reduce using rule 151 (get_index -> expression [ expression ] .)
+ EQEQ reduce using rule 151 (get_index -> expression [ expression ] .)
+ % reduce using rule 151 (get_index -> expression [ expression ] .)
+ * reduce using rule 151 (get_index -> expression [ expression ] .)
+ / reduce using rule 151 (get_index -> expression [ expression ] .)
+ - reduce using rule 151 (get_index -> expression [ expression ] .)
+ + reduce using rule 151 (get_index -> expression [ expression ] .)
+ . reduce using rule 151 (get_index -> expression [ expression ] .)
+ COLON_COLON reduce using rule 151 (get_index -> expression [ expression ] .)
+ ^ reduce using rule 151 (get_index -> expression [ expression ] .)
+ [ reduce using rule 151 (get_index -> expression [ expression ] .)
+ ( reduce using rule 151 (get_index -> expression [ expression ] .)
+ $ reduce using rule 151 (get_index -> expression [ expression ] .)
+ ID reduce using rule 151 (get_index -> expression [ expression ] .)
+ ! reduce using rule 151 (get_index -> expression [ expression ] .)
+ { reduce using rule 151 (get_index -> expression [ expression ] .)
+ FORMATTED_STRING reduce using rule 151 (get_index -> expression [ expression ] .)
+ MULTILINE_STRING reduce using rule 151 (get_index -> expression [ expression ] .)
+ STRING reduce using rule 151 (get_index -> expression [ expression ] .)
+ CHAR reduce using rule 151 (get_index -> expression [ expression ] .)
+ FALSE reduce using rule 151 (get_index -> expression [ expression ] .)
+ TRUE reduce using rule 151 (get_index -> expression [ expression ] .)
+ FLOAT reduce using rule 151 (get_index -> expression [ expression ] .)
+ INT reduce using rule 151 (get_index -> expression [ expression ] .)
+ NULL reduce using rule 151 (get_index -> expression [ expression ] .)
+ PYTHON_CODE_EXEC reduce using rule 151 (get_index -> expression [ expression ] .)
+ PYTHON_CODE reduce using rule 151 (get_index -> expression [ expression ] .)
+ # reduce using rule 151 (get_index -> expression [ expression ] .)
+ NEW reduce using rule 151 (get_index -> expression [ expression ] .)
+ ? reduce using rule 151 (get_index -> expression [ expression ] .)
+ HTMLSTART reduce using rule 151 (get_index -> expression [ expression ] .)
+ FOREACH reduce using rule 151 (get_index -> expression [ expression ] .)
+ FOR reduce using rule 151 (get_index -> expression [ expression ] .)
+ IF reduce using rule 151 (get_index -> expression [ expression ] .)
+ PHPSTART reduce using rule 151 (get_index -> expression [ expression ] .)
+ LIMPORT reduce using rule 151 (get_index -> expression [ expression ] .)
+ IMPORT reduce using rule 151 (get_index -> expression [ expression ] .)
+ RETURN reduce using rule 151 (get_index -> expression [ expression ] .)
+ DEL reduce using rule 151 (get_index -> expression [ expression ] .)
+ DEBUG reduce using rule 151 (get_index -> expression [ expression ] .)
+ SKIP reduce using rule 151 (get_index -> expression [ expression ] .)
+ BREAK reduce using rule 151 (get_index -> expression [ expression ] .)
+ LET reduce using rule 151 (get_index -> expression [ expression ] .)
+ WHILE reduce using rule 151 (get_index -> expression [ expression ] .)
+ NAMESPACE reduce using rule 151 (get_index -> expression [ expression ] .)
+ CLASS reduce using rule 151 (get_index -> expression [ expression ] .)
+ FUNC reduce using rule 151 (get_index -> expression [ expression ] .)
+ INIT reduce using rule 151 (get_index -> expression [ expression ] .)
+ $end reduce using rule 151 (get_index -> expression [ expression ] .)
+ ; reduce using rule 151 (get_index -> expression [ expression ] .)
+ | reduce using rule 151 (get_index -> expression [ expression ] .)
+ , reduce using rule 151 (get_index -> expression [ expression ] .)
+ PHPEND reduce using rule 151 (get_index -> expression [ expression ] .)
+ } reduce using rule 151 (get_index -> expression [ expression ] .)
+ ) reduce using rule 151 (get_index -> expression [ expression ] .)
+ SARROW reduce using rule 151 (get_index -> expression [ expression ] .)
+ ] reduce using rule 151 (get_index -> expression [ expression ] .)
+ HTMLEND reduce using rule 151 (get_index -> expression [ expression ] .)
+ = reduce using rule 151 (get_index -> expression [ expression ] .)
+ AS reduce using rule 151 (get_index -> expression [ expression ] .)
-state 270
+state 271
(73) function_call -> expression ( empty ) . FARROW { program }
(80) function_call -> expression ( empty ) .
- FARROW shift and go to state 317
+ FARROW shift and go to state 319
| reduce using rule 80 (function_call -> expression ( empty ) .)
; reduce using rule 80 (function_call -> expression ( empty ) .)
> reduce using rule 80 (function_call -> expression ( empty ) .)
@@ -28651,11 +28811,11 @@ state 270
AS reduce using rule 80 (function_call -> expression ( empty ) .)
-state 271
+state 272
(87) function_call -> expression ( function_arguments ) . FARROW { program }
(89) function_call -> expression ( function_arguments ) .
- FARROW shift and go to state 318
+ FARROW shift and go to state 320
| reduce using rule 89 (function_call -> expression ( function_arguments ) .)
; reduce using rule 89 (function_call -> expression ( function_arguments ) .)
> reduce using rule 89 (function_call -> expression ( function_arguments ) .)
@@ -28728,7 +28888,7 @@ state 271
AS reduce using rule 89 (function_call -> expression ( function_arguments ) .)
-state 272
+state 273
(88) function_call -> expression $ ID = . expression ;
(20) expression -> . assoc_array
@@ -28769,28 +28929,28 @@ state 272
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -28815,13 +28975,13 @@ state 272
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -28830,7 +28990,7 @@ state 272
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -28852,7 +29012,7 @@ state 272
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 319
+ expression shift and go to state 321
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -28871,22 +29031,22 @@ state 272
conditional shift and go to state 88
if_statement shift and go to state 56
-state 273
+state 274
- (115) kwargs -> kwargs , id . = expression
- = shift and go to state 320
+ (116) kwargs -> kwargs , id . = expression
+ = shift and go to state 322
-state 274
+state 275
- (166) id -> ID .
- = reduce using rule 166 (id -> ID .)
+ (167) id -> ID .
+ = reduce using rule 167 (id -> ID .)
-state 275
+state 276
(103) function_arguments -> positional_args , kwargs .
- (115) kwargs -> kwargs . , id = expression
+ (116) kwargs -> kwargs . , id = expression
| reduce using rule 103 (function_arguments -> positional_args , kwargs .)
; reduce using rule 103 (function_arguments -> positional_args , kwargs .)
> reduce using rule 103 (function_arguments -> positional_args , kwargs .)
@@ -28959,9 +29119,9 @@ state 275
AS reduce using rule 103 (function_arguments -> positional_args , kwargs .)
-state 276
+state 277
- (113) positional_args -> positional_args , expression .
+ (114) positional_args -> positional_args , expression .
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -28975,9 +29135,9 @@ state 276
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -28987,10 +29147,10 @@ state 276
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -29029,28 +29189,28 @@ state 276
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -29075,69 +29235,69 @@ state 276
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- | reduce using rule 113 (positional_args -> positional_args , expression .)
- ; reduce using rule 113 (positional_args -> positional_args , expression .)
- . reduce using rule 113 (positional_args -> positional_args , expression .)
- ^ reduce using rule 113 (positional_args -> positional_args , expression .)
- [ reduce using rule 113 (positional_args -> positional_args , expression .)
- ( reduce using rule 113 (positional_args -> positional_args , expression .)
- $ reduce using rule 113 (positional_args -> positional_args , expression .)
- ID reduce using rule 113 (positional_args -> positional_args , expression .)
- { reduce using rule 113 (positional_args -> positional_args , expression .)
- FORMATTED_STRING reduce using rule 113 (positional_args -> positional_args , expression .)
- MULTILINE_STRING reduce using rule 113 (positional_args -> positional_args , expression .)
- STRING reduce using rule 113 (positional_args -> positional_args , expression .)
- CHAR reduce using rule 113 (positional_args -> positional_args , expression .)
- FALSE reduce using rule 113 (positional_args -> positional_args , expression .)
- TRUE reduce using rule 113 (positional_args -> positional_args , expression .)
- FLOAT reduce using rule 113 (positional_args -> positional_args , expression .)
- INT reduce using rule 113 (positional_args -> positional_args , expression .)
- NULL reduce using rule 113 (positional_args -> positional_args , expression .)
- PYTHON_CODE_EXEC reduce using rule 113 (positional_args -> positional_args , expression .)
- PYTHON_CODE reduce using rule 113 (positional_args -> positional_args , expression .)
- # reduce using rule 113 (positional_args -> positional_args , expression .)
- NEW reduce using rule 113 (positional_args -> positional_args , expression .)
- ? reduce using rule 113 (positional_args -> positional_args , expression .)
- HTMLSTART reduce using rule 113 (positional_args -> positional_args , expression .)
- FOREACH reduce using rule 113 (positional_args -> positional_args , expression .)
- FOR reduce using rule 113 (positional_args -> positional_args , expression .)
- IF reduce using rule 113 (positional_args -> positional_args , expression .)
- PHPSTART reduce using rule 113 (positional_args -> positional_args , expression .)
- LIMPORT reduce using rule 113 (positional_args -> positional_args , expression .)
- IMPORT reduce using rule 113 (positional_args -> positional_args , expression .)
- RETURN reduce using rule 113 (positional_args -> positional_args , expression .)
- DEL reduce using rule 113 (positional_args -> positional_args , expression .)
- DEBUG reduce using rule 113 (positional_args -> positional_args , expression .)
- SKIP reduce using rule 113 (positional_args -> positional_args , expression .)
- BREAK reduce using rule 113 (positional_args -> positional_args , expression .)
- LET reduce using rule 113 (positional_args -> positional_args , expression .)
- WHILE reduce using rule 113 (positional_args -> positional_args , expression .)
- NAMESPACE reduce using rule 113 (positional_args -> positional_args , expression .)
- CLASS reduce using rule 113 (positional_args -> positional_args , expression .)
- FUNC reduce using rule 113 (positional_args -> positional_args , expression .)
- INIT reduce using rule 113 (positional_args -> positional_args , expression .)
- $end reduce using rule 113 (positional_args -> positional_args , expression .)
- , reduce using rule 113 (positional_args -> positional_args , expression .)
- PHPEND reduce using rule 113 (positional_args -> positional_args , expression .)
- } reduce using rule 113 (positional_args -> positional_args , expression .)
- ] reduce using rule 113 (positional_args -> positional_args , expression .)
- ) reduce using rule 113 (positional_args -> positional_args , expression .)
- SARROW reduce using rule 113 (positional_args -> positional_args , expression .)
- HTMLEND reduce using rule 113 (positional_args -> positional_args , expression .)
- EQ_DIV reduce using rule 113 (positional_args -> positional_args , expression .)
- EQ_MOD reduce using rule 113 (positional_args -> positional_args , expression .)
- EQ_MUL reduce using rule 113 (positional_args -> positional_args , expression .)
- EQ_SUB reduce using rule 113 (positional_args -> positional_args , expression .)
- EQ_ADD reduce using rule 113 (positional_args -> positional_args , expression .)
- = reduce using rule 113 (positional_args -> positional_args , expression .)
- AS reduce using rule 113 (positional_args -> positional_args , expression .)
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ | reduce using rule 114 (positional_args -> positional_args , expression .)
+ ; reduce using rule 114 (positional_args -> positional_args , expression .)
+ . reduce using rule 114 (positional_args -> positional_args , expression .)
+ ^ reduce using rule 114 (positional_args -> positional_args , expression .)
+ [ reduce using rule 114 (positional_args -> positional_args , expression .)
+ ( reduce using rule 114 (positional_args -> positional_args , expression .)
+ $ reduce using rule 114 (positional_args -> positional_args , expression .)
+ ID reduce using rule 114 (positional_args -> positional_args , expression .)
+ { reduce using rule 114 (positional_args -> positional_args , expression .)
+ FORMATTED_STRING reduce using rule 114 (positional_args -> positional_args , expression .)
+ MULTILINE_STRING reduce using rule 114 (positional_args -> positional_args , expression .)
+ STRING reduce using rule 114 (positional_args -> positional_args , expression .)
+ CHAR reduce using rule 114 (positional_args -> positional_args , expression .)
+ FALSE reduce using rule 114 (positional_args -> positional_args , expression .)
+ TRUE reduce using rule 114 (positional_args -> positional_args , expression .)
+ FLOAT reduce using rule 114 (positional_args -> positional_args , expression .)
+ INT reduce using rule 114 (positional_args -> positional_args , expression .)
+ NULL reduce using rule 114 (positional_args -> positional_args , expression .)
+ PYTHON_CODE_EXEC reduce using rule 114 (positional_args -> positional_args , expression .)
+ PYTHON_CODE reduce using rule 114 (positional_args -> positional_args , expression .)
+ # reduce using rule 114 (positional_args -> positional_args , expression .)
+ NEW reduce using rule 114 (positional_args -> positional_args , expression .)
+ ? reduce using rule 114 (positional_args -> positional_args , expression .)
+ HTMLSTART reduce using rule 114 (positional_args -> positional_args , expression .)
+ FOREACH reduce using rule 114 (positional_args -> positional_args , expression .)
+ FOR reduce using rule 114 (positional_args -> positional_args , expression .)
+ IF reduce using rule 114 (positional_args -> positional_args , expression .)
+ PHPSTART reduce using rule 114 (positional_args -> positional_args , expression .)
+ LIMPORT reduce using rule 114 (positional_args -> positional_args , expression .)
+ IMPORT reduce using rule 114 (positional_args -> positional_args , expression .)
+ RETURN reduce using rule 114 (positional_args -> positional_args , expression .)
+ DEL reduce using rule 114 (positional_args -> positional_args , expression .)
+ DEBUG reduce using rule 114 (positional_args -> positional_args , expression .)
+ SKIP reduce using rule 114 (positional_args -> positional_args , expression .)
+ BREAK reduce using rule 114 (positional_args -> positional_args , expression .)
+ LET reduce using rule 114 (positional_args -> positional_args , expression .)
+ WHILE reduce using rule 114 (positional_args -> positional_args , expression .)
+ NAMESPACE reduce using rule 114 (positional_args -> positional_args , expression .)
+ CLASS reduce using rule 114 (positional_args -> positional_args , expression .)
+ FUNC reduce using rule 114 (positional_args -> positional_args , expression .)
+ INIT reduce using rule 114 (positional_args -> positional_args , expression .)
+ $end reduce using rule 114 (positional_args -> positional_args , expression .)
+ , reduce using rule 114 (positional_args -> positional_args , expression .)
+ PHPEND reduce using rule 114 (positional_args -> positional_args , expression .)
+ } reduce using rule 114 (positional_args -> positional_args , expression .)
+ ] reduce using rule 114 (positional_args -> positional_args , expression .)
+ ) reduce using rule 114 (positional_args -> positional_args , expression .)
+ SARROW reduce using rule 114 (positional_args -> positional_args , expression .)
+ HTMLEND reduce using rule 114 (positional_args -> positional_args , expression .)
+ EQ_DIV reduce using rule 114 (positional_args -> positional_args , expression .)
+ EQ_MOD reduce using rule 114 (positional_args -> positional_args , expression .)
+ EQ_MUL reduce using rule 114 (positional_args -> positional_args , expression .)
+ EQ_SUB reduce using rule 114 (positional_args -> positional_args , expression .)
+ EQ_ADD reduce using rule 114 (positional_args -> positional_args , expression .)
+ = reduce using rule 114 (positional_args -> positional_args , expression .)
+ AS reduce using rule 114 (positional_args -> positional_args , expression .)
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -29175,530 +29335,530 @@ state 276
conditional shift and go to state 88
if_statement shift and go to state 56
-state 277
-
- (120) variable_operation -> get_index EQ_DIV expression ; .
- ? reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- ( reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- ! reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- + reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- - reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- * reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- & reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- ID reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- $ reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- PHPSTART reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- LIMPORT reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- . reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- IMPORT reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- RETURN reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- DEL reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- FOREACH reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- FOR reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- DEBUG reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- SKIP reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- BREAK reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- LET reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- WHILE reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- NAMESPACE reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- CLASS reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- FUNC reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- INIT reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- [ reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- { reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- FORMATTED_STRING reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- MULTILINE_STRING reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- STRING reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- CHAR reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- FALSE reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- TRUE reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- FLOAT reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- INT reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- NULL reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- PYTHON_CODE_EXEC reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- PYTHON_CODE reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- # reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- NEW reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- HTMLSTART reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- IF reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- $end reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- PHPEND reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
- } reduce using rule 120 (variable_operation -> get_index EQ_DIV expression ; .)
-
-
state 278
- (122) variable_operation -> get_index EQ_MOD expression ; .
- ? reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- ( reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- ! reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- + reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- - reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- * reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- & reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- ID reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- $ reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- PHPSTART reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- LIMPORT reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- . reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- IMPORT reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- RETURN reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- DEL reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- FOREACH reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- FOR reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- DEBUG reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- SKIP reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- BREAK reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- LET reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- WHILE reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- NAMESPACE reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- CLASS reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- FUNC reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- INIT reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- [ reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- { reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- FORMATTED_STRING reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- MULTILINE_STRING reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- STRING reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- CHAR reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- FALSE reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- TRUE reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- FLOAT reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- INT reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- NULL reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- PYTHON_CODE_EXEC reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- PYTHON_CODE reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- # reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- NEW reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- HTMLSTART reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- IF reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- $end reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- PHPEND reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
- } reduce using rule 122 (variable_operation -> get_index EQ_MOD expression ; .)
+ (121) variable_operation -> get_index EQ_DIV expression ; .
+ ? reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ ( reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ ! reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ + reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ - reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ * reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ & reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ ID reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ $ reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ PHPSTART reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ LIMPORT reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ . reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ IMPORT reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ RETURN reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ DEL reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ FOREACH reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ FOR reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ DEBUG reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ SKIP reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ BREAK reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ LET reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ WHILE reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ NAMESPACE reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ CLASS reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ FUNC reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ INIT reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ [ reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ { reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ FORMATTED_STRING reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ MULTILINE_STRING reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ STRING reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ CHAR reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ FALSE reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ TRUE reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ FLOAT reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ INT reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ NULL reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ PYTHON_CODE_EXEC reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ PYTHON_CODE reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ # reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ NEW reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ HTMLSTART reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ IF reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ $end reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ PHPEND reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
+ } reduce using rule 121 (variable_operation -> get_index EQ_DIV expression ; .)
state 279
- (124) variable_operation -> get_index EQ_MUL expression ; .
- ? reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- ( reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- ! reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- + reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- - reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- * reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- & reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- ID reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- $ reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- PHPSTART reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- LIMPORT reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- . reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- IMPORT reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- RETURN reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- DEL reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- FOREACH reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- FOR reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- DEBUG reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- SKIP reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- BREAK reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- LET reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- WHILE reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- NAMESPACE reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- CLASS reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- FUNC reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- INIT reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- [ reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- { reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- FORMATTED_STRING reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- MULTILINE_STRING reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- STRING reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- CHAR reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- FALSE reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- TRUE reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- FLOAT reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- INT reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- NULL reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- PYTHON_CODE_EXEC reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- PYTHON_CODE reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- # reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- NEW reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- HTMLSTART reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- IF reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- $end reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- PHPEND reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
- } reduce using rule 124 (variable_operation -> get_index EQ_MUL expression ; .)
+ (123) variable_operation -> get_index EQ_MOD expression ; .
+ ? reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ ( reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ ! reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ + reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ - reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ * reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ & reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ ID reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ $ reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ PHPSTART reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ LIMPORT reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ . reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ IMPORT reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ RETURN reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ DEL reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ FOREACH reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ FOR reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ DEBUG reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ SKIP reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ BREAK reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ LET reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ WHILE reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ NAMESPACE reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ CLASS reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ FUNC reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ INIT reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ [ reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ { reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ FORMATTED_STRING reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ MULTILINE_STRING reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ STRING reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ CHAR reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ FALSE reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ TRUE reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ FLOAT reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ INT reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ NULL reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ PYTHON_CODE_EXEC reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ PYTHON_CODE reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ # reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ NEW reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ HTMLSTART reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ IF reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ $end reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ PHPEND reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
+ } reduce using rule 123 (variable_operation -> get_index EQ_MOD expression ; .)
state 280
- (126) variable_operation -> get_index EQ_SUB expression ; .
- ? reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- ( reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- ! reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- + reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- - reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- * reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- & reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- ID reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- $ reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- PHPSTART reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- LIMPORT reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- . reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- IMPORT reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- RETURN reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- DEL reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- FOREACH reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- FOR reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- DEBUG reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- SKIP reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- BREAK reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- LET reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- WHILE reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- NAMESPACE reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- CLASS reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- FUNC reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- INIT reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- [ reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- { reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- FORMATTED_STRING reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- MULTILINE_STRING reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- STRING reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- CHAR reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- FALSE reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- TRUE reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- FLOAT reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- INT reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- NULL reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- PYTHON_CODE_EXEC reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- PYTHON_CODE reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- # reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- NEW reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- HTMLSTART reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- IF reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- $end reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- PHPEND reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
- } reduce using rule 126 (variable_operation -> get_index EQ_SUB expression ; .)
+ (125) variable_operation -> get_index EQ_MUL expression ; .
+ ? reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ ( reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ ! reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ + reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ - reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ * reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ & reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ ID reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ $ reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ PHPSTART reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ LIMPORT reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ . reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ IMPORT reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ RETURN reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ DEL reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ FOREACH reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ FOR reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ DEBUG reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ SKIP reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ BREAK reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ LET reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ WHILE reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ NAMESPACE reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ CLASS reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ FUNC reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ INIT reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ [ reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ { reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ FORMATTED_STRING reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ MULTILINE_STRING reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ STRING reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ CHAR reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ FALSE reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ TRUE reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ FLOAT reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ INT reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ NULL reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ PYTHON_CODE_EXEC reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ PYTHON_CODE reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ # reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ NEW reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ HTMLSTART reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ IF reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ $end reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ PHPEND reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
+ } reduce using rule 125 (variable_operation -> get_index EQ_MUL expression ; .)
state 281
- (128) variable_operation -> get_index EQ_ADD expression ; .
- ? reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- ( reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- ! reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- + reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- - reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- * reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- & reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- ID reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- $ reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- PHPSTART reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- LIMPORT reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- . reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- IMPORT reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- RETURN reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- DEL reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- FOREACH reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- FOR reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- DEBUG reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- SKIP reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- BREAK reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- LET reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- WHILE reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- NAMESPACE reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- CLASS reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- FUNC reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- INIT reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- [ reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- { reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- FORMATTED_STRING reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- MULTILINE_STRING reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- STRING reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- CHAR reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- FALSE reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- TRUE reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- FLOAT reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- INT reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- NULL reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- PYTHON_CODE_EXEC reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- PYTHON_CODE reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- # reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- NEW reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- HTMLSTART reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- IF reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- $end reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- PHPEND reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
- } reduce using rule 128 (variable_operation -> get_index EQ_ADD expression ; .)
+ (127) variable_operation -> get_index EQ_SUB expression ; .
+ ? reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ ( reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ ! reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ + reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ - reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ * reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ & reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ ID reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ $ reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ PHPSTART reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ LIMPORT reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ . reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ IMPORT reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ RETURN reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ DEL reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ FOREACH reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ FOR reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ DEBUG reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ SKIP reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ BREAK reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ LET reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ WHILE reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ NAMESPACE reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ CLASS reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ FUNC reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ INIT reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ [ reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ { reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ FORMATTED_STRING reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ MULTILINE_STRING reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ STRING reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ CHAR reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ FALSE reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ TRUE reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ FLOAT reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ INT reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ NULL reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ PYTHON_CODE_EXEC reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ PYTHON_CODE reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ # reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ NEW reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ HTMLSTART reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ IF reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ $end reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ PHPEND reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
+ } reduce using rule 127 (variable_operation -> get_index EQ_SUB expression ; .)
state 282
- (121) variable_operation -> ID EQ_DIV expression ; .
- ? reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- ( reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- ! reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- + reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- - reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- * reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- & reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- ID reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- $ reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- PHPSTART reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- LIMPORT reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- . reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- IMPORT reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- RETURN reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- DEL reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- FOREACH reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- FOR reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- DEBUG reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- SKIP reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- BREAK reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- LET reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- WHILE reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- NAMESPACE reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- CLASS reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- FUNC reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- INIT reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- [ reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- { reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- FORMATTED_STRING reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- MULTILINE_STRING reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- STRING reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- CHAR reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- FALSE reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- TRUE reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- FLOAT reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- INT reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- NULL reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- PYTHON_CODE_EXEC reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- PYTHON_CODE reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- # reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- NEW reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- HTMLSTART reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- IF reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- $end reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- PHPEND reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
- } reduce using rule 121 (variable_operation -> ID EQ_DIV expression ; .)
+ (129) variable_operation -> get_index EQ_ADD expression ; .
+ ? reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ ( reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ ! reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ + reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ - reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ * reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ & reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ ID reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ $ reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ PHPSTART reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ LIMPORT reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ . reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ IMPORT reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ RETURN reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ DEL reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ FOREACH reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ FOR reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ DEBUG reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ SKIP reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ BREAK reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ LET reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ WHILE reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ NAMESPACE reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ CLASS reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ FUNC reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ INIT reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ [ reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ { reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ FORMATTED_STRING reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ MULTILINE_STRING reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ STRING reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ CHAR reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ FALSE reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ TRUE reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ FLOAT reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ INT reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ NULL reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ PYTHON_CODE_EXEC reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ PYTHON_CODE reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ # reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ NEW reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ HTMLSTART reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ IF reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ $end reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ PHPEND reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
+ } reduce using rule 129 (variable_operation -> get_index EQ_ADD expression ; .)
state 283
- (123) variable_operation -> ID EQ_MOD expression ; .
- ? reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- ( reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- ! reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- + reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- - reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- * reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- & reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- ID reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- $ reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- PHPSTART reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- LIMPORT reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- . reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- IMPORT reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- RETURN reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- DEL reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- FOREACH reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- FOR reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- DEBUG reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- SKIP reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- BREAK reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- LET reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- WHILE reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- NAMESPACE reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- CLASS reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- FUNC reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- INIT reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- [ reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- { reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- FORMATTED_STRING reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- MULTILINE_STRING reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- STRING reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- CHAR reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- FALSE reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- TRUE reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- FLOAT reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- INT reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- NULL reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- PYTHON_CODE_EXEC reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- PYTHON_CODE reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- # reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- NEW reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- HTMLSTART reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- IF reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- $end reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- PHPEND reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
- } reduce using rule 123 (variable_operation -> ID EQ_MOD expression ; .)
+ (122) variable_operation -> ID EQ_DIV expression ; .
+ ? reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ ( reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ ! reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ + reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ - reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ * reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ & reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ ID reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ $ reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ PHPSTART reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ LIMPORT reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ . reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ IMPORT reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ RETURN reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ DEL reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ FOREACH reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ FOR reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ DEBUG reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ SKIP reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ BREAK reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ LET reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ WHILE reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ NAMESPACE reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ CLASS reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ FUNC reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ INIT reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ [ reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ { reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ FORMATTED_STRING reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ MULTILINE_STRING reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ STRING reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ CHAR reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ FALSE reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ TRUE reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ FLOAT reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ INT reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ NULL reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ PYTHON_CODE_EXEC reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ PYTHON_CODE reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ # reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ NEW reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ HTMLSTART reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ IF reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ $end reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ PHPEND reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
+ } reduce using rule 122 (variable_operation -> ID EQ_DIV expression ; .)
state 284
- (125) variable_operation -> ID EQ_MUL expression ; .
- ? reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- ( reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- ! reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- + reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- - reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- * reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- & reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- ID reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- $ reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- PHPSTART reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- LIMPORT reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- . reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- IMPORT reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- RETURN reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- DEL reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- FOREACH reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- FOR reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- DEBUG reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- SKIP reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- BREAK reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- LET reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- WHILE reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- NAMESPACE reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- CLASS reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- FUNC reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- INIT reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- [ reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- { reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- FORMATTED_STRING reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- MULTILINE_STRING reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- STRING reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- CHAR reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- FALSE reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- TRUE reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- FLOAT reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- INT reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- NULL reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- PYTHON_CODE_EXEC reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- PYTHON_CODE reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- # reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- NEW reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- HTMLSTART reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- IF reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- $end reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- PHPEND reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
- } reduce using rule 125 (variable_operation -> ID EQ_MUL expression ; .)
+ (124) variable_operation -> ID EQ_MOD expression ; .
+ ? reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ ( reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ ! reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ + reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ - reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ * reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ & reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ ID reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ $ reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ PHPSTART reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ LIMPORT reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ . reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ IMPORT reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ RETURN reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ DEL reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ FOREACH reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ FOR reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ DEBUG reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ SKIP reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ BREAK reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ LET reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ WHILE reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ NAMESPACE reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ CLASS reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ FUNC reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ INIT reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ [ reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ { reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ FORMATTED_STRING reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ MULTILINE_STRING reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ STRING reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ CHAR reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ FALSE reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ TRUE reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ FLOAT reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ INT reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ NULL reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ PYTHON_CODE_EXEC reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ PYTHON_CODE reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ # reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ NEW reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ HTMLSTART reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ IF reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ $end reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ PHPEND reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
+ } reduce using rule 124 (variable_operation -> ID EQ_MOD expression ; .)
state 285
- (127) variable_operation -> ID EQ_SUB expression ; .
- ? reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- ( reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- ! reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- + reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- - reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- * reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- & reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- ID reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- $ reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- PHPSTART reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- LIMPORT reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- . reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- IMPORT reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- RETURN reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- DEL reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- FOREACH reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- FOR reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- DEBUG reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- SKIP reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- BREAK reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- LET reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- WHILE reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- NAMESPACE reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- CLASS reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- FUNC reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- INIT reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- [ reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- { reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- FORMATTED_STRING reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- MULTILINE_STRING reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- STRING reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- CHAR reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- FALSE reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- TRUE reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- FLOAT reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- INT reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- NULL reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- PYTHON_CODE_EXEC reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- PYTHON_CODE reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- # reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- NEW reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- HTMLSTART reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- IF reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- $end reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- PHPEND reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
- } reduce using rule 127 (variable_operation -> ID EQ_SUB expression ; .)
+ (126) variable_operation -> ID EQ_MUL expression ; .
+ ? reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ ( reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ ! reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ + reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ - reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ * reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ & reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ ID reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ $ reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ PHPSTART reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ LIMPORT reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ . reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ IMPORT reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ RETURN reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ DEL reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ FOREACH reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ FOR reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ DEBUG reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ SKIP reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ BREAK reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ LET reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ WHILE reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ NAMESPACE reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ CLASS reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ FUNC reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ INIT reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ [ reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ { reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ FORMATTED_STRING reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ MULTILINE_STRING reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ STRING reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ CHAR reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ FALSE reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ TRUE reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ FLOAT reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ INT reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ NULL reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ PYTHON_CODE_EXEC reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ PYTHON_CODE reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ # reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ NEW reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ HTMLSTART reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ IF reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ $end reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ PHPEND reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
+ } reduce using rule 126 (variable_operation -> ID EQ_MUL expression ; .)
state 286
- (129) variable_operation -> ID EQ_ADD expression ; .
- ? reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- ( reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- ! reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- + reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- - reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- * reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- & reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- ID reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- $ reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- PHPSTART reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- LIMPORT reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- . reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- IMPORT reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- RETURN reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- DEL reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- FOREACH reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- FOR reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- DEBUG reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- SKIP reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- BREAK reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- LET reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- WHILE reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- NAMESPACE reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- CLASS reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- FUNC reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- INIT reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- [ reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- { reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- FORMATTED_STRING reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- MULTILINE_STRING reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- STRING reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- CHAR reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- FALSE reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- TRUE reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- FLOAT reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- INT reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- NULL reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- PYTHON_CODE_EXEC reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- PYTHON_CODE reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- # reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- NEW reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- HTMLSTART reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- IF reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- $end reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- PHPEND reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
- } reduce using rule 129 (variable_operation -> ID EQ_ADD expression ; .)
+ (128) variable_operation -> ID EQ_SUB expression ; .
+ ? reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ ( reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ ! reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ + reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ - reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ * reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ & reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ ID reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ $ reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ PHPSTART reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ LIMPORT reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ . reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ IMPORT reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ RETURN reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ DEL reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ FOREACH reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ FOR reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ DEBUG reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ SKIP reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ BREAK reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ LET reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ WHILE reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ NAMESPACE reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ CLASS reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ FUNC reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ INIT reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ [ reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ { reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ FORMATTED_STRING reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ MULTILINE_STRING reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ STRING reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ CHAR reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ FALSE reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ TRUE reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ FLOAT reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ INT reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ NULL reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ PYTHON_CODE_EXEC reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ PYTHON_CODE reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ # reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ NEW reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ HTMLSTART reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ IF reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ $end reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ PHPEND reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
+ } reduce using rule 128 (variable_operation -> ID EQ_SUB expression ; .)
state 287
+ (130) variable_operation -> ID EQ_ADD expression ; .
+ ? reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ ( reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ ! reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ + reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ - reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ * reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ & reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ ID reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ $ reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ PHPSTART reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ LIMPORT reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ . reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ IMPORT reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ RETURN reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ DEL reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ FOREACH reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ FOR reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ DEBUG reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ SKIP reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ BREAK reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ LET reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ WHILE reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ NAMESPACE reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ CLASS reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ FUNC reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ INIT reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ [ reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ { reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ FORMATTED_STRING reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ MULTILINE_STRING reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ STRING reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ CHAR reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ FALSE reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ TRUE reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ FLOAT reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ INT reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ NULL reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ PYTHON_CODE_EXEC reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ PYTHON_CODE reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ # reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ NEW reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ HTMLSTART reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ IF reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ $end reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ PHPEND reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+ } reduce using rule 130 (variable_operation -> ID EQ_ADD expression ; .)
+
+
+state 288
+
(94) function_declaration -> ID FUNC ID ( . empty ) { program }
(95) function_declaration -> ID FUNC ID ( . function_arguments ) { program }
(96) function_declaration -> ID FUNC ID ( . empty ) : expression { program }
(97) function_declaration -> ID FUNC ID ( . function_arguments ) : expression { program }
- (169) empty -> .
+ (170) empty -> .
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -29737,28 +29897,28 @@ state 287
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -29783,14 +29943,14 @@ state 287
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ) reduce using rule 169 (empty -> .)
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ) reduce using rule 170 (empty -> .)
ID shift and go to state 104
( shift and go to state 32
! shift and go to state 33
@@ -29799,7 +29959,7 @@ state 287
* shift and go to state 38
& shift and go to state 36
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -29821,8 +29981,8 @@ state 287
FOR shift and go to state 50
IF shift and go to state 76
- empty shift and go to state 321
- function_arguments shift and go to state 322
+ empty shift and go to state 323
+ function_arguments shift and go to state 324
expression shift and go to state 89
kwargs shift and go to state 110
positional_args shift and go to state 111
@@ -29844,16 +30004,16 @@ state 287
conditional shift and go to state 88
if_statement shift and go to state 56
-state 288
+state 289
(74) function_call -> ID TARROW ID ( . function_arguments )
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -29892,28 +30052,28 @@ state 288
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -29938,13 +30098,13 @@ state 288
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
ID shift and go to state 104
( shift and go to state 32
! shift and go to state 33
@@ -29953,7 +30113,7 @@ state 288
* shift and go to state 38
& shift and go to state 36
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -29975,7 +30135,7 @@ state 288
FOR shift and go to state 50
IF shift and go to state 76
- function_arguments shift and go to state 323
+ function_arguments shift and go to state 325
kwargs shift and go to state 110
positional_args shift and go to state 111
expression shift and go to state 89
@@ -29997,18 +30157,18 @@ state 288
conditional shift and go to state 88
if_statement shift and go to state 56
-state 289
+state 290
(83) function_call -> ID COLON_COLON ID ( . empty )
(84) function_call -> ID COLON_COLON ID ( . function_arguments )
- (169) empty -> .
+ (170) empty -> .
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -30047,28 +30207,28 @@ state 289
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -30093,14 +30253,14 @@ state 289
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ) reduce using rule 169 (empty -> .)
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ) reduce using rule 170 (empty -> .)
ID shift and go to state 104
( shift and go to state 32
! shift and go to state 33
@@ -30109,7 +30269,7 @@ state 289
* shift and go to state 38
& shift and go to state 36
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -30131,8 +30291,8 @@ state 289
FOR shift and go to state 50
IF shift and go to state 76
- empty shift and go to state 324
- function_arguments shift and go to state 325
+ empty shift and go to state 326
+ function_arguments shift and go to state 327
kwargs shift and go to state 110
positional_args shift and go to state 111
expression shift and go to state 89
@@ -30154,9 +30314,9 @@ state 289
conditional shift and go to state 88
if_statement shift and go to state 56
-state 290
+state 291
- (116) variable_assignment -> $ get_index = expression . ;
+ (117) variable_assignment -> $ get_index = expression . ;
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -30170,9 +30330,9 @@ state 290
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -30182,10 +30342,10 @@ state 290
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -30224,28 +30384,28 @@ state 290
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -30270,14 +30430,14 @@ state 290
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ; shift and go to state 326
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ; shift and go to state 328
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -30340,16 +30500,16 @@ state 290
conditional shift and go to state 88
if_statement shift and go to state 56
-state 291
+state 292
- (118) variable_assignment -> $ ID TARROW ID . = expression ;
+ (119) variable_assignment -> $ ID TARROW ID . = expression ;
(85) function_call -> $ ID TARROW ID . ( empty )
(86) function_call -> $ ID TARROW ID . ( function_arguments )
(74) function_call -> ID TARROW ID . ( function_arguments )
(77) function_call -> ID TARROW ID .
! shift/reduce conflict for ( resolved as shift
- = shift and go to state 327
- ( shift and go to state 328
+ = shift and go to state 329
+ ( shift and go to state 330
| reduce using rule 77 (function_call -> ID TARROW ID .)
> reduce using rule 77 (function_call -> ID TARROW ID .)
< reduce using rule 77 (function_call -> ID TARROW ID .)
@@ -30409,9 +30569,9 @@ state 291
, reduce using rule 77 (function_call -> ID TARROW ID .)
-state 292
+state 293
- (119) variable_assignment -> $ ID = expression . ;
+ (120) variable_assignment -> $ ID = expression . ;
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -30425,9 +30585,9 @@ state 292
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -30437,10 +30597,10 @@ state 292
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -30479,28 +30639,28 @@ state 292
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -30525,14 +30685,14 @@ state 292
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ; shift and go to state 329
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ; shift and go to state 331
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -30595,13 +30755,13 @@ state 292
conditional shift and go to state 88
if_statement shift and go to state 56
-state 293
+state 294
(71) function_call -> . ENV FROM ID . { program }
- { shift and go to state 330
+ { shift and go to state 332
-state 294
+state 295
(72) function_call -> . ENV { program . }
(3) program -> program . statement
@@ -30661,41 +30821,42 @@ state 294
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -30707,28 +30868,28 @@ state 294
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -30753,8 +30914,8 @@ state 294
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 331
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 333
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -30779,9 +30940,9 @@ state 294
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -30831,9 +30992,9 @@ state 294
html_full shift and go to state 42
if_statement shift and go to state 56
-state 295
+state 296
- (109) for_loop -> FOREACH ( expression AS . expression ) { program }
+ (110) for_loop -> FOREACH ( expression AS . expression ) { program }
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -30872,28 +31033,28 @@ state 295
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -30918,13 +31079,13 @@ state 295
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -30933,7 +31094,7 @@ state 295
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -30955,7 +31116,7 @@ state 295
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 332
+ expression shift and go to state 334
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -30974,102 +31135,102 @@ state 295
conditional shift and go to state 88
if_statement shift and go to state 56
-state 296
-
- (151) _tuple -> { positional_args , } .
- > reduce using rule 151 (_tuple -> { positional_args , } .)
- < reduce using rule 151 (_tuple -> { positional_args , } .)
- & reduce using rule 151 (_tuple -> { positional_args , } .)
- EQ_GREATER reduce using rule 151 (_tuple -> { positional_args , } .)
- EQ_LESS reduce using rule 151 (_tuple -> { positional_args , } .)
- NOT_EQEQ reduce using rule 151 (_tuple -> { positional_args , } .)
- EQEQ reduce using rule 151 (_tuple -> { positional_args , } .)
- % reduce using rule 151 (_tuple -> { positional_args , } .)
- * reduce using rule 151 (_tuple -> { positional_args , } .)
- / reduce using rule 151 (_tuple -> { positional_args , } .)
- - reduce using rule 151 (_tuple -> { positional_args , } .)
- + reduce using rule 151 (_tuple -> { positional_args , } .)
- . reduce using rule 151 (_tuple -> { positional_args , } .)
- COLON_COLON reduce using rule 151 (_tuple -> { positional_args , } .)
- ^ reduce using rule 151 (_tuple -> { positional_args , } .)
- [ reduce using rule 151 (_tuple -> { positional_args , } .)
- ( reduce using rule 151 (_tuple -> { positional_args , } .)
- $ reduce using rule 151 (_tuple -> { positional_args , } .)
- ID reduce using rule 151 (_tuple -> { positional_args , } .)
- ! reduce using rule 151 (_tuple -> { positional_args , } .)
- { reduce using rule 151 (_tuple -> { positional_args , } .)
- FORMATTED_STRING reduce using rule 151 (_tuple -> { positional_args , } .)
- MULTILINE_STRING reduce using rule 151 (_tuple -> { positional_args , } .)
- STRING reduce using rule 151 (_tuple -> { positional_args , } .)
- CHAR reduce using rule 151 (_tuple -> { positional_args , } .)
- FALSE reduce using rule 151 (_tuple -> { positional_args , } .)
- TRUE reduce using rule 151 (_tuple -> { positional_args , } .)
- FLOAT reduce using rule 151 (_tuple -> { positional_args , } .)
- INT reduce using rule 151 (_tuple -> { positional_args , } .)
- NULL reduce using rule 151 (_tuple -> { positional_args , } .)
- PYTHON_CODE_EXEC reduce using rule 151 (_tuple -> { positional_args , } .)
- PYTHON_CODE reduce using rule 151 (_tuple -> { positional_args , } .)
- # reduce using rule 151 (_tuple -> { positional_args , } .)
- NEW reduce using rule 151 (_tuple -> { positional_args , } .)
- ? reduce using rule 151 (_tuple -> { positional_args , } .)
- HTMLSTART reduce using rule 151 (_tuple -> { positional_args , } .)
- FOREACH reduce using rule 151 (_tuple -> { positional_args , } .)
- FOR reduce using rule 151 (_tuple -> { positional_args , } .)
- IF reduce using rule 151 (_tuple -> { positional_args , } .)
- PHPSTART reduce using rule 151 (_tuple -> { positional_args , } .)
- LIMPORT reduce using rule 151 (_tuple -> { positional_args , } .)
- IMPORT reduce using rule 151 (_tuple -> { positional_args , } .)
- RETURN reduce using rule 151 (_tuple -> { positional_args , } .)
- DEL reduce using rule 151 (_tuple -> { positional_args , } .)
- DEBUG reduce using rule 151 (_tuple -> { positional_args , } .)
- SKIP reduce using rule 151 (_tuple -> { positional_args , } .)
- BREAK reduce using rule 151 (_tuple -> { positional_args , } .)
- LET reduce using rule 151 (_tuple -> { positional_args , } .)
- WHILE reduce using rule 151 (_tuple -> { positional_args , } .)
- NAMESPACE reduce using rule 151 (_tuple -> { positional_args , } .)
- CLASS reduce using rule 151 (_tuple -> { positional_args , } .)
- FUNC reduce using rule 151 (_tuple -> { positional_args , } .)
- INIT reduce using rule 151 (_tuple -> { positional_args , } .)
- $end reduce using rule 151 (_tuple -> { positional_args , } .)
- ; reduce using rule 151 (_tuple -> { positional_args , } .)
- | reduce using rule 151 (_tuple -> { positional_args , } .)
- , reduce using rule 151 (_tuple -> { positional_args , } .)
- PHPEND reduce using rule 151 (_tuple -> { positional_args , } .)
- } reduce using rule 151 (_tuple -> { positional_args , } .)
- ) reduce using rule 151 (_tuple -> { positional_args , } .)
- SARROW reduce using rule 151 (_tuple -> { positional_args , } .)
- ] reduce using rule 151 (_tuple -> { positional_args , } .)
- HTMLEND reduce using rule 151 (_tuple -> { positional_args , } .)
- EQ_DIV reduce using rule 151 (_tuple -> { positional_args , } .)
- EQ_MOD reduce using rule 151 (_tuple -> { positional_args , } .)
- EQ_MUL reduce using rule 151 (_tuple -> { positional_args , } .)
- EQ_SUB reduce using rule 151 (_tuple -> { positional_args , } .)
- EQ_ADD reduce using rule 151 (_tuple -> { positional_args , } .)
- = reduce using rule 151 (_tuple -> { positional_args , } .)
- AS reduce using rule 151 (_tuple -> { positional_args , } .)
-
-
state 297
- (110) for_loop -> FOR ( expression ) . { program }
- { shift and go to state 333
+ (152) _tuple -> { positional_args , } .
+ > reduce using rule 152 (_tuple -> { positional_args , } .)
+ < reduce using rule 152 (_tuple -> { positional_args , } .)
+ & reduce using rule 152 (_tuple -> { positional_args , } .)
+ EQ_GREATER reduce using rule 152 (_tuple -> { positional_args , } .)
+ EQ_LESS reduce using rule 152 (_tuple -> { positional_args , } .)
+ NOT_EQEQ reduce using rule 152 (_tuple -> { positional_args , } .)
+ EQEQ reduce using rule 152 (_tuple -> { positional_args , } .)
+ % reduce using rule 152 (_tuple -> { positional_args , } .)
+ * reduce using rule 152 (_tuple -> { positional_args , } .)
+ / reduce using rule 152 (_tuple -> { positional_args , } .)
+ - reduce using rule 152 (_tuple -> { positional_args , } .)
+ + reduce using rule 152 (_tuple -> { positional_args , } .)
+ . reduce using rule 152 (_tuple -> { positional_args , } .)
+ COLON_COLON reduce using rule 152 (_tuple -> { positional_args , } .)
+ ^ reduce using rule 152 (_tuple -> { positional_args , } .)
+ [ reduce using rule 152 (_tuple -> { positional_args , } .)
+ ( reduce using rule 152 (_tuple -> { positional_args , } .)
+ $ reduce using rule 152 (_tuple -> { positional_args , } .)
+ ID reduce using rule 152 (_tuple -> { positional_args , } .)
+ ! reduce using rule 152 (_tuple -> { positional_args , } .)
+ { reduce using rule 152 (_tuple -> { positional_args , } .)
+ FORMATTED_STRING reduce using rule 152 (_tuple -> { positional_args , } .)
+ MULTILINE_STRING reduce using rule 152 (_tuple -> { positional_args , } .)
+ STRING reduce using rule 152 (_tuple -> { positional_args , } .)
+ CHAR reduce using rule 152 (_tuple -> { positional_args , } .)
+ FALSE reduce using rule 152 (_tuple -> { positional_args , } .)
+ TRUE reduce using rule 152 (_tuple -> { positional_args , } .)
+ FLOAT reduce using rule 152 (_tuple -> { positional_args , } .)
+ INT reduce using rule 152 (_tuple -> { positional_args , } .)
+ NULL reduce using rule 152 (_tuple -> { positional_args , } .)
+ PYTHON_CODE_EXEC reduce using rule 152 (_tuple -> { positional_args , } .)
+ PYTHON_CODE reduce using rule 152 (_tuple -> { positional_args , } .)
+ # reduce using rule 152 (_tuple -> { positional_args , } .)
+ NEW reduce using rule 152 (_tuple -> { positional_args , } .)
+ ? reduce using rule 152 (_tuple -> { positional_args , } .)
+ HTMLSTART reduce using rule 152 (_tuple -> { positional_args , } .)
+ FOREACH reduce using rule 152 (_tuple -> { positional_args , } .)
+ FOR reduce using rule 152 (_tuple -> { positional_args , } .)
+ IF reduce using rule 152 (_tuple -> { positional_args , } .)
+ PHPSTART reduce using rule 152 (_tuple -> { positional_args , } .)
+ LIMPORT reduce using rule 152 (_tuple -> { positional_args , } .)
+ IMPORT reduce using rule 152 (_tuple -> { positional_args , } .)
+ RETURN reduce using rule 152 (_tuple -> { positional_args , } .)
+ DEL reduce using rule 152 (_tuple -> { positional_args , } .)
+ DEBUG reduce using rule 152 (_tuple -> { positional_args , } .)
+ SKIP reduce using rule 152 (_tuple -> { positional_args , } .)
+ BREAK reduce using rule 152 (_tuple -> { positional_args , } .)
+ LET reduce using rule 152 (_tuple -> { positional_args , } .)
+ WHILE reduce using rule 152 (_tuple -> { positional_args , } .)
+ NAMESPACE reduce using rule 152 (_tuple -> { positional_args , } .)
+ CLASS reduce using rule 152 (_tuple -> { positional_args , } .)
+ FUNC reduce using rule 152 (_tuple -> { positional_args , } .)
+ INIT reduce using rule 152 (_tuple -> { positional_args , } .)
+ $end reduce using rule 152 (_tuple -> { positional_args , } .)
+ ; reduce using rule 152 (_tuple -> { positional_args , } .)
+ | reduce using rule 152 (_tuple -> { positional_args , } .)
+ , reduce using rule 152 (_tuple -> { positional_args , } .)
+ PHPEND reduce using rule 152 (_tuple -> { positional_args , } .)
+ } reduce using rule 152 (_tuple -> { positional_args , } .)
+ ) reduce using rule 152 (_tuple -> { positional_args , } .)
+ SARROW reduce using rule 152 (_tuple -> { positional_args , } .)
+ ] reduce using rule 152 (_tuple -> { positional_args , } .)
+ HTMLEND reduce using rule 152 (_tuple -> { positional_args , } .)
+ EQ_DIV reduce using rule 152 (_tuple -> { positional_args , } .)
+ EQ_MOD reduce using rule 152 (_tuple -> { positional_args , } .)
+ EQ_MUL reduce using rule 152 (_tuple -> { positional_args , } .)
+ EQ_SUB reduce using rule 152 (_tuple -> { positional_args , } .)
+ EQ_ADD reduce using rule 152 (_tuple -> { positional_args , } .)
+ = reduce using rule 152 (_tuple -> { positional_args , } .)
+ AS reduce using rule 152 (_tuple -> { positional_args , } .)
state 298
- (117) variable_assignment -> LET ID : ID . = expression ;
- = shift and go to state 334
+ (111) for_loop -> FOR ( expression ) . { program }
+ { shift and go to state 335
state 299
- (111) while_loop -> WHILE ( expression ) . { program }
- { shift and go to state 335
+ (118) variable_assignment -> LET ID : ID . = expression ;
+ = shift and go to state 336
state 300
- (138) else_statement -> ELSE { program . }
+ (112) while_loop -> WHILE ( expression ) . { program }
+ { shift and go to state 337
+
+
+state 301
+
+ (139) else_statement -> ELSE { program . }
(3) program -> program . statement
(4) statement -> . ? expression ;
(5) statement -> . expression
@@ -31127,41 +31288,42 @@ state 300
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -31173,28 +31335,28 @@ state 300
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -31219,8 +31381,8 @@ state 300
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 336
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 338
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -31245,9 +31407,9 @@ state 300
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -31297,9 +31459,9 @@ state 300
html_full shift and go to state 42
if_statement shift and go to state 56
-state 301
+state 302
- (137) else_if_statement -> ELSE IF ( . expression ) { program }
+ (138) else_if_statement -> ELSE IF ( . expression ) { program }
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -31338,28 +31500,28 @@ state 301
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -31384,13 +31546,13 @@ state 301
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -31399,7 +31561,7 @@ state 301
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -31421,7 +31583,7 @@ state 301
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 337
+ expression shift and go to state 339
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -31440,7 +31602,7 @@ state 301
conditional shift and go to state 88
if_statement shift and go to state 56
-state 302
+state 303
(106) class_declaration -> NAMESPACE ID { program . }
(3) program -> program . statement
@@ -31500,41 +31662,42 @@ state 302
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -31546,28 +31709,28 @@ state 302
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -31592,8 +31755,8 @@ state 302
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 338
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 340
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -31618,9 +31781,9 @@ state 302
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -31670,13 +31833,13 @@ state 302
html_full shift and go to state 42
if_statement shift and go to state 56
-state 303
+state 304
(107) class_declaration -> CLASS ID EXTENDS ID . { program }
- { shift and go to state 339
+ { shift and go to state 341
-state 304
+state 305
(108) class_declaration -> CLASS ID { program . }
(3) program -> program . statement
@@ -31736,41 +31899,42 @@ state 304
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -31782,28 +31946,28 @@ state 304
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -31828,8 +31992,8 @@ state 304
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 340
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 342
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -31854,9 +32018,9 @@ state 304
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -31906,36 +32070,17 @@ state 304
html_full shift and go to state 42
if_statement shift and go to state 56
-state 305
-
- (91) function_declaration -> FUNC ID COLON_COLON ID . ( empty ) { program } TARROW expression
- (92) function_declaration -> FUNC ID COLON_COLON ID . ( function_arguments ) { program } TARROW expression
- ( shift and go to state 341
-
-
state 306
- (98) function_declaration -> FUNC ID ( empty . ) { program }
- (99) function_declaration -> FUNC ID ( empty . ) : expression { program }
- ) shift and go to state 342
+ (109) class_declaration -> CLASS ID [ positional_args . ] { program }
+ (114) positional_args -> positional_args . , expression
+ ] shift and go to state 343
+ , shift and go to state 344
state 307
- (100) function_declaration -> FUNC ID ( function_arguments . ) { program }
- (101) function_declaration -> FUNC ID ( function_arguments . ) : expression { program }
- ) shift and go to state 343
-
-
-state 308
-
- (93) function_declaration -> INIT ( function_arguments ) . { program } ;
- { shift and go to state 344
-
-
-state 309
-
- (148) assoc_array_items -> assoc_array_items , expression . SARROW expression
+ (149) assoc_array_items -> assoc_array_items , expression . SARROW expression
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -31949,9 +32094,9 @@ state 309
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -31961,10 +32106,10 @@ state 309
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -32003,28 +32148,28 @@ state 309
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -32049,13 +32194,13 @@ state 309
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
SARROW shift and go to state 345
> shift and go to state 90
< shift and go to state 91
@@ -32119,84 +32264,84 @@ state 309
conditional shift and go to state 88
if_statement shift and go to state 56
-state 310
+state 308
- (153) _list -> [ positional_args , ] .
- > reduce using rule 153 (_list -> [ positional_args , ] .)
- < reduce using rule 153 (_list -> [ positional_args , ] .)
- & reduce using rule 153 (_list -> [ positional_args , ] .)
- EQ_GREATER reduce using rule 153 (_list -> [ positional_args , ] .)
- EQ_LESS reduce using rule 153 (_list -> [ positional_args , ] .)
- NOT_EQEQ reduce using rule 153 (_list -> [ positional_args , ] .)
- EQEQ reduce using rule 153 (_list -> [ positional_args , ] .)
- % reduce using rule 153 (_list -> [ positional_args , ] .)
- * reduce using rule 153 (_list -> [ positional_args , ] .)
- / reduce using rule 153 (_list -> [ positional_args , ] .)
- - reduce using rule 153 (_list -> [ positional_args , ] .)
- + reduce using rule 153 (_list -> [ positional_args , ] .)
- . reduce using rule 153 (_list -> [ positional_args , ] .)
- COLON_COLON reduce using rule 153 (_list -> [ positional_args , ] .)
- ^ reduce using rule 153 (_list -> [ positional_args , ] .)
- [ reduce using rule 153 (_list -> [ positional_args , ] .)
- ( reduce using rule 153 (_list -> [ positional_args , ] .)
- $ reduce using rule 153 (_list -> [ positional_args , ] .)
- ID reduce using rule 153 (_list -> [ positional_args , ] .)
- ! reduce using rule 153 (_list -> [ positional_args , ] .)
- { reduce using rule 153 (_list -> [ positional_args , ] .)
- FORMATTED_STRING reduce using rule 153 (_list -> [ positional_args , ] .)
- MULTILINE_STRING reduce using rule 153 (_list -> [ positional_args , ] .)
- STRING reduce using rule 153 (_list -> [ positional_args , ] .)
- CHAR reduce using rule 153 (_list -> [ positional_args , ] .)
- FALSE reduce using rule 153 (_list -> [ positional_args , ] .)
- TRUE reduce using rule 153 (_list -> [ positional_args , ] .)
- FLOAT reduce using rule 153 (_list -> [ positional_args , ] .)
- INT reduce using rule 153 (_list -> [ positional_args , ] .)
- NULL reduce using rule 153 (_list -> [ positional_args , ] .)
- PYTHON_CODE_EXEC reduce using rule 153 (_list -> [ positional_args , ] .)
- PYTHON_CODE reduce using rule 153 (_list -> [ positional_args , ] .)
- # reduce using rule 153 (_list -> [ positional_args , ] .)
- NEW reduce using rule 153 (_list -> [ positional_args , ] .)
- ? reduce using rule 153 (_list -> [ positional_args , ] .)
- HTMLSTART reduce using rule 153 (_list -> [ positional_args , ] .)
- FOREACH reduce using rule 153 (_list -> [ positional_args , ] .)
- FOR reduce using rule 153 (_list -> [ positional_args , ] .)
- IF reduce using rule 153 (_list -> [ positional_args , ] .)
- PHPSTART reduce using rule 153 (_list -> [ positional_args , ] .)
- LIMPORT reduce using rule 153 (_list -> [ positional_args , ] .)
- IMPORT reduce using rule 153 (_list -> [ positional_args , ] .)
- RETURN reduce using rule 153 (_list -> [ positional_args , ] .)
- DEL reduce using rule 153 (_list -> [ positional_args , ] .)
- DEBUG reduce using rule 153 (_list -> [ positional_args , ] .)
- SKIP reduce using rule 153 (_list -> [ positional_args , ] .)
- BREAK reduce using rule 153 (_list -> [ positional_args , ] .)
- LET reduce using rule 153 (_list -> [ positional_args , ] .)
- WHILE reduce using rule 153 (_list -> [ positional_args , ] .)
- NAMESPACE reduce using rule 153 (_list -> [ positional_args , ] .)
- CLASS reduce using rule 153 (_list -> [ positional_args , ] .)
- FUNC reduce using rule 153 (_list -> [ positional_args , ] .)
- INIT reduce using rule 153 (_list -> [ positional_args , ] .)
- $end reduce using rule 153 (_list -> [ positional_args , ] .)
- ; reduce using rule 153 (_list -> [ positional_args , ] .)
- | reduce using rule 153 (_list -> [ positional_args , ] .)
- , reduce using rule 153 (_list -> [ positional_args , ] .)
- PHPEND reduce using rule 153 (_list -> [ positional_args , ] .)
- } reduce using rule 153 (_list -> [ positional_args , ] .)
- ) reduce using rule 153 (_list -> [ positional_args , ] .)
- SARROW reduce using rule 153 (_list -> [ positional_args , ] .)
- ] reduce using rule 153 (_list -> [ positional_args , ] .)
- HTMLEND reduce using rule 153 (_list -> [ positional_args , ] .)
- EQ_DIV reduce using rule 153 (_list -> [ positional_args , ] .)
- EQ_MOD reduce using rule 153 (_list -> [ positional_args , ] .)
- EQ_MUL reduce using rule 153 (_list -> [ positional_args , ] .)
- EQ_SUB reduce using rule 153 (_list -> [ positional_args , ] .)
- EQ_ADD reduce using rule 153 (_list -> [ positional_args , ] .)
- = reduce using rule 153 (_list -> [ positional_args , ] .)
- AS reduce using rule 153 (_list -> [ positional_args , ] .)
+ (154) _list -> [ positional_args , ] .
+ > reduce using rule 154 (_list -> [ positional_args , ] .)
+ < reduce using rule 154 (_list -> [ positional_args , ] .)
+ & reduce using rule 154 (_list -> [ positional_args , ] .)
+ EQ_GREATER reduce using rule 154 (_list -> [ positional_args , ] .)
+ EQ_LESS reduce using rule 154 (_list -> [ positional_args , ] .)
+ NOT_EQEQ reduce using rule 154 (_list -> [ positional_args , ] .)
+ EQEQ reduce using rule 154 (_list -> [ positional_args , ] .)
+ % reduce using rule 154 (_list -> [ positional_args , ] .)
+ * reduce using rule 154 (_list -> [ positional_args , ] .)
+ / reduce using rule 154 (_list -> [ positional_args , ] .)
+ - reduce using rule 154 (_list -> [ positional_args , ] .)
+ + reduce using rule 154 (_list -> [ positional_args , ] .)
+ . reduce using rule 154 (_list -> [ positional_args , ] .)
+ COLON_COLON reduce using rule 154 (_list -> [ positional_args , ] .)
+ ^ reduce using rule 154 (_list -> [ positional_args , ] .)
+ [ reduce using rule 154 (_list -> [ positional_args , ] .)
+ ( reduce using rule 154 (_list -> [ positional_args , ] .)
+ $ reduce using rule 154 (_list -> [ positional_args , ] .)
+ ID reduce using rule 154 (_list -> [ positional_args , ] .)
+ ! reduce using rule 154 (_list -> [ positional_args , ] .)
+ { reduce using rule 154 (_list -> [ positional_args , ] .)
+ FORMATTED_STRING reduce using rule 154 (_list -> [ positional_args , ] .)
+ MULTILINE_STRING reduce using rule 154 (_list -> [ positional_args , ] .)
+ STRING reduce using rule 154 (_list -> [ positional_args , ] .)
+ CHAR reduce using rule 154 (_list -> [ positional_args , ] .)
+ FALSE reduce using rule 154 (_list -> [ positional_args , ] .)
+ TRUE reduce using rule 154 (_list -> [ positional_args , ] .)
+ FLOAT reduce using rule 154 (_list -> [ positional_args , ] .)
+ INT reduce using rule 154 (_list -> [ positional_args , ] .)
+ NULL reduce using rule 154 (_list -> [ positional_args , ] .)
+ PYTHON_CODE_EXEC reduce using rule 154 (_list -> [ positional_args , ] .)
+ PYTHON_CODE reduce using rule 154 (_list -> [ positional_args , ] .)
+ # reduce using rule 154 (_list -> [ positional_args , ] .)
+ NEW reduce using rule 154 (_list -> [ positional_args , ] .)
+ ? reduce using rule 154 (_list -> [ positional_args , ] .)
+ HTMLSTART reduce using rule 154 (_list -> [ positional_args , ] .)
+ FOREACH reduce using rule 154 (_list -> [ positional_args , ] .)
+ FOR reduce using rule 154 (_list -> [ positional_args , ] .)
+ IF reduce using rule 154 (_list -> [ positional_args , ] .)
+ PHPSTART reduce using rule 154 (_list -> [ positional_args , ] .)
+ LIMPORT reduce using rule 154 (_list -> [ positional_args , ] .)
+ IMPORT reduce using rule 154 (_list -> [ positional_args , ] .)
+ RETURN reduce using rule 154 (_list -> [ positional_args , ] .)
+ DEL reduce using rule 154 (_list -> [ positional_args , ] .)
+ DEBUG reduce using rule 154 (_list -> [ positional_args , ] .)
+ SKIP reduce using rule 154 (_list -> [ positional_args , ] .)
+ BREAK reduce using rule 154 (_list -> [ positional_args , ] .)
+ LET reduce using rule 154 (_list -> [ positional_args , ] .)
+ WHILE reduce using rule 154 (_list -> [ positional_args , ] .)
+ NAMESPACE reduce using rule 154 (_list -> [ positional_args , ] .)
+ CLASS reduce using rule 154 (_list -> [ positional_args , ] .)
+ FUNC reduce using rule 154 (_list -> [ positional_args , ] .)
+ INIT reduce using rule 154 (_list -> [ positional_args , ] .)
+ $end reduce using rule 154 (_list -> [ positional_args , ] .)
+ ; reduce using rule 154 (_list -> [ positional_args , ] .)
+ | reduce using rule 154 (_list -> [ positional_args , ] .)
+ , reduce using rule 154 (_list -> [ positional_args , ] .)
+ PHPEND reduce using rule 154 (_list -> [ positional_args , ] .)
+ } reduce using rule 154 (_list -> [ positional_args , ] .)
+ ) reduce using rule 154 (_list -> [ positional_args , ] .)
+ SARROW reduce using rule 154 (_list -> [ positional_args , ] .)
+ ] reduce using rule 154 (_list -> [ positional_args , ] .)
+ HTMLEND reduce using rule 154 (_list -> [ positional_args , ] .)
+ EQ_DIV reduce using rule 154 (_list -> [ positional_args , ] .)
+ EQ_MOD reduce using rule 154 (_list -> [ positional_args , ] .)
+ EQ_MUL reduce using rule 154 (_list -> [ positional_args , ] .)
+ EQ_SUB reduce using rule 154 (_list -> [ positional_args , ] .)
+ EQ_ADD reduce using rule 154 (_list -> [ positional_args , ] .)
+ = reduce using rule 154 (_list -> [ positional_args , ] .)
+ AS reduce using rule 154 (_list -> [ positional_args , ] .)
-state 311
+state 309
- (147) assoc_array_items -> expression SARROW expression .
+ (148) assoc_array_items -> expression SARROW expression .
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -32210,9 +32355,9 @@ state 311
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -32222,10 +32367,10 @@ state 311
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -32264,28 +32409,28 @@ state 311
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -32310,15 +32455,15 @@ state 311
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ] reduce using rule 147 (assoc_array_items -> expression SARROW expression .)
- , reduce using rule 147 (assoc_array_items -> expression SARROW expression .)
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ] reduce using rule 148 (assoc_array_items -> expression SARROW expression .)
+ , reduce using rule 148 (assoc_array_items -> expression SARROW expression .)
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -32381,44 +32526,71 @@ state 311
conditional shift and go to state 88
if_statement shift and go to state 56
+state 310
+
+ (91) function_declaration -> FUNC ID COLON_COLON ID . ( empty ) { program } TARROW expression
+ (92) function_declaration -> FUNC ID COLON_COLON ID . ( function_arguments ) { program } TARROW expression
+ ( shift and go to state 346
+
+
+state 311
+
+ (98) function_declaration -> FUNC ID ( empty . ) { program }
+ (99) function_declaration -> FUNC ID ( empty . ) : expression { program }
+ ) shift and go to state 347
+
+
state 312
+ (100) function_declaration -> FUNC ID ( function_arguments . ) { program }
+ (101) function_declaration -> FUNC ID ( function_arguments . ) : expression { program }
+ ) shift and go to state 348
+
+
+state 313
+
+ (93) function_declaration -> INIT ( function_arguments ) . { program } ;
+ { shift and go to state 349
+
+
+state 314
+
(79) function_call -> # DEFINE expression ? . ID
(60) html_full -> ? . HTMLEND
- ID shift and go to state 346
+ ID shift and go to state 350
HTMLEND shift and go to state 80
-state 313
+state 315
(81) function_call -> NEW expression ( empty . )
(73) function_call -> expression ( empty . ) FARROW { program }
(80) function_call -> expression ( empty . )
- ) shift and go to state 347
+ ) shift and go to state 351
-state 314
+state 316
(82) function_call -> NEW expression ( function_arguments . )
(87) function_call -> expression ( function_arguments . ) FARROW { program }
(89) function_call -> expression ( function_arguments . )
- ) shift and go to state 348
+ ) shift and go to state 352
-state 315
+state 317
- (134) if_statement -> IF ( expression ) . { program }
- { shift and go to state 349
+ (135) if_statement -> IF ( expression ) . { program }
+ { shift and go to state 353
-state 316
+state 318
(85) function_call -> $ ID TARROW ID . ( empty )
(86) function_call -> $ ID TARROW ID . ( function_arguments )
(74) function_call -> ID TARROW ID . ( function_arguments )
(77) function_call -> ID TARROW ID .
! shift/reduce conflict for ( resolved as shift
- ( shift and go to state 328
+ ( shift and go to state 330
> reduce using rule 77 (function_call -> ID TARROW ID .)
< reduce using rule 77 (function_call -> ID TARROW ID .)
& reduce using rule 77 (function_call -> ID TARROW ID .)
@@ -32490,19 +32662,19 @@ state 316
AS reduce using rule 77 (function_call -> ID TARROW ID .)
-state 317
+state 319
(73) function_call -> expression ( empty ) FARROW . { program }
- { shift and go to state 350
+ { shift and go to state 354
-state 318
+state 320
(87) function_call -> expression ( function_arguments ) FARROW . { program }
- { shift and go to state 351
+ { shift and go to state 355
-state 319
+state 321
(88) function_call -> expression $ ID = expression . ;
(33) expression -> expression . > expression
@@ -32518,9 +32690,9 @@ state 319
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -32530,10 +32702,10 @@ state 319
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -32572,28 +32744,28 @@ state 319
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -32618,14 +32790,14 @@ state 319
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ; shift and go to state 352
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ; shift and go to state 356
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -32688,9 +32860,9 @@ state 319
conditional shift and go to state 88
if_statement shift and go to state 56
-state 320
+state 322
- (115) kwargs -> kwargs , id = . expression
+ (116) kwargs -> kwargs , id = . expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -32729,28 +32901,28 @@ state 320
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -32775,13 +32947,13 @@ state 320
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -32790,7 +32962,7 @@ state 320
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -32813,7 +32985,7 @@ state 320
IF shift and go to state 76
id shift and go to state 24
- expression shift and go to state 353
+ expression shift and go to state 357
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -32831,92 +33003,92 @@ state 320
conditional shift and go to state 88
if_statement shift and go to state 56
-state 321
+state 323
(94) function_declaration -> ID FUNC ID ( empty . ) { program }
(96) function_declaration -> ID FUNC ID ( empty . ) : expression { program }
- ) shift and go to state 354
+ ) shift and go to state 358
-state 322
+state 324
(95) function_declaration -> ID FUNC ID ( function_arguments . ) { program }
(97) function_declaration -> ID FUNC ID ( function_arguments . ) : expression { program }
- ) shift and go to state 355
+ ) shift and go to state 359
-state 323
+state 325
(74) function_call -> ID TARROW ID ( function_arguments . )
- ) shift and go to state 356
+ ) shift and go to state 360
-state 324
+state 326
(83) function_call -> ID COLON_COLON ID ( empty . )
- ) shift and go to state 357
+ ) shift and go to state 361
-state 325
+state 327
(84) function_call -> ID COLON_COLON ID ( function_arguments . )
- ) shift and go to state 358
+ ) shift and go to state 362
-state 326
+state 328
- (116) variable_assignment -> $ get_index = expression ; .
- ? reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- ( reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- ! reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- + reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- - reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- * reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- & reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- ID reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- $ reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- PHPSTART reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- LIMPORT reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- . reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- IMPORT reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- RETURN reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- DEL reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- FOREACH reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- FOR reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- DEBUG reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- SKIP reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- BREAK reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- LET reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- WHILE reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- NAMESPACE reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- CLASS reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- FUNC reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- INIT reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- [ reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- { reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- FORMATTED_STRING reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- MULTILINE_STRING reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- STRING reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- CHAR reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- FALSE reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- TRUE reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- FLOAT reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- INT reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- NULL reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- PYTHON_CODE_EXEC reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- PYTHON_CODE reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- # reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- NEW reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- HTMLSTART reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- IF reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- $end reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- PHPEND reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
- } reduce using rule 116 (variable_assignment -> $ get_index = expression ; .)
+ (117) variable_assignment -> $ get_index = expression ; .
+ ? reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ ( reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ ! reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ + reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ - reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ * reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ & reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ ID reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ $ reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ PHPSTART reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ LIMPORT reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ . reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ IMPORT reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ RETURN reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ DEL reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ FOREACH reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ FOR reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ DEBUG reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ SKIP reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ BREAK reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ LET reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ WHILE reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ NAMESPACE reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ CLASS reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ FUNC reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ INIT reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ [ reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ { reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ FORMATTED_STRING reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ MULTILINE_STRING reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ STRING reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ CHAR reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ FALSE reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ TRUE reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ FLOAT reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ INT reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ NULL reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ PYTHON_CODE_EXEC reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ PYTHON_CODE reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ # reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ NEW reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ HTMLSTART reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ IF reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ $end reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ PHPEND reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
+ } reduce using rule 117 (variable_assignment -> $ get_index = expression ; .)
-state 327
+state 329
- (118) variable_assignment -> $ ID TARROW ID = . expression ;
+ (119) variable_assignment -> $ ID TARROW ID = . expression ;
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -32955,28 +33127,28 @@ state 327
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -33001,13 +33173,13 @@ state 327
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -33016,7 +33188,7 @@ state 327
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -33038,7 +33210,7 @@ state 327
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 359
+ expression shift and go to state 363
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -33057,19 +33229,19 @@ state 327
conditional shift and go to state 88
if_statement shift and go to state 56
-state 328
+state 330
(85) function_call -> $ ID TARROW ID ( . empty )
(86) function_call -> $ ID TARROW ID ( . function_arguments )
(74) function_call -> ID TARROW ID ( . function_arguments )
- (169) empty -> .
+ (170) empty -> .
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -33108,28 +33280,28 @@ state 328
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -33154,14 +33326,14 @@ state 328
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ) reduce using rule 169 (empty -> .)
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ) reduce using rule 170 (empty -> .)
ID shift and go to state 104
( shift and go to state 32
! shift and go to state 33
@@ -33170,7 +33342,7 @@ state 328
* shift and go to state 38
& shift and go to state 36
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -33192,8 +33364,8 @@ state 328
FOR shift and go to state 50
IF shift and go to state 76
- empty shift and go to state 360
- function_arguments shift and go to state 361
+ empty shift and go to state 364
+ function_arguments shift and go to state 365
kwargs shift and go to state 110
positional_args shift and go to state 111
expression shift and go to state 89
@@ -33215,64 +33387,64 @@ state 328
conditional shift and go to state 88
if_statement shift and go to state 56
-state 329
+state 331
- (119) variable_assignment -> $ ID = expression ; .
- ? reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- ( reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- ! reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- + reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- - reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- * reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- & reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- ID reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- $ reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- PHPSTART reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- LIMPORT reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- . reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- IMPORT reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- RETURN reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- DEL reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- FOREACH reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- FOR reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- DEBUG reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- SKIP reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- BREAK reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- LET reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- WHILE reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- NAMESPACE reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- CLASS reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- FUNC reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- INIT reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- [ reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- { reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- FORMATTED_STRING reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- MULTILINE_STRING reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- STRING reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- CHAR reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- FALSE reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- TRUE reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- FLOAT reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- INT reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- NULL reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- PYTHON_CODE_EXEC reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- PYTHON_CODE reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- # reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- NEW reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- HTMLSTART reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- IF reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- $end reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- PHPEND reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
- } reduce using rule 119 (variable_assignment -> $ ID = expression ; .)
+ (120) variable_assignment -> $ ID = expression ; .
+ ? reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ ( reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ ! reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ + reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ - reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ * reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ & reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ ID reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ $ reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ PHPSTART reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ LIMPORT reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ . reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ IMPORT reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ RETURN reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ DEL reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ FOREACH reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ FOR reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ DEBUG reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ SKIP reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ BREAK reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ LET reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ WHILE reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ NAMESPACE reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ CLASS reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ FUNC reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ INIT reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ [ reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ { reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ FORMATTED_STRING reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ MULTILINE_STRING reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ STRING reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ CHAR reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ FALSE reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ TRUE reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ FLOAT reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ INT reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ NULL reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ PYTHON_CODE_EXEC reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ PYTHON_CODE reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ # reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ NEW reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ HTMLSTART reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ IF reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ $end reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ PHPEND reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
+ } reduce using rule 120 (variable_assignment -> $ ID = expression ; .)
-state 330
+state 332
(71) function_call -> . ENV FROM ID { . program }
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -33329,41 +33501,42 @@ state 330
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -33375,28 +33548,28 @@ state 330
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -33421,53 +33594,53 @@ state 330
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
- program shift and go to state 362
+ program shift and go to state 366
empty shift and go to state 2
statement shift and go to state 3
expression shift and go to state 5
@@ -33501,7 +33674,7 @@ state 330
html_full shift and go to state 42
if_statement shift and go to state 56
-state 331
+state 333
(72) function_call -> . ENV { program } .
| reduce using rule 72 (function_call -> . ENV { program } .)
@@ -33576,9 +33749,9 @@ state 331
AS reduce using rule 72 (function_call -> . ENV { program } .)
-state 332
+state 334
- (109) for_loop -> FOREACH ( expression AS expression . ) { program }
+ (110) for_loop -> FOREACH ( expression AS expression . ) { program }
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -33592,9 +33765,9 @@ state 332
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -33604,10 +33777,10 @@ state 332
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -33646,28 +33819,28 @@ state 332
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -33692,14 +33865,14 @@ state 332
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ) shift and go to state 363
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ) shift and go to state 367
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -33762,13 +33935,13 @@ state 332
conditional shift and go to state 88
if_statement shift and go to state 56
-state 333
+state 335
- (110) for_loop -> FOR ( expression ) { . program }
+ (111) for_loop -> FOR ( expression ) { . program }
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -33825,41 +33998,42 @@ state 333
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -33871,28 +34045,28 @@ state 333
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -33917,46 +34091,46 @@ state 333
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
@@ -33964,7 +34138,7 @@ state 333
& shift and go to state 36
expression shift and go to state 5
- program shift and go to state 364
+ program shift and go to state 368
empty shift and go to state 2
statement shift and go to state 3
sandbox shift and go to state 6
@@ -33997,9 +34171,9 @@ state 333
html_full shift and go to state 42
if_statement shift and go to state 56
-state 334
+state 336
- (117) variable_assignment -> LET ID : ID = . expression ;
+ (118) variable_assignment -> LET ID : ID = . expression ;
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -34038,28 +34212,28 @@ state 334
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -34084,13 +34258,13 @@ state 334
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -34099,7 +34273,7 @@ state 334
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -34121,7 +34295,7 @@ state 334
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 365
+ expression shift and go to state 369
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -34140,13 +34314,13 @@ state 334
conditional shift and go to state 88
if_statement shift and go to state 56
-state 335
+state 337
- (111) while_loop -> WHILE ( expression ) { . program }
+ (112) while_loop -> WHILE ( expression ) { . program }
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -34203,41 +34377,42 @@ state 335
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -34249,28 +34424,28 @@ state 335
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -34295,46 +34470,46 @@ state 335
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
@@ -34342,7 +34517,7 @@ state 335
& shift and go to state 36
expression shift and go to state 5
- program shift and go to state 366
+ program shift and go to state 370
empty shift and go to state 2
statement shift and go to state 3
sandbox shift and go to state 6
@@ -34375,84 +34550,84 @@ state 335
html_full shift and go to state 42
if_statement shift and go to state 56
-state 336
+state 338
- (138) else_statement -> ELSE { program } .
- ? reduce using rule 138 (else_statement -> ELSE { program } .)
- ( reduce using rule 138 (else_statement -> ELSE { program } .)
- ! reduce using rule 138 (else_statement -> ELSE { program } .)
- + reduce using rule 138 (else_statement -> ELSE { program } .)
- - reduce using rule 138 (else_statement -> ELSE { program } .)
- * reduce using rule 138 (else_statement -> ELSE { program } .)
- & reduce using rule 138 (else_statement -> ELSE { program } .)
- ID reduce using rule 138 (else_statement -> ELSE { program } .)
- $ reduce using rule 138 (else_statement -> ELSE { program } .)
- PHPSTART reduce using rule 138 (else_statement -> ELSE { program } .)
- LIMPORT reduce using rule 138 (else_statement -> ELSE { program } .)
- . reduce using rule 138 (else_statement -> ELSE { program } .)
- IMPORT reduce using rule 138 (else_statement -> ELSE { program } .)
- RETURN reduce using rule 138 (else_statement -> ELSE { program } .)
- DEL reduce using rule 138 (else_statement -> ELSE { program } .)
- FOREACH reduce using rule 138 (else_statement -> ELSE { program } .)
- FOR reduce using rule 138 (else_statement -> ELSE { program } .)
- DEBUG reduce using rule 138 (else_statement -> ELSE { program } .)
- SKIP reduce using rule 138 (else_statement -> ELSE { program } .)
- BREAK reduce using rule 138 (else_statement -> ELSE { program } .)
- LET reduce using rule 138 (else_statement -> ELSE { program } .)
- WHILE reduce using rule 138 (else_statement -> ELSE { program } .)
- NAMESPACE reduce using rule 138 (else_statement -> ELSE { program } .)
- CLASS reduce using rule 138 (else_statement -> ELSE { program } .)
- FUNC reduce using rule 138 (else_statement -> ELSE { program } .)
- INIT reduce using rule 138 (else_statement -> ELSE { program } .)
- [ reduce using rule 138 (else_statement -> ELSE { program } .)
- { reduce using rule 138 (else_statement -> ELSE { program } .)
- FORMATTED_STRING reduce using rule 138 (else_statement -> ELSE { program } .)
- MULTILINE_STRING reduce using rule 138 (else_statement -> ELSE { program } .)
- STRING reduce using rule 138 (else_statement -> ELSE { program } .)
- CHAR reduce using rule 138 (else_statement -> ELSE { program } .)
- FALSE reduce using rule 138 (else_statement -> ELSE { program } .)
- TRUE reduce using rule 138 (else_statement -> ELSE { program } .)
- FLOAT reduce using rule 138 (else_statement -> ELSE { program } .)
- INT reduce using rule 138 (else_statement -> ELSE { program } .)
- NULL reduce using rule 138 (else_statement -> ELSE { program } .)
- PYTHON_CODE_EXEC reduce using rule 138 (else_statement -> ELSE { program } .)
- PYTHON_CODE reduce using rule 138 (else_statement -> ELSE { program } .)
- # reduce using rule 138 (else_statement -> ELSE { program } .)
- NEW reduce using rule 138 (else_statement -> ELSE { program } .)
- HTMLSTART reduce using rule 138 (else_statement -> ELSE { program } .)
- IF reduce using rule 138 (else_statement -> ELSE { program } .)
- $end reduce using rule 138 (else_statement -> ELSE { program } .)
- > reduce using rule 138 (else_statement -> ELSE { program } .)
- < reduce using rule 138 (else_statement -> ELSE { program } .)
- EQ_GREATER reduce using rule 138 (else_statement -> ELSE { program } .)
- EQ_LESS reduce using rule 138 (else_statement -> ELSE { program } .)
- NOT_EQEQ reduce using rule 138 (else_statement -> ELSE { program } .)
- EQEQ reduce using rule 138 (else_statement -> ELSE { program } .)
- % reduce using rule 138 (else_statement -> ELSE { program } .)
- / reduce using rule 138 (else_statement -> ELSE { program } .)
- COLON_COLON reduce using rule 138 (else_statement -> ELSE { program } .)
- ^ reduce using rule 138 (else_statement -> ELSE { program } .)
- ; reduce using rule 138 (else_statement -> ELSE { program } .)
- | reduce using rule 138 (else_statement -> ELSE { program } .)
- , reduce using rule 138 (else_statement -> ELSE { program } .)
- PHPEND reduce using rule 138 (else_statement -> ELSE { program } .)
- } reduce using rule 138 (else_statement -> ELSE { program } .)
- ) reduce using rule 138 (else_statement -> ELSE { program } .)
- SARROW reduce using rule 138 (else_statement -> ELSE { program } .)
- ] reduce using rule 138 (else_statement -> ELSE { program } .)
- HTMLEND reduce using rule 138 (else_statement -> ELSE { program } .)
- EQ_DIV reduce using rule 138 (else_statement -> ELSE { program } .)
- EQ_MOD reduce using rule 138 (else_statement -> ELSE { program } .)
- EQ_MUL reduce using rule 138 (else_statement -> ELSE { program } .)
- EQ_SUB reduce using rule 138 (else_statement -> ELSE { program } .)
- EQ_ADD reduce using rule 138 (else_statement -> ELSE { program } .)
- = reduce using rule 138 (else_statement -> ELSE { program } .)
- AS reduce using rule 138 (else_statement -> ELSE { program } .)
+ (139) else_statement -> ELSE { program } .
+ ? reduce using rule 139 (else_statement -> ELSE { program } .)
+ ( reduce using rule 139 (else_statement -> ELSE { program } .)
+ ! reduce using rule 139 (else_statement -> ELSE { program } .)
+ + reduce using rule 139 (else_statement -> ELSE { program } .)
+ - reduce using rule 139 (else_statement -> ELSE { program } .)
+ * reduce using rule 139 (else_statement -> ELSE { program } .)
+ & reduce using rule 139 (else_statement -> ELSE { program } .)
+ ID reduce using rule 139 (else_statement -> ELSE { program } .)
+ $ reduce using rule 139 (else_statement -> ELSE { program } .)
+ PHPSTART reduce using rule 139 (else_statement -> ELSE { program } .)
+ LIMPORT reduce using rule 139 (else_statement -> ELSE { program } .)
+ . reduce using rule 139 (else_statement -> ELSE { program } .)
+ IMPORT reduce using rule 139 (else_statement -> ELSE { program } .)
+ RETURN reduce using rule 139 (else_statement -> ELSE { program } .)
+ DEL reduce using rule 139 (else_statement -> ELSE { program } .)
+ FOREACH reduce using rule 139 (else_statement -> ELSE { program } .)
+ FOR reduce using rule 139 (else_statement -> ELSE { program } .)
+ DEBUG reduce using rule 139 (else_statement -> ELSE { program } .)
+ SKIP reduce using rule 139 (else_statement -> ELSE { program } .)
+ BREAK reduce using rule 139 (else_statement -> ELSE { program } .)
+ LET reduce using rule 139 (else_statement -> ELSE { program } .)
+ WHILE reduce using rule 139 (else_statement -> ELSE { program } .)
+ NAMESPACE reduce using rule 139 (else_statement -> ELSE { program } .)
+ CLASS reduce using rule 139 (else_statement -> ELSE { program } .)
+ FUNC reduce using rule 139 (else_statement -> ELSE { program } .)
+ INIT reduce using rule 139 (else_statement -> ELSE { program } .)
+ [ reduce using rule 139 (else_statement -> ELSE { program } .)
+ { reduce using rule 139 (else_statement -> ELSE { program } .)
+ FORMATTED_STRING reduce using rule 139 (else_statement -> ELSE { program } .)
+ MULTILINE_STRING reduce using rule 139 (else_statement -> ELSE { program } .)
+ STRING reduce using rule 139 (else_statement -> ELSE { program } .)
+ CHAR reduce using rule 139 (else_statement -> ELSE { program } .)
+ FALSE reduce using rule 139 (else_statement -> ELSE { program } .)
+ TRUE reduce using rule 139 (else_statement -> ELSE { program } .)
+ FLOAT reduce using rule 139 (else_statement -> ELSE { program } .)
+ INT reduce using rule 139 (else_statement -> ELSE { program } .)
+ NULL reduce using rule 139 (else_statement -> ELSE { program } .)
+ PYTHON_CODE_EXEC reduce using rule 139 (else_statement -> ELSE { program } .)
+ PYTHON_CODE reduce using rule 139 (else_statement -> ELSE { program } .)
+ # reduce using rule 139 (else_statement -> ELSE { program } .)
+ NEW reduce using rule 139 (else_statement -> ELSE { program } .)
+ HTMLSTART reduce using rule 139 (else_statement -> ELSE { program } .)
+ IF reduce using rule 139 (else_statement -> ELSE { program } .)
+ $end reduce using rule 139 (else_statement -> ELSE { program } .)
+ > reduce using rule 139 (else_statement -> ELSE { program } .)
+ < reduce using rule 139 (else_statement -> ELSE { program } .)
+ EQ_GREATER reduce using rule 139 (else_statement -> ELSE { program } .)
+ EQ_LESS reduce using rule 139 (else_statement -> ELSE { program } .)
+ NOT_EQEQ reduce using rule 139 (else_statement -> ELSE { program } .)
+ EQEQ reduce using rule 139 (else_statement -> ELSE { program } .)
+ % reduce using rule 139 (else_statement -> ELSE { program } .)
+ / reduce using rule 139 (else_statement -> ELSE { program } .)
+ COLON_COLON reduce using rule 139 (else_statement -> ELSE { program } .)
+ ^ reduce using rule 139 (else_statement -> ELSE { program } .)
+ ; reduce using rule 139 (else_statement -> ELSE { program } .)
+ | reduce using rule 139 (else_statement -> ELSE { program } .)
+ , reduce using rule 139 (else_statement -> ELSE { program } .)
+ PHPEND reduce using rule 139 (else_statement -> ELSE { program } .)
+ } reduce using rule 139 (else_statement -> ELSE { program } .)
+ ) reduce using rule 139 (else_statement -> ELSE { program } .)
+ SARROW reduce using rule 139 (else_statement -> ELSE { program } .)
+ ] reduce using rule 139 (else_statement -> ELSE { program } .)
+ HTMLEND reduce using rule 139 (else_statement -> ELSE { program } .)
+ EQ_DIV reduce using rule 139 (else_statement -> ELSE { program } .)
+ EQ_MOD reduce using rule 139 (else_statement -> ELSE { program } .)
+ EQ_MUL reduce using rule 139 (else_statement -> ELSE { program } .)
+ EQ_SUB reduce using rule 139 (else_statement -> ELSE { program } .)
+ EQ_ADD reduce using rule 139 (else_statement -> ELSE { program } .)
+ = reduce using rule 139 (else_statement -> ELSE { program } .)
+ AS reduce using rule 139 (else_statement -> ELSE { program } .)
-state 337
+state 339
- (137) else_if_statement -> ELSE IF ( expression . ) { program }
+ (138) else_if_statement -> ELSE IF ( expression . ) { program }
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -34466,9 +34641,9 @@ state 337
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -34478,10 +34653,10 @@ state 337
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -34520,28 +34695,28 @@ state 337
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -34566,14 +34741,14 @@ state 337
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ) shift and go to state 367
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ) shift and go to state 371
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -34636,7 +34811,7 @@ state 337
conditional shift and go to state 88
if_statement shift and go to state 56
-state 338
+state 340
(106) class_declaration -> NAMESPACE ID { program } .
? reduce using rule 106 (class_declaration -> NAMESPACE ID { program } .)
@@ -34687,13 +34862,13 @@ state 338
} reduce using rule 106 (class_declaration -> NAMESPACE ID { program } .)
-state 339
+state 341
(107) class_declaration -> CLASS ID EXTENDS ID { . program }
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -34750,41 +34925,42 @@ state 339
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -34796,28 +34972,28 @@ state 339
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -34842,53 +35018,53 @@ state 339
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
- program shift and go to state 368
+ program shift and go to state 372
empty shift and go to state 2
statement shift and go to state 3
expression shift and go to state 5
@@ -34922,7 +35098,7 @@ state 339
html_full shift and go to state 42
if_statement shift and go to state 56
-state 340
+state 342
(108) class_declaration -> CLASS ID { program } .
? reduce using rule 108 (class_declaration -> CLASS ID { program } .)
@@ -34973,18 +35149,15 @@ state 340
} reduce using rule 108 (class_declaration -> CLASS ID { program } .)
-state 341
+state 343
- (91) function_declaration -> FUNC ID COLON_COLON ID ( . empty ) { program } TARROW expression
- (92) function_declaration -> FUNC ID COLON_COLON ID ( . function_arguments ) { program } TARROW expression
- (169) empty -> .
- (102) function_arguments -> . kwargs
- (103) function_arguments -> . positional_args , kwargs
- (104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (109) class_declaration -> CLASS ID [ positional_args ] . { program }
+ { shift and go to state 373
+
+
+state 344
+
+ (114) positional_args -> positional_args , . expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -35023,28 +35196,28 @@ state 341
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -35069,23 +35242,22 @@ state 341
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ) reduce using rule 169 (empty -> .)
- ID shift and go to state 104
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
+ ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -35107,16 +35279,12 @@ state 341
FOR shift and go to state 50
IF shift and go to state 76
- empty shift and go to state 369
- expression shift and go to state 89
- function_arguments shift and go to state 370
- kwargs shift and go to state 110
- positional_args shift and go to state 111
- id shift and go to state 24
+ expression shift and go to state 277
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
class_attribute shift and go to state 23
+ id shift and go to state 24
string shift and go to state 25
bool shift and go to state 26
float shift and go to state 27
@@ -35130,45 +35298,161 @@ state 341
conditional shift and go to state 88
if_statement shift and go to state 56
-state 342
-
- (98) function_declaration -> FUNC ID ( empty ) . { program }
- (99) function_declaration -> FUNC ID ( empty ) . : expression { program }
- { shift and go to state 371
- : shift and go to state 372
-
-
-state 343
+state 345
- (100) function_declaration -> FUNC ID ( function_arguments ) . { program }
- (101) function_declaration -> FUNC ID ( function_arguments ) . : expression { program }
- { shift and go to state 373
- : shift and go to state 374
+ (149) assoc_array_items -> assoc_array_items , expression SARROW . expression
+ (20) expression -> . assoc_array
+ (21) expression -> . _list
+ (22) expression -> . _tuple
+ (23) expression -> . class_attribute
+ (24) expression -> . id
+ (25) expression -> . string
+ (26) expression -> . bool
+ (27) expression -> . float
+ (28) expression -> . int
+ (29) expression -> . null
+ (30) expression -> . get_index
+ (31) expression -> . python_code
+ (32) expression -> . ( expression )
+ (33) expression -> . expression > expression
+ (34) expression -> . expression < expression
+ (35) expression -> . ! expression
+ (36) expression -> . + expression
+ (37) expression -> . - expression
+ (38) expression -> . expression & expression
+ (39) expression -> . function_call | function_call
+ (40) expression -> . expression EQ_GREATER expression
+ (41) expression -> . expression EQ_LESS expression
+ (42) expression -> . expression NOT_EQEQ expression
+ (43) expression -> . expression EQEQ expression
+ (44) expression -> . expression % expression
+ (45) expression -> . expression * expression
+ (46) expression -> . expression / expression
+ (47) expression -> . expression - expression
+ (48) expression -> . expression + expression
+ (49) expression -> . function_call
+ (50) expression -> . * ID
+ (51) expression -> . & ID
+ (52) expression -> . ID OF ID
+ (53) expression -> . $ expression
+ (54) expression -> . expression . expression
+ (55) expression -> . html_full
+ (56) expression -> . for_loop
+ (57) expression -> . conditional
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
+ (71) function_call -> . . ENV FROM ID { program }
+ (72) function_call -> . . ENV { program }
+ (73) function_call -> . expression ( empty ) FARROW { program }
+ (74) function_call -> . ID TARROW ID ( function_arguments )
+ (75) function_call -> . ID \ ID
+ (76) function_call -> . ID / ID
+ (77) function_call -> . ID TARROW ID
+ (78) function_call -> . # DEPENDS expression
+ (79) function_call -> . # DEFINE expression ? ID
+ (80) function_call -> . expression ( empty )
+ (81) function_call -> . NEW expression ( empty )
+ (82) function_call -> . NEW expression ( function_arguments )
+ (83) function_call -> . ID COLON_COLON ID ( empty )
+ (84) function_call -> . ID COLON_COLON ID ( function_arguments )
+ (85) function_call -> . $ ID TARROW ID ( empty )
+ (86) function_call -> . $ ID TARROW ID ( function_arguments )
+ (87) function_call -> . expression ( function_arguments ) FARROW { program }
+ (88) function_call -> . expression $ ID = expression ;
+ (89) function_call -> . expression ( function_arguments )
+ (90) function_call -> . expression function_arguments
+ (60) html_full -> . ? HTMLEND
+ (61) html_full -> . HTMLSTART
+ (62) html_full -> . HTMLSTART empty HTMLEND
+ (63) html_full -> . HTMLSTART expression HTMLEND
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ( shift and go to state 32
+ ! shift and go to state 33
+ + shift and go to state 34
+ - shift and go to state 35
+ * shift and go to state 38
+ & shift and go to state 36
+ ID shift and go to state 84
+ $ shift and go to state 85
+ [ shift and go to state 59
+ { shift and go to state 49
+ FORMATTED_STRING shift and go to state 62
+ MULTILINE_STRING shift and go to state 63
+ STRING shift and go to state 64
+ CHAR shift and go to state 65
+ FALSE shift and go to state 66
+ TRUE shift and go to state 67
+ FLOAT shift and go to state 68
+ INT shift and go to state 69
+ NULL shift and go to state 70
+ PYTHON_CODE_EXEC shift and go to state 71
+ PYTHON_CODE shift and go to state 72
+ . shift and go to state 86
+ # shift and go to state 73
+ NEW shift and go to state 74
+ ? shift and go to state 78
+ HTMLSTART shift and go to state 75
+ FOREACH shift and go to state 48
+ FOR shift and go to state 50
+ IF shift and go to state 76
+ expression shift and go to state 374
+ assoc_array shift and go to state 20
+ _list shift and go to state 21
+ _tuple shift and go to state 22
+ class_attribute shift and go to state 23
+ id shift and go to state 24
+ string shift and go to state 25
+ bool shift and go to state 26
+ float shift and go to state 27
+ int shift and go to state 28
+ null shift and go to state 29
+ get_index shift and go to state 81
+ python_code shift and go to state 82
+ function_call shift and go to state 83
+ html_full shift and go to state 42
+ for_loop shift and go to state 87
+ conditional shift and go to state 88
+ if_statement shift and go to state 56
-state 344
+state 346
- (93) function_declaration -> INIT ( function_arguments ) { . program } ;
- (1) program -> . empty
- (2) program -> . statement
- (3) program -> . program statement
- (169) empty -> .
- (4) statement -> . ? expression ;
- (5) statement -> . expression
- (6) statement -> . sandbox
- (7) statement -> . import_statement
- (8) statement -> . variable_operation
- (9) statement -> . return_statement
- (10) statement -> . delete_statement
- (11) statement -> . for_loop
- (12) statement -> . break_statement
- (13) statement -> . variable_assignment
- (14) statement -> . python_code_statement
- (15) statement -> . while_loop
- (16) statement -> . conditional
- (17) statement -> . function_call_statement
- (18) statement -> . class_declaration
- (19) statement -> . function_declaration
+ (91) function_declaration -> FUNC ID COLON_COLON ID ( . empty ) { program } TARROW expression
+ (92) function_declaration -> FUNC ID COLON_COLON ID ( . function_arguments ) { program } TARROW expression
+ (170) empty -> .
+ (102) function_arguments -> . kwargs
+ (103) function_arguments -> . positional_args , kwargs
+ (104) function_arguments -> . positional_args
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -35207,76 +35491,28 @@ state 344
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (58) sandbox -> . PHPSTART program PHPEND
- (59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
- (70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (67) break_statement -> . DEBUG ;
- (68) break_statement -> . SKIP ;
- (69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
- (66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (65) function_call_statement -> . function_call ;
- (105) class_declaration -> . NAMESPACE ID ;
- (106) class_declaration -> . NAMESPACE ID { program }
- (107) class_declaration -> . CLASS ID EXTENDS ID { program }
- (108) class_declaration -> . CLASS ID { program }
- (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
- (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
- (93) function_declaration -> . INIT ( function_arguments ) { program } ;
- (94) function_declaration -> . ID FUNC ID ( empty ) { program }
- (95) function_declaration -> . ID FUNC ID ( function_arguments ) { program }
- (96) function_declaration -> . ID FUNC ID ( empty ) : expression { program }
- (97) function_declaration -> . ID FUNC ID ( function_arguments ) : expression { program }
- (98) function_declaration -> . FUNC ID ( empty ) { program }
- (99) function_declaration -> . FUNC ID ( empty ) : expression { program }
- (100) function_declaration -> . FUNC ID ( function_arguments ) { program }
- (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -35301,89 +35537,106 @@ state 344
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ) reduce using rule 170 (empty -> .)
+ ID shift and go to state 104
+ ( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
+ $ shift and go to state 85
+ [ shift and go to state 59
+ { shift and go to state 49
+ FORMATTED_STRING shift and go to state 62
+ MULTILINE_STRING shift and go to state 63
+ STRING shift and go to state 64
+ CHAR shift and go to state 65
+ FALSE shift and go to state 66
+ TRUE shift and go to state 67
+ FLOAT shift and go to state 68
+ INT shift and go to state 69
+ NULL shift and go to state 70
+ PYTHON_CODE_EXEC shift and go to state 71
+ PYTHON_CODE shift and go to state 72
+ . shift and go to state 86
+ # shift and go to state 73
+ NEW shift and go to state 74
+ ? shift and go to state 78
+ HTMLSTART shift and go to state 75
+ FOREACH shift and go to state 48
+ FOR shift and go to state 50
+ IF shift and go to state 76
- program shift and go to state 375
- empty shift and go to state 2
- statement shift and go to state 3
- expression shift and go to state 5
- sandbox shift and go to state 6
- import_statement shift and go to state 7
- variable_operation shift and go to state 8
- return_statement shift and go to state 9
- delete_statement shift and go to state 10
- for_loop shift and go to state 11
- break_statement shift and go to state 12
- variable_assignment shift and go to state 13
- python_code_statement shift and go to state 14
- while_loop shift and go to state 15
- conditional shift and go to state 16
- function_call_statement shift and go to state 17
- class_declaration shift and go to state 18
- function_declaration shift and go to state 19
+ empty shift and go to state 375
+ expression shift and go to state 89
+ function_arguments shift and go to state 376
+ kwargs shift and go to state 110
+ positional_args shift and go to state 111
+ id shift and go to state 24
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
class_attribute shift and go to state 23
- id shift and go to state 24
string shift and go to state 25
bool shift and go to state 26
float shift and go to state 27
int shift and go to state 28
null shift and go to state 29
- get_index shift and go to state 30
- python_code shift and go to state 31
- function_call shift and go to state 37
+ get_index shift and go to state 81
+ python_code shift and go to state 82
+ function_call shift and go to state 83
html_full shift and go to state 42
+ for_loop shift and go to state 87
+ conditional shift and go to state 88
if_statement shift and go to state 56
-state 345
+state 347
+
+ (98) function_declaration -> FUNC ID ( empty ) . { program }
+ (99) function_declaration -> FUNC ID ( empty ) . : expression { program }
+ { shift and go to state 377
+ : shift and go to state 378
+
+
+state 348
+
+ (100) function_declaration -> FUNC ID ( function_arguments ) . { program }
+ (101) function_declaration -> FUNC ID ( function_arguments ) . : expression { program }
+ { shift and go to state 379
+ : shift and go to state 380
+
+
+state 349
- (148) assoc_array_items -> assoc_array_items , expression SARROW . expression
+ (93) function_declaration -> INIT ( function_arguments ) { . program } ;
+ (1) program -> . empty
+ (2) program -> . statement
+ (3) program -> . program statement
+ (170) empty -> .
+ (4) statement -> . ? expression ;
+ (5) statement -> . expression
+ (6) statement -> . sandbox
+ (7) statement -> . import_statement
+ (8) statement -> . variable_operation
+ (9) statement -> . return_statement
+ (10) statement -> . delete_statement
+ (11) statement -> . for_loop
+ (12) statement -> . break_statement
+ (13) statement -> . variable_assignment
+ (14) statement -> . python_code_statement
+ (15) statement -> . while_loop
+ (16) statement -> . conditional
+ (17) statement -> . function_call_statement
+ (18) statement -> . class_declaration
+ (19) statement -> . function_declaration
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -35422,28 +35675,77 @@ state 345
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (58) sandbox -> . PHPSTART program PHPEND
+ (59) sandbox -> . LIMPORT expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
+ (70) return_statement -> . RETURN expression ;
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (67) break_statement -> . DEBUG ;
+ (68) break_statement -> . SKIP ;
+ (69) break_statement -> . BREAK ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
+ (66) python_code_statement -> . python_code ;
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (65) function_call_statement -> . function_call ;
+ (105) class_declaration -> . NAMESPACE ID ;
+ (106) class_declaration -> . NAMESPACE ID { program }
+ (107) class_declaration -> . CLASS ID EXTENDS ID { program }
+ (108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
+ (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
+ (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
+ (93) function_declaration -> . INIT ( function_arguments ) { program } ;
+ (94) function_declaration -> . ID FUNC ID ( empty ) { program }
+ (95) function_declaration -> . ID FUNC ID ( function_arguments ) { program }
+ (96) function_declaration -> . ID FUNC ID ( empty ) : expression { program }
+ (97) function_declaration -> . ID FUNC ID ( function_arguments ) : expression { program }
+ (98) function_declaration -> . FUNC ID ( empty ) { program }
+ (99) function_declaration -> . FUNC ID ( empty ) : expression { program }
+ (100) function_declaration -> . FUNC ID ( function_arguments ) { program }
+ (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -35468,44 +35770,70 @@ state 345
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ( shift and go to state 32
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
- ID shift and go to state 84
- $ shift and go to state 85
- [ shift and go to state 61
- { shift and go to state 49
- FORMATTED_STRING shift and go to state 62
- MULTILINE_STRING shift and go to state 63
- STRING shift and go to state 64
- CHAR shift and go to state 65
- FALSE shift and go to state 66
- TRUE shift and go to state 67
- FLOAT shift and go to state 68
- INT shift and go to state 69
- NULL shift and go to state 70
- PYTHON_CODE_EXEC shift and go to state 71
- PYTHON_CODE shift and go to state 72
- . shift and go to state 86
- # shift and go to state 73
- NEW shift and go to state 74
- ? shift and go to state 78
- HTMLSTART shift and go to state 75
- FOREACH shift and go to state 48
- FOR shift and go to state 50
- IF shift and go to state 76
- expression shift and go to state 376
+ program shift and go to state 381
+ empty shift and go to state 2
+ statement shift and go to state 3
+ expression shift and go to state 5
+ sandbox shift and go to state 6
+ import_statement shift and go to state 7
+ variable_operation shift and go to state 8
+ return_statement shift and go to state 9
+ delete_statement shift and go to state 10
+ for_loop shift and go to state 11
+ break_statement shift and go to state 12
+ variable_assignment shift and go to state 13
+ python_code_statement shift and go to state 14
+ while_loop shift and go to state 15
+ conditional shift and go to state 16
+ function_call_statement shift and go to state 17
+ class_declaration shift and go to state 18
+ function_declaration shift and go to state 19
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -35516,15 +35844,13 @@ state 345
float shift and go to state 27
int shift and go to state 28
null shift and go to state 29
- get_index shift and go to state 81
- python_code shift and go to state 82
- function_call shift and go to state 83
+ get_index shift and go to state 30
+ python_code shift and go to state 31
+ function_call shift and go to state 37
html_full shift and go to state 42
- for_loop shift and go to state 87
- conditional shift and go to state 88
if_statement shift and go to state 56
-state 346
+state 350
(79) function_call -> # DEFINE expression ? ID .
| reduce using rule 79 (function_call -> # DEFINE expression ? ID .)
@@ -35599,7 +35925,7 @@ state 346
AS reduce using rule 79 (function_call -> # DEFINE expression ? ID .)
-state 347
+state 351
(81) function_call -> NEW expression ( empty ) .
(73) function_call -> expression ( empty ) . FARROW { program }
@@ -35714,10 +36040,10 @@ state 347
EQ_ADD reduce using rule 81 (function_call -> NEW expression ( empty ) .)
= reduce using rule 81 (function_call -> NEW expression ( empty ) .)
AS reduce using rule 81 (function_call -> NEW expression ( empty ) .)
- FARROW shift and go to state 317
+ FARROW shift and go to state 319
-state 348
+state 352
(82) function_call -> NEW expression ( function_arguments ) .
(87) function_call -> expression ( function_arguments ) . FARROW { program }
@@ -35792,7 +36118,7 @@ state 348
EQ_ADD reduce using rule 82 (function_call -> NEW expression ( function_arguments ) .)
= reduce using rule 82 (function_call -> NEW expression ( function_arguments ) .)
AS reduce using rule 82 (function_call -> NEW expression ( function_arguments ) .)
- FARROW shift and go to state 318
+ FARROW shift and go to state 320
| reduce using rule 89 (function_call -> expression ( function_arguments ) .)
( reduce using rule 89 (function_call -> expression ( function_arguments ) .)
> reduce using rule 89 (function_call -> expression ( function_arguments ) .)
@@ -35835,13 +36161,13 @@ state 348
IF reduce using rule 89 (function_call -> expression ( function_arguments ) .)
-state 349
+state 353
- (134) if_statement -> IF ( expression ) { . program }
+ (135) if_statement -> IF ( expression ) { . program }
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -35898,41 +36224,42 @@ state 349
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -35944,28 +36271,28 @@ state 349
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -35990,46 +36317,46 @@ state 349
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
@@ -36037,7 +36364,7 @@ state 349
& shift and go to state 36
expression shift and go to state 5
- program shift and go to state 377
+ program shift and go to state 382
empty shift and go to state 2
statement shift and go to state 3
sandbox shift and go to state 6
@@ -36070,13 +36397,13 @@ state 349
html_full shift and go to state 42
if_statement shift and go to state 56
-state 350
+state 354
(73) function_call -> expression ( empty ) FARROW { . program }
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -36133,41 +36460,42 @@ state 350
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -36179,28 +36507,28 @@ state 350
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -36225,46 +36553,46 @@ state 350
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
@@ -36273,7 +36601,7 @@ state 350
expression shift and go to state 5
empty shift and go to state 2
- program shift and go to state 378
+ program shift and go to state 383
statement shift and go to state 3
sandbox shift and go to state 6
import_statement shift and go to state 7
@@ -36305,13 +36633,13 @@ state 350
html_full shift and go to state 42
if_statement shift and go to state 56
-state 351
+state 355
(87) function_call -> expression ( function_arguments ) FARROW { . program }
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -36368,41 +36696,42 @@ state 351
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -36414,28 +36743,28 @@ state 351
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -36460,46 +36789,46 @@ state 351
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
@@ -36507,7 +36836,7 @@ state 351
& shift and go to state 36
expression shift and go to state 5
- program shift and go to state 379
+ program shift and go to state 384
empty shift and go to state 2
statement shift and go to state 3
sandbox shift and go to state 6
@@ -36540,7 +36869,7 @@ state 351
html_full shift and go to state 42
if_statement shift and go to state 56
-state 352
+state 356
(88) function_call -> expression $ ID = expression ; .
| reduce using rule 88 (function_call -> expression $ ID = expression ; .)
@@ -36615,9 +36944,9 @@ state 352
AS reduce using rule 88 (function_call -> expression $ ID = expression ; .)
-state 353
+state 357
- (115) kwargs -> kwargs , id = expression .
+ (116) kwargs -> kwargs , id = expression .
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -36631,9 +36960,9 @@ state 353
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -36643,10 +36972,10 @@ state 353
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -36685,28 +37014,28 @@ state 353
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -36731,69 +37060,69 @@ state 353
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- , reduce using rule 115 (kwargs -> kwargs , id = expression .)
- | reduce using rule 115 (kwargs -> kwargs , id = expression .)
- ; reduce using rule 115 (kwargs -> kwargs , id = expression .)
- . reduce using rule 115 (kwargs -> kwargs , id = expression .)
- ^ reduce using rule 115 (kwargs -> kwargs , id = expression .)
- [ reduce using rule 115 (kwargs -> kwargs , id = expression .)
- ( reduce using rule 115 (kwargs -> kwargs , id = expression .)
- $ reduce using rule 115 (kwargs -> kwargs , id = expression .)
- ID reduce using rule 115 (kwargs -> kwargs , id = expression .)
- { reduce using rule 115 (kwargs -> kwargs , id = expression .)
- FORMATTED_STRING reduce using rule 115 (kwargs -> kwargs , id = expression .)
- MULTILINE_STRING reduce using rule 115 (kwargs -> kwargs , id = expression .)
- STRING reduce using rule 115 (kwargs -> kwargs , id = expression .)
- CHAR reduce using rule 115 (kwargs -> kwargs , id = expression .)
- FALSE reduce using rule 115 (kwargs -> kwargs , id = expression .)
- TRUE reduce using rule 115 (kwargs -> kwargs , id = expression .)
- FLOAT reduce using rule 115 (kwargs -> kwargs , id = expression .)
- INT reduce using rule 115 (kwargs -> kwargs , id = expression .)
- NULL reduce using rule 115 (kwargs -> kwargs , id = expression .)
- PYTHON_CODE_EXEC reduce using rule 115 (kwargs -> kwargs , id = expression .)
- PYTHON_CODE reduce using rule 115 (kwargs -> kwargs , id = expression .)
- # reduce using rule 115 (kwargs -> kwargs , id = expression .)
- NEW reduce using rule 115 (kwargs -> kwargs , id = expression .)
- ? reduce using rule 115 (kwargs -> kwargs , id = expression .)
- HTMLSTART reduce using rule 115 (kwargs -> kwargs , id = expression .)
- FOREACH reduce using rule 115 (kwargs -> kwargs , id = expression .)
- FOR reduce using rule 115 (kwargs -> kwargs , id = expression .)
- IF reduce using rule 115 (kwargs -> kwargs , id = expression .)
- PHPSTART reduce using rule 115 (kwargs -> kwargs , id = expression .)
- LIMPORT reduce using rule 115 (kwargs -> kwargs , id = expression .)
- IMPORT reduce using rule 115 (kwargs -> kwargs , id = expression .)
- RETURN reduce using rule 115 (kwargs -> kwargs , id = expression .)
- DEL reduce using rule 115 (kwargs -> kwargs , id = expression .)
- DEBUG reduce using rule 115 (kwargs -> kwargs , id = expression .)
- SKIP reduce using rule 115 (kwargs -> kwargs , id = expression .)
- BREAK reduce using rule 115 (kwargs -> kwargs , id = expression .)
- LET reduce using rule 115 (kwargs -> kwargs , id = expression .)
- WHILE reduce using rule 115 (kwargs -> kwargs , id = expression .)
- NAMESPACE reduce using rule 115 (kwargs -> kwargs , id = expression .)
- CLASS reduce using rule 115 (kwargs -> kwargs , id = expression .)
- FUNC reduce using rule 115 (kwargs -> kwargs , id = expression .)
- INIT reduce using rule 115 (kwargs -> kwargs , id = expression .)
- $end reduce using rule 115 (kwargs -> kwargs , id = expression .)
- PHPEND reduce using rule 115 (kwargs -> kwargs , id = expression .)
- } reduce using rule 115 (kwargs -> kwargs , id = expression .)
- ) reduce using rule 115 (kwargs -> kwargs , id = expression .)
- SARROW reduce using rule 115 (kwargs -> kwargs , id = expression .)
- ] reduce using rule 115 (kwargs -> kwargs , id = expression .)
- HTMLEND reduce using rule 115 (kwargs -> kwargs , id = expression .)
- EQ_DIV reduce using rule 115 (kwargs -> kwargs , id = expression .)
- EQ_MOD reduce using rule 115 (kwargs -> kwargs , id = expression .)
- EQ_MUL reduce using rule 115 (kwargs -> kwargs , id = expression .)
- EQ_SUB reduce using rule 115 (kwargs -> kwargs , id = expression .)
- EQ_ADD reduce using rule 115 (kwargs -> kwargs , id = expression .)
- = reduce using rule 115 (kwargs -> kwargs , id = expression .)
- AS reduce using rule 115 (kwargs -> kwargs , id = expression .)
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ , reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ | reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ ; reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ . reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ ^ reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ [ reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ ( reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ $ reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ ID reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ { reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ FORMATTED_STRING reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ MULTILINE_STRING reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ STRING reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ CHAR reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ FALSE reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ TRUE reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ FLOAT reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ INT reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ NULL reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ PYTHON_CODE_EXEC reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ PYTHON_CODE reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ # reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ NEW reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ ? reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ HTMLSTART reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ FOREACH reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ FOR reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ IF reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ PHPSTART reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ LIMPORT reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ IMPORT reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ RETURN reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ DEL reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ DEBUG reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ SKIP reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ BREAK reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ LET reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ WHILE reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ NAMESPACE reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ CLASS reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ FUNC reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ INIT reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ $end reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ PHPEND reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ } reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ ) reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ SARROW reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ ] reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ HTMLEND reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ EQ_DIV reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ EQ_MOD reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ EQ_MUL reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ EQ_SUB reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ EQ_ADD reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ = reduce using rule 116 (kwargs -> kwargs , id = expression .)
+ AS reduce using rule 116 (kwargs -> kwargs , id = expression .)
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -36831,23 +37160,23 @@ state 353
conditional shift and go to state 88
if_statement shift and go to state 56
-state 354
+state 358
(94) function_declaration -> ID FUNC ID ( empty ) . { program }
(96) function_declaration -> ID FUNC ID ( empty ) . : expression { program }
- { shift and go to state 380
- : shift and go to state 381
+ { shift and go to state 385
+ : shift and go to state 386
-state 355
+state 359
(95) function_declaration -> ID FUNC ID ( function_arguments ) . { program }
(97) function_declaration -> ID FUNC ID ( function_arguments ) . : expression { program }
- { shift and go to state 382
- : shift and go to state 383
+ { shift and go to state 387
+ : shift and go to state 388
-state 356
+state 360
(74) function_call -> ID TARROW ID ( function_arguments ) .
| reduce using rule 74 (function_call -> ID TARROW ID ( function_arguments ) .)
@@ -36922,7 +37251,7 @@ state 356
AS reduce using rule 74 (function_call -> ID TARROW ID ( function_arguments ) .)
-state 357
+state 361
(83) function_call -> ID COLON_COLON ID ( empty ) .
| reduce using rule 83 (function_call -> ID COLON_COLON ID ( empty ) .)
@@ -36997,7 +37326,7 @@ state 357
AS reduce using rule 83 (function_call -> ID COLON_COLON ID ( empty ) .)
-state 358
+state 362
(84) function_call -> ID COLON_COLON ID ( function_arguments ) .
| reduce using rule 84 (function_call -> ID COLON_COLON ID ( function_arguments ) .)
@@ -37072,9 +37401,9 @@ state 358
AS reduce using rule 84 (function_call -> ID COLON_COLON ID ( function_arguments ) .)
-state 359
+state 363
- (118) variable_assignment -> $ ID TARROW ID = expression . ;
+ (119) variable_assignment -> $ ID TARROW ID = expression . ;
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -37088,9 +37417,9 @@ state 359
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -37100,10 +37429,10 @@ state 359
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -37142,28 +37471,28 @@ state 359
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -37188,14 +37517,14 @@ state 359
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ; shift and go to state 384
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ; shift and go to state 389
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -37258,20 +37587,20 @@ state 359
conditional shift and go to state 88
if_statement shift and go to state 56
-state 360
+state 364
(85) function_call -> $ ID TARROW ID ( empty . )
- ) shift and go to state 385
+ ) shift and go to state 390
-state 361
+state 365
(86) function_call -> $ ID TARROW ID ( function_arguments . )
(74) function_call -> ID TARROW ID ( function_arguments . )
- ) shift and go to state 386
+ ) shift and go to state 391
-state 362
+state 366
(71) function_call -> . ENV FROM ID { program . }
(3) program -> program . statement
@@ -37331,41 +37660,42 @@ state 362
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -37377,28 +37707,28 @@ state 362
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -37423,8 +37753,8 @@ state 362
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 387
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 392
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -37449,9 +37779,9 @@ state 362
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -37501,15 +37831,15 @@ state 362
html_full shift and go to state 42
if_statement shift and go to state 56
-state 363
+state 367
- (109) for_loop -> FOREACH ( expression AS expression ) . { program }
- { shift and go to state 388
+ (110) for_loop -> FOREACH ( expression AS expression ) . { program }
+ { shift and go to state 393
-state 364
+state 368
- (110) for_loop -> FOR ( expression ) { program . }
+ (111) for_loop -> FOR ( expression ) { program . }
(3) program -> program . statement
(4) statement -> . ? expression ;
(5) statement -> . expression
@@ -37567,41 +37897,42 @@ state 364
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -37613,28 +37944,28 @@ state 364
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -37659,8 +37990,8 @@ state 364
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 389
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 394
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -37685,9 +38016,9 @@ state 364
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -37737,9 +38068,9 @@ state 364
html_full shift and go to state 42
if_statement shift and go to state 56
-state 365
+state 369
- (117) variable_assignment -> LET ID : ID = expression . ;
+ (118) variable_assignment -> LET ID : ID = expression . ;
(33) expression -> expression . > expression
(34) expression -> expression . < expression
(38) expression -> expression . & expression
@@ -37753,9 +38084,9 @@ state 365
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -37765,10 +38096,10 @@ state 365
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -37807,28 +38138,28 @@ state 365
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -37853,14 +38184,14 @@ state 365
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ; shift and go to state 390
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ; shift and go to state 395
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -37923,9 +38254,9 @@ state 365
conditional shift and go to state 88
if_statement shift and go to state 56
-state 366
+state 370
- (111) while_loop -> WHILE ( expression ) { program . }
+ (112) while_loop -> WHILE ( expression ) { program . }
(3) program -> program . statement
(4) statement -> . ? expression ;
(5) statement -> . expression
@@ -37983,41 +38314,42 @@ state 366
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -38029,28 +38361,28 @@ state 366
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -38075,8 +38407,8 @@ state 366
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 391
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 396
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -38101,9 +38433,9 @@ state 366
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -38153,13 +38485,13 @@ state 366
html_full shift and go to state 42
if_statement shift and go to state 56
-state 367
+state 371
- (137) else_if_statement -> ELSE IF ( expression ) . { program }
- { shift and go to state 392
+ (138) else_if_statement -> ELSE IF ( expression ) . { program }
+ { shift and go to state 397
-state 368
+state 372
(107) class_declaration -> CLASS ID EXTENDS ID { program . }
(3) program -> program . statement
@@ -38219,41 +38551,42 @@ state 368
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -38265,28 +38598,28 @@ state 368
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -38311,8 +38644,8 @@ state 368
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 393
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 398
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -38337,9 +38670,9 @@ state 368
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -38389,256 +38722,29 @@ state 368
html_full shift and go to state 42
if_statement shift and go to state 56
-state 369
-
- (91) function_declaration -> FUNC ID COLON_COLON ID ( empty . ) { program } TARROW expression
- ) shift and go to state 394
-
-
-state 370
-
- (92) function_declaration -> FUNC ID COLON_COLON ID ( function_arguments . ) { program } TARROW expression
- ) shift and go to state 395
-
-
-state 371
-
- (98) function_declaration -> FUNC ID ( empty ) { . program }
- (1) program -> . empty
- (2) program -> . statement
- (3) program -> . program statement
- (169) empty -> .
- (4) statement -> . ? expression ;
- (5) statement -> . expression
- (6) statement -> . sandbox
- (7) statement -> . import_statement
- (8) statement -> . variable_operation
- (9) statement -> . return_statement
- (10) statement -> . delete_statement
- (11) statement -> . for_loop
- (12) statement -> . break_statement
- (13) statement -> . variable_assignment
- (14) statement -> . python_code_statement
- (15) statement -> . while_loop
- (16) statement -> . conditional
- (17) statement -> . function_call_statement
- (18) statement -> . class_declaration
- (19) statement -> . function_declaration
- (20) expression -> . assoc_array
- (21) expression -> . _list
- (22) expression -> . _tuple
- (23) expression -> . class_attribute
- (24) expression -> . id
- (25) expression -> . string
- (26) expression -> . bool
- (27) expression -> . float
- (28) expression -> . int
- (29) expression -> . null
- (30) expression -> . get_index
- (31) expression -> . python_code
- (32) expression -> . ( expression )
- (33) expression -> . expression > expression
- (34) expression -> . expression < expression
- (35) expression -> . ! expression
- (36) expression -> . + expression
- (37) expression -> . - expression
- (38) expression -> . expression & expression
- (39) expression -> . function_call | function_call
- (40) expression -> . expression EQ_GREATER expression
- (41) expression -> . expression EQ_LESS expression
- (42) expression -> . expression NOT_EQEQ expression
- (43) expression -> . expression EQEQ expression
- (44) expression -> . expression % expression
- (45) expression -> . expression * expression
- (46) expression -> . expression / expression
- (47) expression -> . expression - expression
- (48) expression -> . expression + expression
- (49) expression -> . function_call
- (50) expression -> . * ID
- (51) expression -> . & ID
- (52) expression -> . ID OF ID
- (53) expression -> . $ expression
- (54) expression -> . expression . expression
- (55) expression -> . html_full
- (56) expression -> . for_loop
- (57) expression -> . conditional
- (58) sandbox -> . PHPSTART program PHPEND
- (59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
- (70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (67) break_statement -> . DEBUG ;
- (68) break_statement -> . SKIP ;
- (69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
- (66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (65) function_call_statement -> . function_call ;
- (105) class_declaration -> . NAMESPACE ID ;
- (106) class_declaration -> . NAMESPACE ID { program }
- (107) class_declaration -> . CLASS ID EXTENDS ID { program }
- (108) class_declaration -> . CLASS ID { program }
- (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
- (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
- (93) function_declaration -> . INIT ( function_arguments ) { program } ;
- (94) function_declaration -> . ID FUNC ID ( empty ) { program }
- (95) function_declaration -> . ID FUNC ID ( function_arguments ) { program }
- (96) function_declaration -> . ID FUNC ID ( empty ) : expression { program }
- (97) function_declaration -> . ID FUNC ID ( function_arguments ) : expression { program }
- (98) function_declaration -> . FUNC ID ( empty ) { program }
- (99) function_declaration -> . FUNC ID ( empty ) : expression { program }
- (100) function_declaration -> . FUNC ID ( function_arguments ) { program }
- (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
- (71) function_call -> . . ENV FROM ID { program }
- (72) function_call -> . . ENV { program }
- (73) function_call -> . expression ( empty ) FARROW { program }
- (74) function_call -> . ID TARROW ID ( function_arguments )
- (75) function_call -> . ID \ ID
- (76) function_call -> . ID / ID
- (77) function_call -> . ID TARROW ID
- (78) function_call -> . # DEPENDS expression
- (79) function_call -> . # DEFINE expression ? ID
- (80) function_call -> . expression ( empty )
- (81) function_call -> . NEW expression ( empty )
- (82) function_call -> . NEW expression ( function_arguments )
- (83) function_call -> . ID COLON_COLON ID ( empty )
- (84) function_call -> . ID COLON_COLON ID ( function_arguments )
- (85) function_call -> . $ ID TARROW ID ( empty )
- (86) function_call -> . $ ID TARROW ID ( function_arguments )
- (87) function_call -> . expression ( function_arguments ) FARROW { program }
- (88) function_call -> . expression $ ID = expression ;
- (89) function_call -> . expression ( function_arguments )
- (90) function_call -> . expression function_arguments
- (60) html_full -> . ? HTMLEND
- (61) html_full -> . HTMLSTART
- (62) html_full -> . HTMLSTART empty HTMLEND
- (63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
- ! shift and go to state 33
- + shift and go to state 34
- - shift and go to state 35
- * shift and go to state 38
- & shift and go to state 36
-
- empty shift and go to state 2
- program shift and go to state 396
- statement shift and go to state 3
- expression shift and go to state 5
- sandbox shift and go to state 6
- import_statement shift and go to state 7
- variable_operation shift and go to state 8
- return_statement shift and go to state 9
- delete_statement shift and go to state 10
- for_loop shift and go to state 11
- break_statement shift and go to state 12
- variable_assignment shift and go to state 13
- python_code_statement shift and go to state 14
- while_loop shift and go to state 15
- conditional shift and go to state 16
- function_call_statement shift and go to state 17
- class_declaration shift and go to state 18
- function_declaration shift and go to state 19
- assoc_array shift and go to state 20
- _list shift and go to state 21
- _tuple shift and go to state 22
- class_attribute shift and go to state 23
- id shift and go to state 24
- string shift and go to state 25
- bool shift and go to state 26
- float shift and go to state 27
- int shift and go to state 28
- null shift and go to state 29
- get_index shift and go to state 30
- python_code shift and go to state 31
- function_call shift and go to state 37
- html_full shift and go to state 42
- if_statement shift and go to state 56
-
-state 372
+state 373
- (99) function_declaration -> FUNC ID ( empty ) : . expression { program }
+ (109) class_declaration -> CLASS ID [ positional_args ] { . program }
+ (1) program -> . empty
+ (2) program -> . statement
+ (3) program -> . program statement
+ (170) empty -> .
+ (4) statement -> . ? expression ;
+ (5) statement -> . expression
+ (6) statement -> . sandbox
+ (7) statement -> . import_statement
+ (8) statement -> . variable_operation
+ (9) statement -> . return_statement
+ (10) statement -> . delete_statement
+ (11) statement -> . for_loop
+ (12) statement -> . break_statement
+ (13) statement -> . variable_assignment
+ (14) statement -> . python_code_statement
+ (15) statement -> . while_loop
+ (16) statement -> . conditional
+ (17) statement -> . function_call_statement
+ (18) statement -> . class_declaration
+ (19) statement -> . function_declaration
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -38677,28 +38783,77 @@ state 372
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (58) sandbox -> . PHPSTART program PHPEND
+ (59) sandbox -> . LIMPORT expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
+ (70) return_statement -> . RETURN expression ;
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (67) break_statement -> . DEBUG ;
+ (68) break_statement -> . SKIP ;
+ (69) break_statement -> . BREAK ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
+ (66) python_code_statement -> . python_code ;
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (65) function_call_statement -> . function_call ;
+ (105) class_declaration -> . NAMESPACE ID ;
+ (106) class_declaration -> . NAMESPACE ID { program }
+ (107) class_declaration -> . CLASS ID EXTENDS ID { program }
+ (108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
+ (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
+ (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
+ (93) function_declaration -> . INIT ( function_arguments ) { program } ;
+ (94) function_declaration -> . ID FUNC ID ( empty ) { program }
+ (95) function_declaration -> . ID FUNC ID ( function_arguments ) { program }
+ (96) function_declaration -> . ID FUNC ID ( empty ) : expression { program }
+ (97) function_declaration -> . ID FUNC ID ( function_arguments ) : expression { program }
+ (98) function_declaration -> . FUNC ID ( empty ) { program }
+ (99) function_declaration -> . FUNC ID ( empty ) : expression { program }
+ (100) function_declaration -> . FUNC ID ( function_arguments ) { program }
+ (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -38723,22 +38878,231 @@ state 372
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ( shift and go to state 32
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
- ID shift and go to state 84
- $ shift and go to state 85
- [ shift and go to state 61
+
+ program shift and go to state 399
+ empty shift and go to state 2
+ statement shift and go to state 3
+ expression shift and go to state 5
+ sandbox shift and go to state 6
+ import_statement shift and go to state 7
+ variable_operation shift and go to state 8
+ return_statement shift and go to state 9
+ delete_statement shift and go to state 10
+ for_loop shift and go to state 11
+ break_statement shift and go to state 12
+ variable_assignment shift and go to state 13
+ python_code_statement shift and go to state 14
+ while_loop shift and go to state 15
+ conditional shift and go to state 16
+ function_call_statement shift and go to state 17
+ class_declaration shift and go to state 18
+ function_declaration shift and go to state 19
+ assoc_array shift and go to state 20
+ _list shift and go to state 21
+ _tuple shift and go to state 22
+ class_attribute shift and go to state 23
+ id shift and go to state 24
+ string shift and go to state 25
+ bool shift and go to state 26
+ float shift and go to state 27
+ int shift and go to state 28
+ null shift and go to state 29
+ get_index shift and go to state 30
+ python_code shift and go to state 31
+ function_call shift and go to state 37
+ html_full shift and go to state 42
+ if_statement shift and go to state 56
+
+state 374
+
+ (149) assoc_array_items -> assoc_array_items , expression SARROW expression .
+ (33) expression -> expression . > expression
+ (34) expression -> expression . < expression
+ (38) expression -> expression . & expression
+ (40) expression -> expression . EQ_GREATER expression
+ (41) expression -> expression . EQ_LESS expression
+ (42) expression -> expression . NOT_EQEQ expression
+ (43) expression -> expression . EQEQ expression
+ (44) expression -> expression . % expression
+ (45) expression -> expression . * expression
+ (46) expression -> expression . / expression
+ (47) expression -> expression . - expression
+ (48) expression -> expression . + expression
+ (54) expression -> expression . . expression
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
+ (73) function_call -> expression . ( empty ) FARROW { program }
+ (80) function_call -> expression . ( empty )
+ (87) function_call -> expression . ( function_arguments ) FARROW { program }
+ (88) function_call -> expression . $ ID = expression ;
+ (89) function_call -> expression . ( function_arguments )
+ (90) function_call -> expression . function_arguments
+ (102) function_arguments -> . kwargs
+ (103) function_arguments -> . positional_args , kwargs
+ (104) function_arguments -> . positional_args
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
+ (20) expression -> . assoc_array
+ (21) expression -> . _list
+ (22) expression -> . _tuple
+ (23) expression -> . class_attribute
+ (24) expression -> . id
+ (25) expression -> . string
+ (26) expression -> . bool
+ (27) expression -> . float
+ (28) expression -> . int
+ (29) expression -> . null
+ (30) expression -> . get_index
+ (31) expression -> . python_code
+ (32) expression -> . ( expression )
+ (33) expression -> . expression > expression
+ (34) expression -> . expression < expression
+ (35) expression -> . ! expression
+ (36) expression -> . + expression
+ (37) expression -> . - expression
+ (38) expression -> . expression & expression
+ (39) expression -> . function_call | function_call
+ (40) expression -> . expression EQ_GREATER expression
+ (41) expression -> . expression EQ_LESS expression
+ (42) expression -> . expression NOT_EQEQ expression
+ (43) expression -> . expression EQEQ expression
+ (44) expression -> . expression % expression
+ (45) expression -> . expression * expression
+ (46) expression -> . expression / expression
+ (47) expression -> . expression - expression
+ (48) expression -> . expression + expression
+ (49) expression -> . function_call
+ (50) expression -> . * ID
+ (51) expression -> . & ID
+ (52) expression -> . ID OF ID
+ (53) expression -> . $ expression
+ (54) expression -> . expression . expression
+ (55) expression -> . html_full
+ (56) expression -> . for_loop
+ (57) expression -> . conditional
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
+ (71) function_call -> . . ENV FROM ID { program }
+ (72) function_call -> . . ENV { program }
+ (73) function_call -> . expression ( empty ) FARROW { program }
+ (74) function_call -> . ID TARROW ID ( function_arguments )
+ (75) function_call -> . ID \ ID
+ (76) function_call -> . ID / ID
+ (77) function_call -> . ID TARROW ID
+ (78) function_call -> . # DEPENDS expression
+ (79) function_call -> . # DEFINE expression ? ID
+ (80) function_call -> . expression ( empty )
+ (81) function_call -> . NEW expression ( empty )
+ (82) function_call -> . NEW expression ( function_arguments )
+ (83) function_call -> . ID COLON_COLON ID ( empty )
+ (84) function_call -> . ID COLON_COLON ID ( function_arguments )
+ (85) function_call -> . $ ID TARROW ID ( empty )
+ (86) function_call -> . $ ID TARROW ID ( function_arguments )
+ (87) function_call -> . expression ( function_arguments ) FARROW { program }
+ (88) function_call -> . expression $ ID = expression ;
+ (89) function_call -> . expression ( function_arguments )
+ (90) function_call -> . expression function_arguments
+ (60) html_full -> . ? HTMLEND
+ (61) html_full -> . HTMLSTART
+ (62) html_full -> . HTMLSTART empty HTMLEND
+ (63) html_full -> . HTMLSTART expression HTMLEND
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ] reduce using rule 149 (assoc_array_items -> assoc_array_items , expression SARROW expression .)
+ , reduce using rule 149 (assoc_array_items -> assoc_array_items , expression SARROW expression .)
+ > shift and go to state 90
+ < shift and go to state 91
+ & shift and go to state 92
+ EQ_GREATER shift and go to state 93
+ EQ_LESS shift and go to state 94
+ NOT_EQEQ shift and go to state 95
+ EQEQ shift and go to state 96
+ % shift and go to state 97
+ * shift and go to state 98
+ / shift and go to state 99
+ - shift and go to state 100
+ + shift and go to state 101
+ . shift and go to state 102
+ COLON_COLON shift and go to state 103
+ ^ shift and go to state 105
+ [ shift and go to state 106
+ ( shift and go to state 107
+ $ shift and go to state 109
+ ID shift and go to state 104
+ ! shift and go to state 33
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -38751,7 +39115,6 @@ state 372
NULL shift and go to state 70
PYTHON_CODE_EXEC shift and go to state 71
PYTHON_CODE shift and go to state 72
- . shift and go to state 86
# shift and go to state 73
NEW shift and go to state 74
? shift and go to state 78
@@ -38760,12 +39123,15 @@ state 372
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 397
+ expression shift and go to state 89
+ function_arguments shift and go to state 108
+ kwargs shift and go to state 110
+ positional_args shift and go to state 111
+ id shift and go to state 24
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
class_attribute shift and go to state 23
- id shift and go to state 24
string shift and go to state 25
bool shift and go to state 26
float shift and go to state 27
@@ -38779,13 +39145,25 @@ state 372
conditional shift and go to state 88
if_statement shift and go to state 56
-state 373
+state 375
- (100) function_declaration -> FUNC ID ( function_arguments ) { . program }
+ (91) function_declaration -> FUNC ID COLON_COLON ID ( empty . ) { program } TARROW expression
+ ) shift and go to state 400
+
+
+state 376
+
+ (92) function_declaration -> FUNC ID COLON_COLON ID ( function_arguments . ) { program } TARROW expression
+ ) shift and go to state 401
+
+
+state 377
+
+ (98) function_declaration -> FUNC ID ( empty ) { . program }
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -38842,41 +39220,42 @@ state 373
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -38888,28 +39267,28 @@ state 373
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -38934,54 +39313,54 @@ state 373
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
- program shift and go to state 398
empty shift and go to state 2
+ program shift and go to state 402
statement shift and go to state 3
expression shift and go to state 5
sandbox shift and go to state 6
@@ -39014,9 +39393,9 @@ state 373
html_full shift and go to state 42
if_statement shift and go to state 56
-state 374
+state 378
- (101) function_declaration -> FUNC ID ( function_arguments ) : . expression { program }
+ (99) function_declaration -> FUNC ID ( empty ) : . expression { program }
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -39055,28 +39434,28 @@ state 374
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -39101,13 +39480,13 @@ state 374
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -39116,7 +39495,7 @@ state 374
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -39138,7 +39517,7 @@ state 374
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 399
+ expression shift and go to state 403
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -39157,10 +39536,13 @@ state 374
conditional shift and go to state 88
if_statement shift and go to state 56
-state 375
+state 379
- (93) function_declaration -> INIT ( function_arguments ) { program . } ;
- (3) program -> program . statement
+ (100) function_declaration -> FUNC ID ( function_arguments ) { . program }
+ (1) program -> . empty
+ (2) program -> . statement
+ (3) program -> . program statement
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -39217,41 +39599,42 @@ state 375
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -39263,28 +39646,28 @@ state 375
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -39309,53 +39692,55 @@ state 375
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 400
- ? shift and go to state 4
- ( shift and go to state 32
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
- ID shift and go to state 39
- $ shift and go to state 40
- PHPSTART shift and go to state 43
- LIMPORT shift and go to state 44
- . shift and go to state 41
- IMPORT shift and go to state 45
- RETURN shift and go to state 46
- DEL shift and go to state 47
- FOREACH shift and go to state 48
- FOR shift and go to state 50
- DEBUG shift and go to state 51
- SKIP shift and go to state 52
- BREAK shift and go to state 53
- LET shift and go to state 54
- WHILE shift and go to state 55
- NAMESPACE shift and go to state 57
- CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
- { shift and go to state 49
- FORMATTED_STRING shift and go to state 62
- MULTILINE_STRING shift and go to state 63
- STRING shift and go to state 64
- CHAR shift and go to state 65
- FALSE shift and go to state 66
- TRUE shift and go to state 67
- FLOAT shift and go to state 68
- INT shift and go to state 69
- NULL shift and go to state 70
- PYTHON_CODE_EXEC shift and go to state 71
- PYTHON_CODE shift and go to state 72
- # shift and go to state 73
- NEW shift and go to state 74
- HTMLSTART shift and go to state 75
- IF shift and go to state 76
- statement shift and go to state 77
+ program shift and go to state 404
+ empty shift and go to state 2
+ statement shift and go to state 3
expression shift and go to state 5
sandbox shift and go to state 6
import_statement shift and go to state 7
@@ -39387,38 +39772,9 @@ state 375
html_full shift and go to state 42
if_statement shift and go to state 56
-state 376
+state 380
- (148) assoc_array_items -> assoc_array_items , expression SARROW expression .
- (33) expression -> expression . > expression
- (34) expression -> expression . < expression
- (38) expression -> expression . & expression
- (40) expression -> expression . EQ_GREATER expression
- (41) expression -> expression . EQ_LESS expression
- (42) expression -> expression . NOT_EQEQ expression
- (43) expression -> expression . EQEQ expression
- (44) expression -> expression . % expression
- (45) expression -> expression . * expression
- (46) expression -> expression . / expression
- (47) expression -> expression . - expression
- (48) expression -> expression . + expression
- (54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
- (73) function_call -> expression . ( empty ) FARROW { program }
- (80) function_call -> expression . ( empty )
- (87) function_call -> expression . ( function_arguments ) FARROW { program }
- (88) function_call -> expression . $ ID = expression ;
- (89) function_call -> expression . ( function_arguments )
- (90) function_call -> expression . function_arguments
- (102) function_arguments -> . kwargs
- (103) function_arguments -> . positional_args , kwargs
- (104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (101) function_declaration -> FUNC ID ( function_arguments ) : . expression { program }
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -39457,28 +39813,28 @@ state 376
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -39503,35 +39859,22 @@ state 376
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- ] reduce using rule 148 (assoc_array_items -> assoc_array_items , expression SARROW expression .)
- , reduce using rule 148 (assoc_array_items -> assoc_array_items , expression SARROW expression .)
- > shift and go to state 90
- < shift and go to state 91
- & shift and go to state 92
- EQ_GREATER shift and go to state 93
- EQ_LESS shift and go to state 94
- NOT_EQEQ shift and go to state 95
- EQEQ shift and go to state 96
- % shift and go to state 97
- * shift and go to state 98
- / shift and go to state 99
- - shift and go to state 100
- + shift and go to state 101
- . shift and go to state 102
- COLON_COLON shift and go to state 103
- ^ shift and go to state 105
- [ shift and go to state 106
- ( shift and go to state 107
- $ shift and go to state 109
- ID shift and go to state 104
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ ( shift and go to state 32
! shift and go to state 33
+ + shift and go to state 34
+ - shift and go to state 35
+ * shift and go to state 38
+ & shift and go to state 36
+ ID shift and go to state 84
+ $ shift and go to state 85
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -39544,6 +39887,7 @@ state 376
NULL shift and go to state 70
PYTHON_CODE_EXEC shift and go to state 71
PYTHON_CODE shift and go to state 72
+ . shift and go to state 86
# shift and go to state 73
NEW shift and go to state 74
? shift and go to state 78
@@ -39552,15 +39896,12 @@ state 376
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 89
- function_arguments shift and go to state 108
- kwargs shift and go to state 110
- positional_args shift and go to state 111
- id shift and go to state 24
+ expression shift and go to state 405
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
class_attribute shift and go to state 23
+ id shift and go to state 24
string shift and go to state 25
bool shift and go to state 26
float shift and go to state 27
@@ -39574,9 +39915,9 @@ state 376
conditional shift and go to state 88
if_statement shift and go to state 56
-state 377
+state 381
- (134) if_statement -> IF ( expression ) { program . }
+ (93) function_declaration -> INIT ( function_arguments ) { program . } ;
(3) program -> program . statement
(4) statement -> . ? expression ;
(5) statement -> . expression
@@ -39634,41 +39975,42 @@ state 377
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -39680,28 +40022,28 @@ state 377
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -39726,8 +40068,8 @@ state 377
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 401
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 406
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -39752,9 +40094,240 @@ state 377
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
+ { shift and go to state 49
+ FORMATTED_STRING shift and go to state 62
+ MULTILINE_STRING shift and go to state 63
+ STRING shift and go to state 64
+ CHAR shift and go to state 65
+ FALSE shift and go to state 66
+ TRUE shift and go to state 67
+ FLOAT shift and go to state 68
+ INT shift and go to state 69
+ NULL shift and go to state 70
+ PYTHON_CODE_EXEC shift and go to state 71
+ PYTHON_CODE shift and go to state 72
+ # shift and go to state 73
+ NEW shift and go to state 74
+ HTMLSTART shift and go to state 75
+ IF shift and go to state 76
+
+ statement shift and go to state 77
+ expression shift and go to state 5
+ sandbox shift and go to state 6
+ import_statement shift and go to state 7
+ variable_operation shift and go to state 8
+ return_statement shift and go to state 9
+ delete_statement shift and go to state 10
+ for_loop shift and go to state 11
+ break_statement shift and go to state 12
+ variable_assignment shift and go to state 13
+ python_code_statement shift and go to state 14
+ while_loop shift and go to state 15
+ conditional shift and go to state 16
+ function_call_statement shift and go to state 17
+ class_declaration shift and go to state 18
+ function_declaration shift and go to state 19
+ assoc_array shift and go to state 20
+ _list shift and go to state 21
+ _tuple shift and go to state 22
+ class_attribute shift and go to state 23
+ id shift and go to state 24
+ string shift and go to state 25
+ bool shift and go to state 26
+ float shift and go to state 27
+ int shift and go to state 28
+ null shift and go to state 29
+ get_index shift and go to state 30
+ python_code shift and go to state 31
+ function_call shift and go to state 37
+ html_full shift and go to state 42
+ if_statement shift and go to state 56
+
+state 382
+
+ (135) if_statement -> IF ( expression ) { program . }
+ (3) program -> program . statement
+ (4) statement -> . ? expression ;
+ (5) statement -> . expression
+ (6) statement -> . sandbox
+ (7) statement -> . import_statement
+ (8) statement -> . variable_operation
+ (9) statement -> . return_statement
+ (10) statement -> . delete_statement
+ (11) statement -> . for_loop
+ (12) statement -> . break_statement
+ (13) statement -> . variable_assignment
+ (14) statement -> . python_code_statement
+ (15) statement -> . while_loop
+ (16) statement -> . conditional
+ (17) statement -> . function_call_statement
+ (18) statement -> . class_declaration
+ (19) statement -> . function_declaration
+ (20) expression -> . assoc_array
+ (21) expression -> . _list
+ (22) expression -> . _tuple
+ (23) expression -> . class_attribute
+ (24) expression -> . id
+ (25) expression -> . string
+ (26) expression -> . bool
+ (27) expression -> . float
+ (28) expression -> . int
+ (29) expression -> . null
+ (30) expression -> . get_index
+ (31) expression -> . python_code
+ (32) expression -> . ( expression )
+ (33) expression -> . expression > expression
+ (34) expression -> . expression < expression
+ (35) expression -> . ! expression
+ (36) expression -> . + expression
+ (37) expression -> . - expression
+ (38) expression -> . expression & expression
+ (39) expression -> . function_call | function_call
+ (40) expression -> . expression EQ_GREATER expression
+ (41) expression -> . expression EQ_LESS expression
+ (42) expression -> . expression NOT_EQEQ expression
+ (43) expression -> . expression EQEQ expression
+ (44) expression -> . expression % expression
+ (45) expression -> . expression * expression
+ (46) expression -> . expression / expression
+ (47) expression -> . expression - expression
+ (48) expression -> . expression + expression
+ (49) expression -> . function_call
+ (50) expression -> . * ID
+ (51) expression -> . & ID
+ (52) expression -> . ID OF ID
+ (53) expression -> . $ expression
+ (54) expression -> . expression . expression
+ (55) expression -> . html_full
+ (56) expression -> . for_loop
+ (57) expression -> . conditional
+ (58) sandbox -> . PHPSTART program PHPEND
+ (59) sandbox -> . LIMPORT expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
+ (70) return_statement -> . RETURN expression ;
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (67) break_statement -> . DEBUG ;
+ (68) break_statement -> . SKIP ;
+ (69) break_statement -> . BREAK ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
+ (66) python_code_statement -> . python_code ;
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (65) function_call_statement -> . function_call ;
+ (105) class_declaration -> . NAMESPACE ID ;
+ (106) class_declaration -> . NAMESPACE ID { program }
+ (107) class_declaration -> . CLASS ID EXTENDS ID { program }
+ (108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
+ (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
+ (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
+ (93) function_declaration -> . INIT ( function_arguments ) { program } ;
+ (94) function_declaration -> . ID FUNC ID ( empty ) { program }
+ (95) function_declaration -> . ID FUNC ID ( function_arguments ) { program }
+ (96) function_declaration -> . ID FUNC ID ( empty ) : expression { program }
+ (97) function_declaration -> . ID FUNC ID ( function_arguments ) : expression { program }
+ (98) function_declaration -> . FUNC ID ( empty ) { program }
+ (99) function_declaration -> . FUNC ID ( empty ) : expression { program }
+ (100) function_declaration -> . FUNC ID ( function_arguments ) { program }
+ (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
+ (71) function_call -> . . ENV FROM ID { program }
+ (72) function_call -> . . ENV { program }
+ (73) function_call -> . expression ( empty ) FARROW { program }
+ (74) function_call -> . ID TARROW ID ( function_arguments )
+ (75) function_call -> . ID \ ID
+ (76) function_call -> . ID / ID
+ (77) function_call -> . ID TARROW ID
+ (78) function_call -> . # DEPENDS expression
+ (79) function_call -> . # DEFINE expression ? ID
+ (80) function_call -> . expression ( empty )
+ (81) function_call -> . NEW expression ( empty )
+ (82) function_call -> . NEW expression ( function_arguments )
+ (83) function_call -> . ID COLON_COLON ID ( empty )
+ (84) function_call -> . ID COLON_COLON ID ( function_arguments )
+ (85) function_call -> . $ ID TARROW ID ( empty )
+ (86) function_call -> . $ ID TARROW ID ( function_arguments )
+ (87) function_call -> . expression ( function_arguments ) FARROW { program }
+ (88) function_call -> . expression $ ID = expression ;
+ (89) function_call -> . expression ( function_arguments )
+ (90) function_call -> . expression function_arguments
+ (60) html_full -> . ? HTMLEND
+ (61) html_full -> . HTMLSTART
+ (62) html_full -> . HTMLSTART empty HTMLEND
+ (63) html_full -> . HTMLSTART expression HTMLEND
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 407
+ ? shift and go to state 4
+ ( shift and go to state 32
+ ! shift and go to state 33
+ + shift and go to state 34
+ - shift and go to state 35
+ * shift and go to state 38
+ & shift and go to state 36
+ ID shift and go to state 39
+ $ shift and go to state 40
+ PHPSTART shift and go to state 43
+ LIMPORT shift and go to state 44
+ . shift and go to state 41
+ IMPORT shift and go to state 45
+ RETURN shift and go to state 46
+ DEL shift and go to state 47
+ FOREACH shift and go to state 48
+ FOR shift and go to state 50
+ DEBUG shift and go to state 51
+ SKIP shift and go to state 52
+ BREAK shift and go to state 53
+ LET shift and go to state 54
+ WHILE shift and go to state 55
+ NAMESPACE shift and go to state 57
+ CLASS shift and go to state 58
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -39804,7 +40377,7 @@ state 377
html_full shift and go to state 42
if_statement shift and go to state 56
-state 378
+state 383
(73) function_call -> expression ( empty ) FARROW { program . }
(3) program -> program . statement
@@ -39864,41 +40437,42 @@ state 378
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -39910,28 +40484,28 @@ state 378
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -39956,8 +40530,8 @@ state 378
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 402
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 408
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -39982,9 +40556,9 @@ state 378
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -40034,7 +40608,7 @@ state 378
html_full shift and go to state 42
if_statement shift and go to state 56
-state 379
+state 384
(87) function_call -> expression ( function_arguments ) FARROW { program . }
(3) program -> program . statement
@@ -40094,41 +40668,42 @@ state 379
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -40140,28 +40715,28 @@ state 379
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -40186,8 +40761,8 @@ state 379
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 403
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 409
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -40212,9 +40787,9 @@ state 379
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -40264,13 +40839,13 @@ state 379
html_full shift and go to state 42
if_statement shift and go to state 56
-state 380
+state 385
(94) function_declaration -> ID FUNC ID ( empty ) { . program }
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -40327,41 +40902,42 @@ state 380
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -40373,28 +40949,28 @@ state 380
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -40419,46 +40995,46 @@ state 380
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
@@ -40466,7 +41042,7 @@ state 380
& shift and go to state 36
empty shift and go to state 2
- program shift and go to state 404
+ program shift and go to state 410
statement shift and go to state 3
expression shift and go to state 5
sandbox shift and go to state 6
@@ -40499,7 +41075,7 @@ state 380
html_full shift and go to state 42
if_statement shift and go to state 56
-state 381
+state 386
(96) function_declaration -> ID FUNC ID ( empty ) : . expression { program }
(20) expression -> . assoc_array
@@ -40540,28 +41116,28 @@ state 381
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -40586,13 +41162,13 @@ state 381
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -40601,7 +41177,7 @@ state 381
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -40623,7 +41199,7 @@ state 381
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 405
+ expression shift and go to state 411
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -40642,13 +41218,13 @@ state 381
conditional shift and go to state 88
if_statement shift and go to state 56
-state 382
+state 387
(95) function_declaration -> ID FUNC ID ( function_arguments ) { . program }
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -40705,41 +41281,42 @@ state 382
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -40751,28 +41328,28 @@ state 382
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -40797,53 +41374,53 @@ state 382
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
- program shift and go to state 406
+ program shift and go to state 412
empty shift and go to state 2
statement shift and go to state 3
expression shift and go to state 5
@@ -40877,7 +41454,7 @@ state 382
html_full shift and go to state 42
if_statement shift and go to state 56
-state 383
+state 388
(97) function_declaration -> ID FUNC ID ( function_arguments ) : . expression { program }
(20) expression -> . assoc_array
@@ -40918,28 +41495,28 @@ state 383
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -40964,13 +41541,13 @@ state 383
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -40979,7 +41556,7 @@ state 383
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -41001,7 +41578,7 @@ state 383
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 407
+ expression shift and go to state 413
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -41020,58 +41597,58 @@ state 383
conditional shift and go to state 88
if_statement shift and go to state 56
-state 384
+state 389
- (118) variable_assignment -> $ ID TARROW ID = expression ; .
- ? reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- ( reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- ! reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- + reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- - reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- * reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- & reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- ID reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- $ reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- PHPSTART reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- LIMPORT reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- . reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- IMPORT reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- RETURN reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- DEL reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- FOREACH reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- FOR reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- DEBUG reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- SKIP reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- BREAK reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- LET reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- WHILE reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- NAMESPACE reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- CLASS reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- FUNC reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- INIT reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- [ reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- { reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- FORMATTED_STRING reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- MULTILINE_STRING reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- STRING reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- CHAR reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- FALSE reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- TRUE reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- FLOAT reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- INT reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- NULL reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- PYTHON_CODE_EXEC reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- PYTHON_CODE reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- # reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- NEW reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- HTMLSTART reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- IF reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- $end reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- PHPEND reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
- } reduce using rule 118 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ (119) variable_assignment -> $ ID TARROW ID = expression ; .
+ ? reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ ( reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ ! reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ + reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ - reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ * reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ & reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ ID reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ $ reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ PHPSTART reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ LIMPORT reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ . reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ IMPORT reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ RETURN reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ DEL reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ FOREACH reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ FOR reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ DEBUG reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ SKIP reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ BREAK reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ LET reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ WHILE reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ NAMESPACE reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ CLASS reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ FUNC reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ INIT reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ [ reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ { reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ FORMATTED_STRING reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ MULTILINE_STRING reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ STRING reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ CHAR reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ FALSE reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ TRUE reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ FLOAT reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ INT reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ NULL reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ PYTHON_CODE_EXEC reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ PYTHON_CODE reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ # reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ NEW reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ HTMLSTART reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ IF reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ $end reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ PHPEND reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
+ } reduce using rule 119 (variable_assignment -> $ ID TARROW ID = expression ; .)
-state 385
+state 390
(85) function_call -> $ ID TARROW ID ( empty ) .
| reduce using rule 85 (function_call -> $ ID TARROW ID ( empty ) .)
@@ -41146,7 +41723,7 @@ state 385
AS reduce using rule 85 (function_call -> $ ID TARROW ID ( empty ) .)
-state 386
+state 391
(86) function_call -> $ ID TARROW ID ( function_arguments ) .
(74) function_call -> ID TARROW ID ( function_arguments ) .
@@ -41292,7 +41869,7 @@ state 386
AS reduce using rule 86 (function_call -> $ ID TARROW ID ( function_arguments ) .)
-state 387
+state 392
(71) function_call -> . ENV FROM ID { program } .
| reduce using rule 71 (function_call -> . ENV FROM ID { program } .)
@@ -41367,13 +41944,13 @@ state 387
AS reduce using rule 71 (function_call -> . ENV FROM ID { program } .)
-state 388
+state 393
- (109) for_loop -> FOREACH ( expression AS expression ) { . program }
+ (110) for_loop -> FOREACH ( expression AS expression ) { . program }
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -41430,41 +42007,42 @@ state 388
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -41476,28 +42054,28 @@ state 388
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -41522,46 +42100,46 @@ state 388
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
@@ -41569,7 +42147,7 @@ state 388
& shift and go to state 36
expression shift and go to state 5
- program shift and go to state 408
+ program shift and go to state 414
empty shift and go to state 2
statement shift and go to state 3
sandbox shift and go to state 6
@@ -41602,190 +42180,190 @@ state 388
html_full shift and go to state 42
if_statement shift and go to state 56
-state 389
+state 394
- (110) for_loop -> FOR ( expression ) { program } .
- ? reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- ( reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- ! reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- + reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- - reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- * reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- & reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- ID reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- $ reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- PHPSTART reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- LIMPORT reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- . reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- IMPORT reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- RETURN reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- DEL reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- FOREACH reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- FOR reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- DEBUG reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- SKIP reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- BREAK reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- LET reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- WHILE reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- NAMESPACE reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- CLASS reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- FUNC reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- INIT reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- [ reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- { reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- FORMATTED_STRING reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- MULTILINE_STRING reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- STRING reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- CHAR reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- FALSE reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- TRUE reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- FLOAT reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- INT reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- NULL reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- PYTHON_CODE_EXEC reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- PYTHON_CODE reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- # reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- NEW reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- HTMLSTART reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- IF reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- $end reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- > reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- < reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- EQ_GREATER reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- EQ_LESS reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- NOT_EQEQ reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- EQEQ reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- % reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- / reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- COLON_COLON reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- ^ reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- ; reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- | reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- , reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- PHPEND reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- } reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- ) reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- SARROW reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- ] reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- HTMLEND reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- EQ_DIV reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- EQ_MOD reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- EQ_MUL reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- EQ_SUB reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- EQ_ADD reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- = reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
- AS reduce using rule 110 (for_loop -> FOR ( expression ) { program } .)
+ (111) for_loop -> FOR ( expression ) { program } .
+ ? reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ ( reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ ! reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ + reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ - reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ * reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ & reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ ID reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ $ reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ PHPSTART reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ LIMPORT reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ . reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ IMPORT reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ RETURN reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ DEL reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ FOREACH reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ FOR reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ DEBUG reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ SKIP reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ BREAK reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ LET reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ WHILE reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ NAMESPACE reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ CLASS reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ FUNC reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ INIT reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ [ reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ { reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ FORMATTED_STRING reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ MULTILINE_STRING reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ STRING reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ CHAR reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ FALSE reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ TRUE reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ FLOAT reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ INT reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ NULL reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ PYTHON_CODE_EXEC reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ PYTHON_CODE reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ # reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ NEW reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ HTMLSTART reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ IF reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ $end reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ > reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ < reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ EQ_GREATER reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ EQ_LESS reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ NOT_EQEQ reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ EQEQ reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ % reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ / reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ COLON_COLON reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ ^ reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ ; reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ | reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ , reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ PHPEND reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ } reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ ) reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ SARROW reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ ] reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ HTMLEND reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ EQ_DIV reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ EQ_MOD reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ EQ_MUL reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ EQ_SUB reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ EQ_ADD reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ = reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
+ AS reduce using rule 111 (for_loop -> FOR ( expression ) { program } .)
-state 390
+state 395
- (117) variable_assignment -> LET ID : ID = expression ; .
- ? reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- ( reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- ! reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- + reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- - reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- * reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- & reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- ID reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- $ reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- PHPSTART reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- LIMPORT reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- . reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- IMPORT reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- RETURN reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- DEL reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- FOREACH reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- FOR reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- DEBUG reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- SKIP reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- BREAK reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- LET reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- WHILE reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- NAMESPACE reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- CLASS reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- FUNC reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- INIT reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- [ reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- { reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- FORMATTED_STRING reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- MULTILINE_STRING reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- STRING reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- CHAR reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- FALSE reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- TRUE reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- FLOAT reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- INT reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- NULL reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- PYTHON_CODE_EXEC reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- PYTHON_CODE reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- # reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- NEW reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- HTMLSTART reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- IF reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- $end reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- PHPEND reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
- } reduce using rule 117 (variable_assignment -> LET ID : ID = expression ; .)
+ (118) variable_assignment -> LET ID : ID = expression ; .
+ ? reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ ( reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ ! reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ + reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ - reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ * reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ & reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ ID reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ $ reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ PHPSTART reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ LIMPORT reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ . reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ IMPORT reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ RETURN reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ DEL reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ FOREACH reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ FOR reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ DEBUG reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ SKIP reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ BREAK reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ LET reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ WHILE reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ NAMESPACE reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ CLASS reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ FUNC reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ INIT reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ [ reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ { reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ FORMATTED_STRING reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ MULTILINE_STRING reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ STRING reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ CHAR reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ FALSE reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ TRUE reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ FLOAT reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ INT reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ NULL reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ PYTHON_CODE_EXEC reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ PYTHON_CODE reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ # reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ NEW reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ HTMLSTART reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ IF reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ $end reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ PHPEND reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
+ } reduce using rule 118 (variable_assignment -> LET ID : ID = expression ; .)
-state 391
+state 396
- (111) while_loop -> WHILE ( expression ) { program } .
- ? reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- ( reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- ! reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- + reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- - reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- * reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- & reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- ID reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- $ reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- PHPSTART reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- LIMPORT reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- . reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- IMPORT reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- RETURN reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- DEL reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- FOREACH reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- FOR reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- DEBUG reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- SKIP reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- BREAK reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- LET reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- WHILE reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- NAMESPACE reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- CLASS reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- FUNC reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- INIT reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- [ reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- { reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- FORMATTED_STRING reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- MULTILINE_STRING reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- STRING reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- CHAR reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- FALSE reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- TRUE reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- FLOAT reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- INT reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- NULL reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- PYTHON_CODE_EXEC reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- PYTHON_CODE reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- # reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- NEW reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- HTMLSTART reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- IF reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- $end reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- PHPEND reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
- } reduce using rule 111 (while_loop -> WHILE ( expression ) { program } .)
+ (112) while_loop -> WHILE ( expression ) { program } .
+ ? reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ ( reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ ! reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ + reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ - reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ * reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ & reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ ID reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ $ reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ PHPSTART reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ LIMPORT reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ . reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ IMPORT reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ RETURN reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ DEL reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ FOREACH reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ FOR reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ DEBUG reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ SKIP reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ BREAK reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ LET reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ WHILE reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ NAMESPACE reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ CLASS reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ FUNC reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ INIT reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ [ reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ { reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ FORMATTED_STRING reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ MULTILINE_STRING reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ STRING reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ CHAR reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ FALSE reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ TRUE reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ FLOAT reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ INT reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ NULL reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ PYTHON_CODE_EXEC reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ PYTHON_CODE reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ # reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ NEW reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ HTMLSTART reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ IF reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ $end reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ PHPEND reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
+ } reduce using rule 112 (while_loop -> WHILE ( expression ) { program } .)
-state 392
+state 397
- (137) else_if_statement -> ELSE IF ( expression ) { . program }
+ (138) else_if_statement -> ELSE IF ( expression ) { . program }
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -41842,41 +42420,42 @@ state 392
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -41888,28 +42467,28 @@ state 392
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -41934,46 +42513,46 @@ state 392
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
@@ -41981,7 +42560,7 @@ state 392
& shift and go to state 36
expression shift and go to state 5
- program shift and go to state 409
+ program shift and go to state 415
empty shift and go to state 2
statement shift and go to state 3
sandbox shift and go to state 6
@@ -42014,7 +42593,7 @@ state 392
html_full shift and go to state 42
if_statement shift and go to state 56
-state 393
+state 398
(107) class_declaration -> CLASS ID EXTENDS ID { program } .
? reduce using rule 107 (class_declaration -> CLASS ID EXTENDS ID { program } .)
@@ -42065,19 +42644,250 @@ state 393
} reduce using rule 107 (class_declaration -> CLASS ID EXTENDS ID { program } .)
-state 394
+state 399
+
+ (109) class_declaration -> CLASS ID [ positional_args ] { program . }
+ (3) program -> program . statement
+ (4) statement -> . ? expression ;
+ (5) statement -> . expression
+ (6) statement -> . sandbox
+ (7) statement -> . import_statement
+ (8) statement -> . variable_operation
+ (9) statement -> . return_statement
+ (10) statement -> . delete_statement
+ (11) statement -> . for_loop
+ (12) statement -> . break_statement
+ (13) statement -> . variable_assignment
+ (14) statement -> . python_code_statement
+ (15) statement -> . while_loop
+ (16) statement -> . conditional
+ (17) statement -> . function_call_statement
+ (18) statement -> . class_declaration
+ (19) statement -> . function_declaration
+ (20) expression -> . assoc_array
+ (21) expression -> . _list
+ (22) expression -> . _tuple
+ (23) expression -> . class_attribute
+ (24) expression -> . id
+ (25) expression -> . string
+ (26) expression -> . bool
+ (27) expression -> . float
+ (28) expression -> . int
+ (29) expression -> . null
+ (30) expression -> . get_index
+ (31) expression -> . python_code
+ (32) expression -> . ( expression )
+ (33) expression -> . expression > expression
+ (34) expression -> . expression < expression
+ (35) expression -> . ! expression
+ (36) expression -> . + expression
+ (37) expression -> . - expression
+ (38) expression -> . expression & expression
+ (39) expression -> . function_call | function_call
+ (40) expression -> . expression EQ_GREATER expression
+ (41) expression -> . expression EQ_LESS expression
+ (42) expression -> . expression NOT_EQEQ expression
+ (43) expression -> . expression EQEQ expression
+ (44) expression -> . expression % expression
+ (45) expression -> . expression * expression
+ (46) expression -> . expression / expression
+ (47) expression -> . expression - expression
+ (48) expression -> . expression + expression
+ (49) expression -> . function_call
+ (50) expression -> . * ID
+ (51) expression -> . & ID
+ (52) expression -> . ID OF ID
+ (53) expression -> . $ expression
+ (54) expression -> . expression . expression
+ (55) expression -> . html_full
+ (56) expression -> . for_loop
+ (57) expression -> . conditional
+ (58) sandbox -> . PHPSTART program PHPEND
+ (59) sandbox -> . LIMPORT expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
+ (70) return_statement -> . RETURN expression ;
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (67) break_statement -> . DEBUG ;
+ (68) break_statement -> . SKIP ;
+ (69) break_statement -> . BREAK ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
+ (66) python_code_statement -> . python_code ;
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (65) function_call_statement -> . function_call ;
+ (105) class_declaration -> . NAMESPACE ID ;
+ (106) class_declaration -> . NAMESPACE ID { program }
+ (107) class_declaration -> . CLASS ID EXTENDS ID { program }
+ (108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
+ (91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
+ (92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
+ (93) function_declaration -> . INIT ( function_arguments ) { program } ;
+ (94) function_declaration -> . ID FUNC ID ( empty ) { program }
+ (95) function_declaration -> . ID FUNC ID ( function_arguments ) { program }
+ (96) function_declaration -> . ID FUNC ID ( empty ) : expression { program }
+ (97) function_declaration -> . ID FUNC ID ( function_arguments ) : expression { program }
+ (98) function_declaration -> . FUNC ID ( empty ) { program }
+ (99) function_declaration -> . FUNC ID ( empty ) : expression { program }
+ (100) function_declaration -> . FUNC ID ( function_arguments ) { program }
+ (101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
+ (71) function_call -> . . ENV FROM ID { program }
+ (72) function_call -> . . ENV { program }
+ (73) function_call -> . expression ( empty ) FARROW { program }
+ (74) function_call -> . ID TARROW ID ( function_arguments )
+ (75) function_call -> . ID \ ID
+ (76) function_call -> . ID / ID
+ (77) function_call -> . ID TARROW ID
+ (78) function_call -> . # DEPENDS expression
+ (79) function_call -> . # DEFINE expression ? ID
+ (80) function_call -> . expression ( empty )
+ (81) function_call -> . NEW expression ( empty )
+ (82) function_call -> . NEW expression ( function_arguments )
+ (83) function_call -> . ID COLON_COLON ID ( empty )
+ (84) function_call -> . ID COLON_COLON ID ( function_arguments )
+ (85) function_call -> . $ ID TARROW ID ( empty )
+ (86) function_call -> . $ ID TARROW ID ( function_arguments )
+ (87) function_call -> . expression ( function_arguments ) FARROW { program }
+ (88) function_call -> . expression $ ID = expression ;
+ (89) function_call -> . expression ( function_arguments )
+ (90) function_call -> . expression function_arguments
+ (60) html_full -> . ? HTMLEND
+ (61) html_full -> . HTMLSTART
+ (62) html_full -> . HTMLSTART empty HTMLEND
+ (63) html_full -> . HTMLSTART expression HTMLEND
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 416
+ ? shift and go to state 4
+ ( shift and go to state 32
+ ! shift and go to state 33
+ + shift and go to state 34
+ - shift and go to state 35
+ * shift and go to state 38
+ & shift and go to state 36
+ ID shift and go to state 39
+ $ shift and go to state 40
+ PHPSTART shift and go to state 43
+ LIMPORT shift and go to state 44
+ . shift and go to state 41
+ IMPORT shift and go to state 45
+ RETURN shift and go to state 46
+ DEL shift and go to state 47
+ FOREACH shift and go to state 48
+ FOR shift and go to state 50
+ DEBUG shift and go to state 51
+ SKIP shift and go to state 52
+ BREAK shift and go to state 53
+ LET shift and go to state 54
+ WHILE shift and go to state 55
+ NAMESPACE shift and go to state 57
+ CLASS shift and go to state 58
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
+ { shift and go to state 49
+ FORMATTED_STRING shift and go to state 62
+ MULTILINE_STRING shift and go to state 63
+ STRING shift and go to state 64
+ CHAR shift and go to state 65
+ FALSE shift and go to state 66
+ TRUE shift and go to state 67
+ FLOAT shift and go to state 68
+ INT shift and go to state 69
+ NULL shift and go to state 70
+ PYTHON_CODE_EXEC shift and go to state 71
+ PYTHON_CODE shift and go to state 72
+ # shift and go to state 73
+ NEW shift and go to state 74
+ HTMLSTART shift and go to state 75
+ IF shift and go to state 76
+
+ statement shift and go to state 77
+ expression shift and go to state 5
+ sandbox shift and go to state 6
+ import_statement shift and go to state 7
+ variable_operation shift and go to state 8
+ return_statement shift and go to state 9
+ delete_statement shift and go to state 10
+ for_loop shift and go to state 11
+ break_statement shift and go to state 12
+ variable_assignment shift and go to state 13
+ python_code_statement shift and go to state 14
+ while_loop shift and go to state 15
+ conditional shift and go to state 16
+ function_call_statement shift and go to state 17
+ class_declaration shift and go to state 18
+ function_declaration shift and go to state 19
+ assoc_array shift and go to state 20
+ _list shift and go to state 21
+ _tuple shift and go to state 22
+ class_attribute shift and go to state 23
+ id shift and go to state 24
+ string shift and go to state 25
+ bool shift and go to state 26
+ float shift and go to state 27
+ int shift and go to state 28
+ null shift and go to state 29
+ get_index shift and go to state 30
+ python_code shift and go to state 31
+ function_call shift and go to state 37
+ html_full shift and go to state 42
+ if_statement shift and go to state 56
+
+state 400
(91) function_declaration -> FUNC ID COLON_COLON ID ( empty ) . { program } TARROW expression
- { shift and go to state 410
+ { shift and go to state 417
-state 395
+state 401
(92) function_declaration -> FUNC ID COLON_COLON ID ( function_arguments ) . { program } TARROW expression
- { shift and go to state 411
+ { shift and go to state 418
-state 396
+state 402
(98) function_declaration -> FUNC ID ( empty ) { program . }
(3) program -> program . statement
@@ -42137,41 +42947,42 @@ state 396
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -42183,28 +42994,28 @@ state 396
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -42229,8 +43040,8 @@ state 396
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 412
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 419
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -42255,9 +43066,9 @@ state 396
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -42307,7 +43118,7 @@ state 396
html_full shift and go to state 42
if_statement shift and go to state 56
-state 397
+state 403
(99) function_declaration -> FUNC ID ( empty ) : expression . { program }
(33) expression -> expression . > expression
@@ -42323,9 +43134,9 @@ state 397
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -42335,10 +43146,10 @@ state 397
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -42377,28 +43188,28 @@ state 397
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -42423,14 +43234,14 @@ state 397
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- { shift and go to state 413
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ { shift and go to state 420
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -42492,7 +43303,7 @@ state 397
conditional shift and go to state 88
if_statement shift and go to state 56
-state 398
+state 404
(100) function_declaration -> FUNC ID ( function_arguments ) { program . }
(3) program -> program . statement
@@ -42552,41 +43363,42 @@ state 398
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -42598,28 +43410,28 @@ state 398
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -42644,8 +43456,8 @@ state 398
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 414
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 421
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -42670,9 +43482,9 @@ state 398
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -42722,7 +43534,7 @@ state 398
html_full shift and go to state 42
if_statement shift and go to state 56
-state 399
+state 405
(101) function_declaration -> FUNC ID ( function_arguments ) : expression . { program }
(33) expression -> expression . > expression
@@ -42738,9 +43550,9 @@ state 399
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -42750,10 +43562,10 @@ state 399
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -42792,28 +43604,28 @@ state 399
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -42838,14 +43650,14 @@ state 399
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- { shift and go to state 415
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ { shift and go to state 422
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -42907,89 +43719,89 @@ state 399
conditional shift and go to state 88
if_statement shift and go to state 56
-state 400
+state 406
(93) function_declaration -> INIT ( function_arguments ) { program } . ;
- ; shift and go to state 416
+ ; shift and go to state 423
-state 401
+state 407
- (134) if_statement -> IF ( expression ) { program } .
- ELSE reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- ? reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- ( reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- ! reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- + reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- - reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- * reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- & reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- ID reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- $ reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- PHPSTART reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- LIMPORT reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- . reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- IMPORT reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- RETURN reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- DEL reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- FOREACH reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- FOR reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- DEBUG reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- SKIP reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- BREAK reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- LET reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- WHILE reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- NAMESPACE reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- CLASS reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- FUNC reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- INIT reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- [ reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- { reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- FORMATTED_STRING reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- MULTILINE_STRING reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- STRING reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- CHAR reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- FALSE reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- TRUE reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- FLOAT reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- INT reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- NULL reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- PYTHON_CODE_EXEC reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- PYTHON_CODE reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- # reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- NEW reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- HTMLSTART reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- IF reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- $end reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- > reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- < reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- EQ_GREATER reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- EQ_LESS reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- NOT_EQEQ reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- EQEQ reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- % reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- / reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- COLON_COLON reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- ^ reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- ; reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- | reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- , reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- PHPEND reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- } reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- ) reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- SARROW reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- ] reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- HTMLEND reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- EQ_DIV reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- EQ_MOD reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- EQ_MUL reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- EQ_SUB reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- EQ_ADD reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- = reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
- AS reduce using rule 134 (if_statement -> IF ( expression ) { program } .)
+ (135) if_statement -> IF ( expression ) { program } .
+ ELSE reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ ? reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ ( reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ ! reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ + reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ - reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ * reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ & reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ ID reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ $ reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ PHPSTART reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ LIMPORT reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ . reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ IMPORT reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ RETURN reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ DEL reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ FOREACH reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ FOR reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ DEBUG reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ SKIP reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ BREAK reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ LET reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ WHILE reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ NAMESPACE reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ CLASS reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ FUNC reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ INIT reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ [ reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ { reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ FORMATTED_STRING reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ MULTILINE_STRING reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ STRING reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ CHAR reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ FALSE reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ TRUE reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ FLOAT reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ INT reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ NULL reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ PYTHON_CODE_EXEC reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ PYTHON_CODE reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ # reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ NEW reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ HTMLSTART reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ IF reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ $end reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ > reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ < reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ EQ_GREATER reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ EQ_LESS reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ NOT_EQEQ reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ EQEQ reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ % reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ / reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ COLON_COLON reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ ^ reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ ; reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ | reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ , reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ PHPEND reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ } reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ ) reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ SARROW reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ ] reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ HTMLEND reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ EQ_DIV reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ EQ_MOD reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ EQ_MUL reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ EQ_SUB reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ EQ_ADD reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ = reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
+ AS reduce using rule 135 (if_statement -> IF ( expression ) { program } .)
-state 402
+state 408
(73) function_call -> expression ( empty ) FARROW { program } .
| reduce using rule 73 (function_call -> expression ( empty ) FARROW { program } .)
@@ -43064,7 +43876,7 @@ state 402
AS reduce using rule 73 (function_call -> expression ( empty ) FARROW { program } .)
-state 403
+state 409
(87) function_call -> expression ( function_arguments ) FARROW { program } .
| reduce using rule 87 (function_call -> expression ( function_arguments ) FARROW { program } .)
@@ -43139,7 +43951,7 @@ state 403
AS reduce using rule 87 (function_call -> expression ( function_arguments ) FARROW { program } .)
-state 404
+state 410
(94) function_declaration -> ID FUNC ID ( empty ) { program . }
(3) program -> program . statement
@@ -43199,41 +44011,42 @@ state 404
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -43245,28 +44058,28 @@ state 404
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -43291,8 +44104,8 @@ state 404
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 417
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 424
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -43317,9 +44130,9 @@ state 404
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -43369,7 +44182,7 @@ state 404
html_full shift and go to state 42
if_statement shift and go to state 56
-state 405
+state 411
(96) function_declaration -> ID FUNC ID ( empty ) : expression . { program }
(33) expression -> expression . > expression
@@ -43385,9 +44198,9 @@ state 405
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -43397,10 +44210,10 @@ state 405
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -43439,28 +44252,28 @@ state 405
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -43485,14 +44298,14 @@ state 405
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- { shift and go to state 418
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ { shift and go to state 425
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -43554,7 +44367,7 @@ state 405
conditional shift and go to state 88
if_statement shift and go to state 56
-state 406
+state 412
(95) function_declaration -> ID FUNC ID ( function_arguments ) { program . }
(3) program -> program . statement
@@ -43614,41 +44427,42 @@ state 406
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -43660,28 +44474,28 @@ state 406
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -43706,8 +44520,8 @@ state 406
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 419
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 426
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -43732,9 +44546,9 @@ state 406
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -43784,7 +44598,7 @@ state 406
html_full shift and go to state 42
if_statement shift and go to state 56
-state 407
+state 413
(97) function_declaration -> ID FUNC ID ( function_arguments ) : expression . { program }
(33) expression -> expression . > expression
@@ -43800,9 +44614,9 @@ state 407
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -43812,10 +44626,10 @@ state 407
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -43854,28 +44668,28 @@ state 407
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -43900,14 +44714,14 @@ state 407
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
- { shift and go to state 420
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
+ { shift and go to state 427
> shift and go to state 90
< shift and go to state 91
& shift and go to state 92
@@ -43969,9 +44783,9 @@ state 407
conditional shift and go to state 88
if_statement shift and go to state 56
-state 408
+state 414
- (109) for_loop -> FOREACH ( expression AS expression ) { program . }
+ (110) for_loop -> FOREACH ( expression AS expression ) { program . }
(3) program -> program . statement
(4) statement -> . ? expression ;
(5) statement -> . expression
@@ -44029,41 +44843,42 @@ state 408
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -44075,28 +44890,28 @@ state 408
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -44121,8 +44936,8 @@ state 408
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 421
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 428
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -44147,9 +44962,9 @@ state 408
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -44199,9 +45014,9 @@ state 408
html_full shift and go to state 42
if_statement shift and go to state 56
-state 409
+state 415
- (137) else_if_statement -> ELSE IF ( expression ) { program . }
+ (138) else_if_statement -> ELSE IF ( expression ) { program . }
(3) program -> program . statement
(4) statement -> . ? expression ;
(5) statement -> . expression
@@ -44259,41 +45074,42 @@ state 409
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -44305,28 +45121,28 @@ state 409
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -44351,8 +45167,8 @@ state 409
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 422
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 429
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -44377,9 +45193,9 @@ state 409
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -44429,13 +45245,64 @@ state 409
html_full shift and go to state 42
if_statement shift and go to state 56
-state 410
+state 416
+
+ (109) class_declaration -> CLASS ID [ positional_args ] { program } .
+ ? reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ ( reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ ! reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ + reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ - reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ * reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ & reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ ID reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ $ reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ PHPSTART reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ LIMPORT reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ . reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ IMPORT reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ RETURN reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ DEL reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ FOREACH reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ FOR reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ DEBUG reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ SKIP reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ BREAK reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ LET reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ WHILE reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ NAMESPACE reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ CLASS reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ FUNC reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ INIT reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ [ reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ { reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ FORMATTED_STRING reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ MULTILINE_STRING reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ STRING reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ CHAR reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ FALSE reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ TRUE reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ FLOAT reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ INT reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ NULL reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ PYTHON_CODE_EXEC reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ PYTHON_CODE reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ # reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ NEW reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ HTMLSTART reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ IF reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ $end reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ PHPEND reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+ } reduce using rule 109 (class_declaration -> CLASS ID [ positional_args ] { program } .)
+
+
+state 417
(91) function_declaration -> FUNC ID COLON_COLON ID ( empty ) { . program } TARROW expression
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -44492,41 +45359,42 @@ state 410
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -44538,28 +45406,28 @@ state 410
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -44584,46 +45452,46 @@ state 410
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
@@ -44631,7 +45499,7 @@ state 410
& shift and go to state 36
empty shift and go to state 2
- program shift and go to state 423
+ program shift and go to state 430
expression shift and go to state 5
statement shift and go to state 3
sandbox shift and go to state 6
@@ -44664,13 +45532,13 @@ state 410
html_full shift and go to state 42
if_statement shift and go to state 56
-state 411
+state 418
(92) function_declaration -> FUNC ID COLON_COLON ID ( function_arguments ) { . program } TARROW expression
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
+ (170) empty -> .
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -44727,41 +45595,42 @@ state 411
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -44773,28 +45642,28 @@ state 411
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -44819,53 +45688,53 @@ state 411
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
- program shift and go to state 424
+ program shift and go to state 431
expression shift and go to state 5
empty shift and go to state 2
statement shift and go to state 3
@@ -44899,7 +45768,7 @@ state 411
html_full shift and go to state 42
if_statement shift and go to state 56
-state 412
+state 419
(98) function_declaration -> FUNC ID ( empty ) { program } .
? reduce using rule 98 (function_declaration -> FUNC ID ( empty ) { program } .)
@@ -44950,18 +45819,18 @@ state 412
} reduce using rule 98 (function_declaration -> FUNC ID ( empty ) { program } .)
-state 413
+state 420
(99) function_declaration -> FUNC ID ( empty ) : expression { . program }
- (145) assoc_array -> { . empty }
- (151) _tuple -> { . positional_args , }
- (152) _tuple -> { . positional_args }
+ (146) assoc_array -> { . empty }
+ (152) _tuple -> { . positional_args , }
+ (153) _tuple -> { . positional_args }
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (170) empty -> .
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -45018,41 +45887,42 @@ state 413
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -45064,28 +45934,28 @@ state 413
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -45110,55 +45980,55 @@ state 413
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
- empty shift and go to state 425
- expression shift and go to state 426
- program shift and go to state 427
+ empty shift and go to state 432
+ expression shift and go to state 433
+ program shift and go to state 434
positional_args shift and go to state 150
statement shift and go to state 3
sandbox shift and go to state 6
@@ -45191,7 +46061,7 @@ state 413
html_full shift and go to state 42
if_statement shift and go to state 56
-state 414
+state 421
(100) function_declaration -> FUNC ID ( function_arguments ) { program } .
? reduce using rule 100 (function_declaration -> FUNC ID ( function_arguments ) { program } .)
@@ -45242,18 +46112,18 @@ state 414
} reduce using rule 100 (function_declaration -> FUNC ID ( function_arguments ) { program } .)
-state 415
+state 422
(101) function_declaration -> FUNC ID ( function_arguments ) : expression { . program }
- (145) assoc_array -> { . empty }
- (151) _tuple -> { . positional_args , }
- (152) _tuple -> { . positional_args }
+ (146) assoc_array -> { . empty }
+ (152) _tuple -> { . positional_args , }
+ (153) _tuple -> { . positional_args }
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (170) empty -> .
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -45310,41 +46180,42 @@ state 415
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -45356,28 +46227,28 @@ state 415
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -45402,55 +46273,55 @@ state 415
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
- expression shift and go to state 426
- program shift and go to state 428
- empty shift and go to state 425
+ expression shift and go to state 433
+ program shift and go to state 435
+ empty shift and go to state 432
positional_args shift and go to state 150
statement shift and go to state 3
sandbox shift and go to state 6
@@ -45483,7 +46354,7 @@ state 415
html_full shift and go to state 42
if_statement shift and go to state 56
-state 416
+state 423
(93) function_declaration -> INIT ( function_arguments ) { program } ; .
? reduce using rule 93 (function_declaration -> INIT ( function_arguments ) { program } ; .)
@@ -45534,7 +46405,7 @@ state 416
} reduce using rule 93 (function_declaration -> INIT ( function_arguments ) { program } ; .)
-state 417
+state 424
(94) function_declaration -> ID FUNC ID ( empty ) { program } .
? reduce using rule 94 (function_declaration -> ID FUNC ID ( empty ) { program } .)
@@ -45585,18 +46456,18 @@ state 417
} reduce using rule 94 (function_declaration -> ID FUNC ID ( empty ) { program } .)
-state 418
+state 425
(96) function_declaration -> ID FUNC ID ( empty ) : expression { . program }
- (145) assoc_array -> { . empty }
- (151) _tuple -> { . positional_args , }
- (152) _tuple -> { . positional_args }
+ (146) assoc_array -> { . empty }
+ (152) _tuple -> { . positional_args , }
+ (153) _tuple -> { . positional_args }
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (170) empty -> .
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -45653,41 +46524,42 @@ state 418
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -45699,28 +46571,28 @@ state 418
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -45745,55 +46617,55 @@ state 418
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
- empty shift and go to state 425
- expression shift and go to state 426
- program shift and go to state 429
+ empty shift and go to state 432
+ expression shift and go to state 433
+ program shift and go to state 436
positional_args shift and go to state 150
statement shift and go to state 3
sandbox shift and go to state 6
@@ -45826,7 +46698,7 @@ state 418
html_full shift and go to state 42
if_statement shift and go to state 56
-state 419
+state 426
(95) function_declaration -> ID FUNC ID ( function_arguments ) { program } .
? reduce using rule 95 (function_declaration -> ID FUNC ID ( function_arguments ) { program } .)
@@ -45877,18 +46749,18 @@ state 419
} reduce using rule 95 (function_declaration -> ID FUNC ID ( function_arguments ) { program } .)
-state 420
+state 427
(97) function_declaration -> ID FUNC ID ( function_arguments ) : expression { . program }
- (145) assoc_array -> { . empty }
- (151) _tuple -> { . positional_args , }
- (152) _tuple -> { . positional_args }
+ (146) assoc_array -> { . empty }
+ (152) _tuple -> { . positional_args , }
+ (153) _tuple -> { . positional_args }
(1) program -> . empty
(2) program -> . statement
(3) program -> . program statement
- (169) empty -> .
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (170) empty -> .
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(4) statement -> . ? expression ;
(5) statement -> . expression
(6) statement -> . sandbox
@@ -45945,41 +46817,42 @@ state 420
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -45991,28 +46864,28 @@ state 420
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -46037,55 +46910,55 @@ state 420
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } reduce using rule 169 (empty -> .)
- ? reduce using rule 169 (empty -> .)
- ( reduce using rule 169 (empty -> .)
- ID reduce using rule 169 (empty -> .)
- $ reduce using rule 169 (empty -> .)
- PHPSTART reduce using rule 169 (empty -> .)
- LIMPORT reduce using rule 169 (empty -> .)
- . reduce using rule 169 (empty -> .)
- IMPORT reduce using rule 169 (empty -> .)
- RETURN reduce using rule 169 (empty -> .)
- DEL reduce using rule 169 (empty -> .)
- FOREACH reduce using rule 169 (empty -> .)
- FOR reduce using rule 169 (empty -> .)
- DEBUG reduce using rule 169 (empty -> .)
- SKIP reduce using rule 169 (empty -> .)
- BREAK reduce using rule 169 (empty -> .)
- LET reduce using rule 169 (empty -> .)
- WHILE reduce using rule 169 (empty -> .)
- NAMESPACE reduce using rule 169 (empty -> .)
- CLASS reduce using rule 169 (empty -> .)
- FUNC reduce using rule 169 (empty -> .)
- INIT reduce using rule 169 (empty -> .)
- [ reduce using rule 169 (empty -> .)
- { reduce using rule 169 (empty -> .)
- FORMATTED_STRING reduce using rule 169 (empty -> .)
- MULTILINE_STRING reduce using rule 169 (empty -> .)
- STRING reduce using rule 169 (empty -> .)
- CHAR reduce using rule 169 (empty -> .)
- FALSE reduce using rule 169 (empty -> .)
- TRUE reduce using rule 169 (empty -> .)
- FLOAT reduce using rule 169 (empty -> .)
- INT reduce using rule 169 (empty -> .)
- NULL reduce using rule 169 (empty -> .)
- PYTHON_CODE_EXEC reduce using rule 169 (empty -> .)
- PYTHON_CODE reduce using rule 169 (empty -> .)
- # reduce using rule 169 (empty -> .)
- NEW reduce using rule 169 (empty -> .)
- HTMLSTART reduce using rule 169 (empty -> .)
- IF reduce using rule 169 (empty -> .)
+ (135) if_statement -> . IF ( expression ) { program }
+ } reduce using rule 170 (empty -> .)
+ ? reduce using rule 170 (empty -> .)
+ ( reduce using rule 170 (empty -> .)
+ ID reduce using rule 170 (empty -> .)
+ $ reduce using rule 170 (empty -> .)
+ PHPSTART reduce using rule 170 (empty -> .)
+ LIMPORT reduce using rule 170 (empty -> .)
+ . reduce using rule 170 (empty -> .)
+ IMPORT reduce using rule 170 (empty -> .)
+ RETURN reduce using rule 170 (empty -> .)
+ DEL reduce using rule 170 (empty -> .)
+ FOREACH reduce using rule 170 (empty -> .)
+ FOR reduce using rule 170 (empty -> .)
+ DEBUG reduce using rule 170 (empty -> .)
+ SKIP reduce using rule 170 (empty -> .)
+ BREAK reduce using rule 170 (empty -> .)
+ LET reduce using rule 170 (empty -> .)
+ WHILE reduce using rule 170 (empty -> .)
+ NAMESPACE reduce using rule 170 (empty -> .)
+ CLASS reduce using rule 170 (empty -> .)
+ FUNC reduce using rule 170 (empty -> .)
+ INIT reduce using rule 170 (empty -> .)
+ [ reduce using rule 170 (empty -> .)
+ { reduce using rule 170 (empty -> .)
+ FORMATTED_STRING reduce using rule 170 (empty -> .)
+ MULTILINE_STRING reduce using rule 170 (empty -> .)
+ STRING reduce using rule 170 (empty -> .)
+ CHAR reduce using rule 170 (empty -> .)
+ FALSE reduce using rule 170 (empty -> .)
+ TRUE reduce using rule 170 (empty -> .)
+ FLOAT reduce using rule 170 (empty -> .)
+ INT reduce using rule 170 (empty -> .)
+ NULL reduce using rule 170 (empty -> .)
+ PYTHON_CODE_EXEC reduce using rule 170 (empty -> .)
+ PYTHON_CODE reduce using rule 170 (empty -> .)
+ # reduce using rule 170 (empty -> .)
+ NEW reduce using rule 170 (empty -> .)
+ HTMLSTART reduce using rule 170 (empty -> .)
+ IF reduce using rule 170 (empty -> .)
! shift and go to state 33
+ shift and go to state 34
- shift and go to state 35
* shift and go to state 38
& shift and go to state 36
- expression shift and go to state 426
- program shift and go to state 430
- empty shift and go to state 425
+ expression shift and go to state 433
+ program shift and go to state 437
+ empty shift and go to state 432
positional_args shift and go to state 150
statement shift and go to state 3
sandbox shift and go to state 6
@@ -46118,158 +46991,158 @@ state 420
html_full shift and go to state 42
if_statement shift and go to state 56
-state 421
+state 428
- (109) for_loop -> FOREACH ( expression AS expression ) { program } .
- ? reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- ( reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- ! reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- + reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- - reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- * reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- & reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- ID reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- $ reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- PHPSTART reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- LIMPORT reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- . reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- IMPORT reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- RETURN reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- DEL reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- FOREACH reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- FOR reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- DEBUG reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- SKIP reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- BREAK reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- LET reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- WHILE reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- NAMESPACE reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- CLASS reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- FUNC reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- INIT reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- [ reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- { reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- FORMATTED_STRING reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- MULTILINE_STRING reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- STRING reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- CHAR reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- FALSE reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- TRUE reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- FLOAT reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- INT reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- NULL reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- PYTHON_CODE_EXEC reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- PYTHON_CODE reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- # reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- NEW reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- HTMLSTART reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- IF reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- $end reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- > reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- < reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- EQ_GREATER reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- EQ_LESS reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- NOT_EQEQ reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- EQEQ reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- % reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- / reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- COLON_COLON reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- ^ reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- ; reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- | reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- , reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- PHPEND reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- } reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- ) reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- SARROW reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- ] reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- HTMLEND reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- EQ_DIV reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- EQ_MOD reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- EQ_MUL reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- EQ_SUB reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- EQ_ADD reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- = reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
- AS reduce using rule 109 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ (110) for_loop -> FOREACH ( expression AS expression ) { program } .
+ ? reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ ( reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ ! reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ + reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ - reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ * reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ & reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ ID reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ $ reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ PHPSTART reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ LIMPORT reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ . reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ IMPORT reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ RETURN reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ DEL reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ FOREACH reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ FOR reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ DEBUG reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ SKIP reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ BREAK reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ LET reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ WHILE reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ NAMESPACE reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ CLASS reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ FUNC reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ INIT reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ [ reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ { reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ FORMATTED_STRING reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ MULTILINE_STRING reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ STRING reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ CHAR reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ FALSE reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ TRUE reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ FLOAT reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ INT reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ NULL reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ PYTHON_CODE_EXEC reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ PYTHON_CODE reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ # reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ NEW reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ HTMLSTART reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ IF reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ $end reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ > reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ < reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ EQ_GREATER reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ EQ_LESS reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ NOT_EQEQ reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ EQEQ reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ % reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ / reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ COLON_COLON reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ ^ reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ ; reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ | reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ , reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ PHPEND reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ } reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ ) reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ SARROW reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ ] reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ HTMLEND reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ EQ_DIV reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ EQ_MOD reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ EQ_MUL reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ EQ_SUB reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ EQ_ADD reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ = reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
+ AS reduce using rule 110 (for_loop -> FOREACH ( expression AS expression ) { program } .)
-state 422
+state 429
- (137) else_if_statement -> ELSE IF ( expression ) { program } .
- ELSE reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- ? reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- ( reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- ! reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- + reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- - reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- * reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- & reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- ID reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- $ reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- PHPSTART reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- LIMPORT reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- . reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- IMPORT reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- RETURN reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- DEL reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- FOREACH reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- FOR reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- DEBUG reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- SKIP reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- BREAK reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- LET reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- WHILE reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- NAMESPACE reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- CLASS reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- FUNC reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- INIT reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- [ reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- { reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- FORMATTED_STRING reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- MULTILINE_STRING reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- STRING reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- CHAR reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- FALSE reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- TRUE reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- FLOAT reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- INT reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- NULL reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- PYTHON_CODE_EXEC reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- PYTHON_CODE reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- # reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- NEW reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- HTMLSTART reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- IF reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- $end reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- > reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- < reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- EQ_GREATER reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- EQ_LESS reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- NOT_EQEQ reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- EQEQ reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- % reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- / reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- COLON_COLON reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- ^ reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- ; reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- | reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- , reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- PHPEND reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- } reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- ) reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- SARROW reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- ] reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- HTMLEND reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- EQ_DIV reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- EQ_MOD reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- EQ_MUL reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- EQ_SUB reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- EQ_ADD reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- = reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
- AS reduce using rule 137 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ (138) else_if_statement -> ELSE IF ( expression ) { program } .
+ ELSE reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ ? reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ ( reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ ! reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ + reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ - reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ * reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ & reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ ID reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ $ reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ PHPSTART reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ LIMPORT reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ . reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ IMPORT reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ RETURN reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ DEL reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ FOREACH reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ FOR reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ DEBUG reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ SKIP reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ BREAK reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ LET reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ WHILE reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ NAMESPACE reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ CLASS reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ FUNC reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ INIT reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ [ reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ { reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ FORMATTED_STRING reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ MULTILINE_STRING reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ STRING reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ CHAR reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ FALSE reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ TRUE reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ FLOAT reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ INT reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ NULL reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ PYTHON_CODE_EXEC reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ PYTHON_CODE reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ # reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ NEW reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ HTMLSTART reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ IF reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ $end reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ > reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ < reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ EQ_GREATER reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ EQ_LESS reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ NOT_EQEQ reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ EQEQ reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ % reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ / reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ COLON_COLON reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ ^ reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ ; reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ | reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ , reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ PHPEND reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ } reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ ) reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ SARROW reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ ] reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ HTMLEND reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ EQ_DIV reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ EQ_MOD reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ EQ_MUL reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ EQ_SUB reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ EQ_ADD reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ = reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
+ AS reduce using rule 138 (else_if_statement -> ELSE IF ( expression ) { program } .)
-state 423
+state 430
(91) function_declaration -> FUNC ID COLON_COLON ID ( empty ) { program . } TARROW expression
(3) program -> program . statement
@@ -46329,41 +47202,42 @@ state 423
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -46375,28 +47249,28 @@ state 423
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -46421,8 +47295,8 @@ state 423
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 431
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 438
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -46447,9 +47321,9 @@ state 423
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -46499,7 +47373,7 @@ state 423
html_full shift and go to state 42
if_statement shift and go to state 56
-state 424
+state 431
(92) function_declaration -> FUNC ID COLON_COLON ID ( function_arguments ) { program . } TARROW expression
(3) program -> program . statement
@@ -46559,41 +47433,42 @@ state 424
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -46605,28 +47480,28 @@ state 424
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -46651,8 +47526,8 @@ state 424
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 432
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 439
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -46677,9 +47552,9 @@ state 424
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -46729,9 +47604,9 @@ state 424
html_full shift and go to state 42
if_statement shift and go to state 56
-state 425
+state 432
- (145) assoc_array -> { empty . }
+ (146) assoc_array -> { empty . }
(1) program -> empty .
! shift/reduce conflict for } resolved as shift
} shift and go to state 238
@@ -46780,9 +47655,9 @@ state 425
IF reduce using rule 1 (program -> empty .)
-state 426
+state 433
- (112) positional_args -> expression .
+ (113) positional_args -> expression .
(5) statement -> expression .
(33) expression -> expression . > expression
(34) expression -> expression . < expression
@@ -46797,9 +47672,9 @@ state 426
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -46809,10 +47684,10 @@ state 426
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -46851,28 +47726,28 @@ state 426
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -46897,13 +47772,13 @@ state 426
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
! reduce/reduce conflict for } resolved using rule 5 (statement -> expression .)
! shift/reduce conflict for & resolved as shift
! shift/reduce conflict for * resolved as shift
@@ -46934,7 +47809,7 @@ state 426
! shift/reduce conflict for FOREACH resolved as shift
! shift/reduce conflict for FOR resolved as shift
! shift/reduce conflict for IF resolved as shift
- , reduce using rule 112 (positional_args -> expression .)
+ , reduce using rule 113 (positional_args -> expression .)
} reduce using rule 5 (statement -> expression .)
PHPSTART reduce using rule 5 (statement -> expression .)
LIMPORT reduce using rule 5 (statement -> expression .)
@@ -47012,7 +47887,7 @@ state 426
conditional shift and go to state 88
if_statement shift and go to state 56
-state 427
+state 434
(99) function_declaration -> FUNC ID ( empty ) : expression { program . }
(3) program -> program . statement
@@ -47072,41 +47947,42 @@ state 427
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -47118,28 +47994,28 @@ state 427
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -47164,8 +48040,8 @@ state 427
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 433
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 440
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -47190,9 +48066,9 @@ state 427
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -47242,7 +48118,7 @@ state 427
html_full shift and go to state 42
if_statement shift and go to state 56
-state 428
+state 435
(101) function_declaration -> FUNC ID ( function_arguments ) : expression { program . }
(3) program -> program . statement
@@ -47302,41 +48178,42 @@ state 428
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -47348,28 +48225,28 @@ state 428
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -47394,8 +48271,8 @@ state 428
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 434
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 441
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -47420,9 +48297,9 @@ state 428
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -47472,7 +48349,7 @@ state 428
html_full shift and go to state 42
if_statement shift and go to state 56
-state 429
+state 436
(96) function_declaration -> ID FUNC ID ( empty ) : expression { program . }
(3) program -> program . statement
@@ -47532,41 +48409,42 @@ state 429
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -47578,28 +48456,28 @@ state 429
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -47624,8 +48502,8 @@ state 429
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 435
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 442
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -47650,9 +48528,9 @@ state 429
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -47702,7 +48580,7 @@ state 429
html_full shift and go to state 42
if_statement shift and go to state 56
-state 430
+state 437
(97) function_declaration -> ID FUNC ID ( function_arguments ) : expression { program . }
(3) program -> program . statement
@@ -47762,41 +48640,42 @@ state 430
(57) expression -> . conditional
(58) sandbox -> . PHPSTART program PHPEND
(59) sandbox -> . LIMPORT expression ;
- (140) import_statement -> . . SELFISH ;
- (141) import_statement -> . . GLOBAL ;
- (142) import_statement -> . IMPORT expression ;
- (120) variable_operation -> . get_index EQ_DIV expression ;
- (121) variable_operation -> . ID EQ_DIV expression ;
- (122) variable_operation -> . get_index EQ_MOD expression ;
- (123) variable_operation -> . ID EQ_MOD expression ;
- (124) variable_operation -> . get_index EQ_MUL expression ;
- (125) variable_operation -> . ID EQ_MUL expression ;
- (126) variable_operation -> . get_index EQ_SUB expression ;
- (127) variable_operation -> . ID EQ_SUB expression ;
- (128) variable_operation -> . get_index EQ_ADD expression ;
- (129) variable_operation -> . ID EQ_ADD expression ;
+ (141) import_statement -> . . SELFISH ;
+ (142) import_statement -> . . GLOBAL ;
+ (143) import_statement -> . IMPORT expression ;
+ (121) variable_operation -> . get_index EQ_DIV expression ;
+ (122) variable_operation -> . ID EQ_DIV expression ;
+ (123) variable_operation -> . get_index EQ_MOD expression ;
+ (124) variable_operation -> . ID EQ_MOD expression ;
+ (125) variable_operation -> . get_index EQ_MUL expression ;
+ (126) variable_operation -> . ID EQ_MUL expression ;
+ (127) variable_operation -> . get_index EQ_SUB expression ;
+ (128) variable_operation -> . ID EQ_SUB expression ;
+ (129) variable_operation -> . get_index EQ_ADD expression ;
+ (130) variable_operation -> . ID EQ_ADD expression ;
(70) return_statement -> . RETURN expression ;
- (139) delete_statement -> . DEL ID ;
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
+ (140) delete_statement -> . DEL ID ;
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
(67) break_statement -> . DEBUG ;
(68) break_statement -> . SKIP ;
(69) break_statement -> . BREAK ;
- (116) variable_assignment -> . $ get_index = expression ;
- (117) variable_assignment -> . LET ID : ID = expression ;
- (118) variable_assignment -> . $ ID TARROW ID = expression ;
- (119) variable_assignment -> . $ ID = expression ;
+ (117) variable_assignment -> . $ get_index = expression ;
+ (118) variable_assignment -> . LET ID : ID = expression ;
+ (119) variable_assignment -> . $ ID TARROW ID = expression ;
+ (120) variable_assignment -> . $ ID = expression ;
(66) python_code_statement -> . python_code ;
- (111) while_loop -> . WHILE ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
+ (112) while_loop -> . WHILE ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
(65) function_call_statement -> . function_call ;
(105) class_declaration -> . NAMESPACE ID ;
(106) class_declaration -> . NAMESPACE ID { program }
(107) class_declaration -> . CLASS ID EXTENDS ID { program }
(108) class_declaration -> . CLASS ID { program }
+ (109) class_declaration -> . CLASS ID [ positional_args ] { program }
(91) function_declaration -> . FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression
(92) function_declaration -> . FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression
(93) function_declaration -> . INIT ( function_arguments ) { program } ;
@@ -47808,28 +48687,28 @@ state 430
(99) function_declaration -> . FUNC ID ( empty ) : expression { program }
(100) function_declaration -> . FUNC ID ( function_arguments ) { program }
(101) function_declaration -> . FUNC ID ( function_arguments ) : expression { program }
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -47854,8 +48733,8 @@ state 430
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (134) if_statement -> . IF ( expression ) { program }
- } shift and go to state 436
+ (135) if_statement -> . IF ( expression ) { program }
+ } shift and go to state 443
? shift and go to state 4
( shift and go to state 32
! shift and go to state 33
@@ -47880,9 +48759,9 @@ state 430
WHILE shift and go to state 55
NAMESPACE shift and go to state 57
CLASS shift and go to state 58
- FUNC shift and go to state 59
- INIT shift and go to state 60
- [ shift and go to state 61
+ FUNC shift and go to state 60
+ INIT shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -47932,19 +48811,19 @@ state 430
html_full shift and go to state 42
if_statement shift and go to state 56
-state 431
+state 438
(91) function_declaration -> FUNC ID COLON_COLON ID ( empty ) { program } . TARROW expression
- TARROW shift and go to state 437
+ TARROW shift and go to state 444
-state 432
+state 439
(92) function_declaration -> FUNC ID COLON_COLON ID ( function_arguments ) { program } . TARROW expression
- TARROW shift and go to state 438
+ TARROW shift and go to state 445
-state 433
+state 440
(99) function_declaration -> FUNC ID ( empty ) : expression { program } .
? reduce using rule 99 (function_declaration -> FUNC ID ( empty ) : expression { program } .)
@@ -47995,7 +48874,7 @@ state 433
} reduce using rule 99 (function_declaration -> FUNC ID ( empty ) : expression { program } .)
-state 434
+state 441
(101) function_declaration -> FUNC ID ( function_arguments ) : expression { program } .
? reduce using rule 101 (function_declaration -> FUNC ID ( function_arguments ) : expression { program } .)
@@ -48046,7 +48925,7 @@ state 434
} reduce using rule 101 (function_declaration -> FUNC ID ( function_arguments ) : expression { program } .)
-state 435
+state 442
(96) function_declaration -> ID FUNC ID ( empty ) : expression { program } .
? reduce using rule 96 (function_declaration -> ID FUNC ID ( empty ) : expression { program } .)
@@ -48097,7 +48976,7 @@ state 435
} reduce using rule 96 (function_declaration -> ID FUNC ID ( empty ) : expression { program } .)
-state 436
+state 443
(97) function_declaration -> ID FUNC ID ( function_arguments ) : expression { program } .
? reduce using rule 97 (function_declaration -> ID FUNC ID ( function_arguments ) : expression { program } .)
@@ -48148,7 +49027,7 @@ state 436
} reduce using rule 97 (function_declaration -> ID FUNC ID ( function_arguments ) : expression { program } .)
-state 437
+state 444
(91) function_declaration -> FUNC ID COLON_COLON ID ( empty ) { program } TARROW . expression
(20) expression -> . assoc_array
@@ -48189,28 +49068,28 @@ state 437
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -48235,13 +49114,13 @@ state 437
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -48250,7 +49129,7 @@ state 437
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -48272,7 +49151,7 @@ state 437
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 439
+ expression shift and go to state 446
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -48291,7 +49170,7 @@ state 437
conditional shift and go to state 88
if_statement shift and go to state 56
-state 438
+state 445
(92) function_declaration -> FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW . expression
(20) expression -> . assoc_array
@@ -48332,28 +49211,28 @@ state 438
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -48378,13 +49257,13 @@ state 438
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
( shift and go to state 32
! shift and go to state 33
+ shift and go to state 34
@@ -48393,7 +49272,7 @@ state 438
& shift and go to state 36
ID shift and go to state 84
$ shift and go to state 85
- [ shift and go to state 61
+ [ shift and go to state 59
{ shift and go to state 49
FORMATTED_STRING shift and go to state 62
MULTILINE_STRING shift and go to state 63
@@ -48415,7 +49294,7 @@ state 438
FOR shift and go to state 50
IF shift and go to state 76
- expression shift and go to state 440
+ expression shift and go to state 447
assoc_array shift and go to state 20
_list shift and go to state 21
_tuple shift and go to state 22
@@ -48434,7 +49313,7 @@ state 438
conditional shift and go to state 88
if_statement shift and go to state 56
-state 439
+state 446
(91) function_declaration -> FUNC ID COLON_COLON ID ( empty ) { program } TARROW expression .
(33) expression -> expression . > expression
@@ -48450,9 +49329,9 @@ state 439
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -48462,10 +49341,10 @@ state 439
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -48504,28 +49383,28 @@ state 439
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -48550,13 +49429,13 @@ state 439
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
! shift/reduce conflict for & resolved as shift
! shift/reduce conflict for * resolved as shift
! shift/reduce conflict for - resolved as shift
@@ -48665,7 +49544,7 @@ state 439
conditional shift and go to state 88
if_statement shift and go to state 56
-state 440
+state 447
(92) function_declaration -> FUNC ID COLON_COLON ID ( function_arguments ) { program } TARROW expression .
(33) expression -> expression . > expression
@@ -48681,9 +49560,9 @@ state 440
(47) expression -> expression . - expression
(48) expression -> expression . + expression
(54) expression -> expression . . expression
- (165) class_attribute -> expression . COLON_COLON ID
- (149) get_index -> expression . ^ expression
- (150) get_index -> expression . [ expression ]
+ (166) class_attribute -> expression . COLON_COLON ID
+ (150) get_index -> expression . ^ expression
+ (151) get_index -> expression . [ expression ]
(73) function_call -> expression . ( empty ) FARROW { program }
(80) function_call -> expression . ( empty )
(87) function_call -> expression . ( function_arguments ) FARROW { program }
@@ -48693,10 +49572,10 @@ state 440
(102) function_arguments -> . kwargs
(103) function_arguments -> . positional_args , kwargs
(104) function_arguments -> . positional_args
- (114) kwargs -> . ID = expression
- (115) kwargs -> . kwargs , id = expression
- (112) positional_args -> . expression
- (113) positional_args -> . positional_args , expression
+ (115) kwargs -> . ID = expression
+ (116) kwargs -> . kwargs , id = expression
+ (113) positional_args -> . expression
+ (114) positional_args -> . positional_args , expression
(20) expression -> . assoc_array
(21) expression -> . _list
(22) expression -> . _tuple
@@ -48735,28 +49614,28 @@ state 440
(55) expression -> . html_full
(56) expression -> . for_loop
(57) expression -> . conditional
- (144) assoc_array -> . [ assoc_array_items ]
- (145) assoc_array -> . { empty }
- (146) assoc_array -> . [ empty ]
- (153) _list -> . [ positional_args , ]
- (154) _list -> . [ positional_args ]
- (151) _tuple -> . { positional_args , }
- (152) _tuple -> . { positional_args }
- (165) class_attribute -> . expression COLON_COLON ID
- (166) id -> . ID
- (158) string -> . FORMATTED_STRING
- (159) string -> . MULTILINE_STRING
- (160) string -> . STRING
- (161) string -> . CHAR
- (163) bool -> . FALSE
- (164) bool -> . TRUE
- (162) float -> . FLOAT
- (157) int -> . INT
- (143) null -> . NULL
- (149) get_index -> . expression ^ expression
- (150) get_index -> . expression [ expression ]
- (167) python_code -> . PYTHON_CODE_EXEC
- (168) python_code -> . PYTHON_CODE
+ (145) assoc_array -> . [ assoc_array_items ]
+ (146) assoc_array -> . { empty }
+ (147) assoc_array -> . [ empty ]
+ (154) _list -> . [ positional_args , ]
+ (155) _list -> . [ positional_args ]
+ (152) _tuple -> . { positional_args , }
+ (153) _tuple -> . { positional_args }
+ (166) class_attribute -> . expression COLON_COLON ID
+ (167) id -> . ID
+ (159) string -> . FORMATTED_STRING
+ (160) string -> . MULTILINE_STRING
+ (161) string -> . STRING
+ (162) string -> . CHAR
+ (164) bool -> . FALSE
+ (165) bool -> . TRUE
+ (163) float -> . FLOAT
+ (158) int -> . INT
+ (144) null -> . NULL
+ (150) get_index -> . expression ^ expression
+ (151) get_index -> . expression [ expression ]
+ (168) python_code -> . PYTHON_CODE_EXEC
+ (169) python_code -> . PYTHON_CODE
(71) function_call -> . . ENV FROM ID { program }
(72) function_call -> . . ENV { program }
(73) function_call -> . expression ( empty ) FARROW { program }
@@ -48781,13 +49660,13 @@ state 440
(61) html_full -> . HTMLSTART
(62) html_full -> . HTMLSTART empty HTMLEND
(63) html_full -> . HTMLSTART expression HTMLEND
- (109) for_loop -> . FOREACH ( expression AS expression ) { program }
- (110) for_loop -> . FOR ( expression ) { program }
- (130) conditional -> . if_statement else_statement
- (131) conditional -> . if_statement else_if_loop else_statement
- (132) conditional -> . if_statement else_if_loop
- (133) conditional -> . if_statement
- (134) if_statement -> . IF ( expression ) { program }
+ (110) for_loop -> . FOREACH ( expression AS expression ) { program }
+ (111) for_loop -> . FOR ( expression ) { program }
+ (131) conditional -> . if_statement else_statement
+ (132) conditional -> . if_statement else_if_loop else_statement
+ (133) conditional -> . if_statement else_if_loop
+ (134) conditional -> . if_statement
+ (135) if_statement -> . IF ( expression ) { program }
! shift/reduce conflict for & resolved as shift
! shift/reduce conflict for * resolved as shift
! shift/reduce conflict for - resolved as shift
@@ -49180,135 +50059,135 @@ shift/reduce conflict for COLON_COLON in state 201 resolved as shift
shift/reduce conflict for / in state 211 resolved as shift
shift/reduce conflict for COLON_COLON in state 211 resolved as shift
shift/reduce conflict for ( in state 221 resolved as shift
-shift/reduce conflict for > in state 261 resolved as shift
-shift/reduce conflict for < in state 261 resolved as shift
-shift/reduce conflict for & in state 261 resolved as shift
-shift/reduce conflict for EQ_GREATER in state 261 resolved as shift
-shift/reduce conflict for EQ_LESS in state 261 resolved as shift
-shift/reduce conflict for NOT_EQEQ in state 261 resolved as shift
-shift/reduce conflict for EQEQ in state 261 resolved as shift
-shift/reduce conflict for % in state 261 resolved as shift
-shift/reduce conflict for * in state 261 resolved as shift
-shift/reduce conflict for / in state 261 resolved as shift
-shift/reduce conflict for - in state 261 resolved as shift
-shift/reduce conflict for + in state 261 resolved as shift
-shift/reduce conflict for . in state 261 resolved as shift
-shift/reduce conflict for COLON_COLON in state 261 resolved as shift
-shift/reduce conflict for ^ in state 261 resolved as shift
-shift/reduce conflict for [ in state 261 resolved as shift
-shift/reduce conflict for ( in state 261 resolved as shift
-shift/reduce conflict for $ in state 261 resolved as shift
-shift/reduce conflict for ID in state 261 resolved as shift
-shift/reduce conflict for ! in state 261 resolved as shift
-shift/reduce conflict for { in state 261 resolved as shift
-shift/reduce conflict for FORMATTED_STRING in state 261 resolved as shift
-shift/reduce conflict for MULTILINE_STRING in state 261 resolved as shift
-shift/reduce conflict for STRING in state 261 resolved as shift
-shift/reduce conflict for CHAR in state 261 resolved as shift
-shift/reduce conflict for FALSE in state 261 resolved as shift
-shift/reduce conflict for TRUE in state 261 resolved as shift
-shift/reduce conflict for FLOAT in state 261 resolved as shift
-shift/reduce conflict for INT in state 261 resolved as shift
-shift/reduce conflict for NULL in state 261 resolved as shift
-shift/reduce conflict for PYTHON_CODE_EXEC in state 261 resolved as shift
-shift/reduce conflict for PYTHON_CODE in state 261 resolved as shift
-shift/reduce conflict for # in state 261 resolved as shift
-shift/reduce conflict for NEW in state 261 resolved as shift
-shift/reduce conflict for ? in state 261 resolved as shift
-shift/reduce conflict for HTMLSTART in state 261 resolved as shift
-shift/reduce conflict for FOREACH in state 261 resolved as shift
-shift/reduce conflict for FOR in state 261 resolved as shift
-shift/reduce conflict for IF in state 261 resolved as shift
-shift/reduce conflict for ( in state 291 resolved as shift
-shift/reduce conflict for ( in state 316 resolved as shift
-shift/reduce conflict for } in state 425 resolved as shift
-shift/reduce conflict for & in state 426 resolved as shift
-shift/reduce conflict for * in state 426 resolved as shift
-shift/reduce conflict for - in state 426 resolved as shift
-shift/reduce conflict for + in state 426 resolved as shift
-shift/reduce conflict for . in state 426 resolved as shift
-shift/reduce conflict for [ in state 426 resolved as shift
-shift/reduce conflict for ( in state 426 resolved as shift
-shift/reduce conflict for $ in state 426 resolved as shift
-shift/reduce conflict for ID in state 426 resolved as shift
-shift/reduce conflict for ! in state 426 resolved as shift
-shift/reduce conflict for { in state 426 resolved as shift
-shift/reduce conflict for FORMATTED_STRING in state 426 resolved as shift
-shift/reduce conflict for MULTILINE_STRING in state 426 resolved as shift
-shift/reduce conflict for STRING in state 426 resolved as shift
-shift/reduce conflict for CHAR in state 426 resolved as shift
-shift/reduce conflict for FALSE in state 426 resolved as shift
-shift/reduce conflict for TRUE in state 426 resolved as shift
-shift/reduce conflict for FLOAT in state 426 resolved as shift
-shift/reduce conflict for INT in state 426 resolved as shift
-shift/reduce conflict for NULL in state 426 resolved as shift
-shift/reduce conflict for PYTHON_CODE_EXEC in state 426 resolved as shift
-shift/reduce conflict for PYTHON_CODE in state 426 resolved as shift
-shift/reduce conflict for # in state 426 resolved as shift
-shift/reduce conflict for NEW in state 426 resolved as shift
-shift/reduce conflict for ? in state 426 resolved as shift
-shift/reduce conflict for HTMLSTART in state 426 resolved as shift
-shift/reduce conflict for FOREACH in state 426 resolved as shift
-shift/reduce conflict for FOR in state 426 resolved as shift
-shift/reduce conflict for IF in state 426 resolved as shift
-shift/reduce conflict for & in state 439 resolved as shift
-shift/reduce conflict for * in state 439 resolved as shift
-shift/reduce conflict for - in state 439 resolved as shift
-shift/reduce conflict for + in state 439 resolved as shift
-shift/reduce conflict for . in state 439 resolved as shift
-shift/reduce conflict for [ in state 439 resolved as shift
-shift/reduce conflict for ( in state 439 resolved as shift
-shift/reduce conflict for $ in state 439 resolved as shift
-shift/reduce conflict for ID in state 439 resolved as shift
-shift/reduce conflict for ! in state 439 resolved as shift
-shift/reduce conflict for { in state 439 resolved as shift
-shift/reduce conflict for FORMATTED_STRING in state 439 resolved as shift
-shift/reduce conflict for MULTILINE_STRING in state 439 resolved as shift
-shift/reduce conflict for STRING in state 439 resolved as shift
-shift/reduce conflict for CHAR in state 439 resolved as shift
-shift/reduce conflict for FALSE in state 439 resolved as shift
-shift/reduce conflict for TRUE in state 439 resolved as shift
-shift/reduce conflict for FLOAT in state 439 resolved as shift
-shift/reduce conflict for INT in state 439 resolved as shift
-shift/reduce conflict for NULL in state 439 resolved as shift
-shift/reduce conflict for PYTHON_CODE_EXEC in state 439 resolved as shift
-shift/reduce conflict for PYTHON_CODE in state 439 resolved as shift
-shift/reduce conflict for # in state 439 resolved as shift
-shift/reduce conflict for NEW in state 439 resolved as shift
-shift/reduce conflict for ? in state 439 resolved as shift
-shift/reduce conflict for HTMLSTART in state 439 resolved as shift
-shift/reduce conflict for FOREACH in state 439 resolved as shift
-shift/reduce conflict for FOR in state 439 resolved as shift
-shift/reduce conflict for IF in state 439 resolved as shift
-shift/reduce conflict for & in state 440 resolved as shift
-shift/reduce conflict for * in state 440 resolved as shift
-shift/reduce conflict for - in state 440 resolved as shift
-shift/reduce conflict for + in state 440 resolved as shift
-shift/reduce conflict for . in state 440 resolved as shift
-shift/reduce conflict for [ in state 440 resolved as shift
-shift/reduce conflict for ( in state 440 resolved as shift
-shift/reduce conflict for $ in state 440 resolved as shift
-shift/reduce conflict for ID in state 440 resolved as shift
-shift/reduce conflict for ! in state 440 resolved as shift
-shift/reduce conflict for { in state 440 resolved as shift
-shift/reduce conflict for FORMATTED_STRING in state 440 resolved as shift
-shift/reduce conflict for MULTILINE_STRING in state 440 resolved as shift
-shift/reduce conflict for STRING in state 440 resolved as shift
-shift/reduce conflict for CHAR in state 440 resolved as shift
-shift/reduce conflict for FALSE in state 440 resolved as shift
-shift/reduce conflict for TRUE in state 440 resolved as shift
-shift/reduce conflict for FLOAT in state 440 resolved as shift
-shift/reduce conflict for INT in state 440 resolved as shift
-shift/reduce conflict for NULL in state 440 resolved as shift
-shift/reduce conflict for PYTHON_CODE_EXEC in state 440 resolved as shift
-shift/reduce conflict for PYTHON_CODE in state 440 resolved as shift
-shift/reduce conflict for # in state 440 resolved as shift
-shift/reduce conflict for NEW in state 440 resolved as shift
-shift/reduce conflict for ? in state 440 resolved as shift
-shift/reduce conflict for HTMLSTART in state 440 resolved as shift
-shift/reduce conflict for FOREACH in state 440 resolved as shift
-shift/reduce conflict for FOR in state 440 resolved as shift
-shift/reduce conflict for IF in state 440 resolved as shift
+shift/reduce conflict for > in state 262 resolved as shift
+shift/reduce conflict for < in state 262 resolved as shift
+shift/reduce conflict for & in state 262 resolved as shift
+shift/reduce conflict for EQ_GREATER in state 262 resolved as shift
+shift/reduce conflict for EQ_LESS in state 262 resolved as shift
+shift/reduce conflict for NOT_EQEQ in state 262 resolved as shift
+shift/reduce conflict for EQEQ in state 262 resolved as shift
+shift/reduce conflict for % in state 262 resolved as shift
+shift/reduce conflict for * in state 262 resolved as shift
+shift/reduce conflict for / in state 262 resolved as shift
+shift/reduce conflict for - in state 262 resolved as shift
+shift/reduce conflict for + in state 262 resolved as shift
+shift/reduce conflict for . in state 262 resolved as shift
+shift/reduce conflict for COLON_COLON in state 262 resolved as shift
+shift/reduce conflict for ^ in state 262 resolved as shift
+shift/reduce conflict for [ in state 262 resolved as shift
+shift/reduce conflict for ( in state 262 resolved as shift
+shift/reduce conflict for $ in state 262 resolved as shift
+shift/reduce conflict for ID in state 262 resolved as shift
+shift/reduce conflict for ! in state 262 resolved as shift
+shift/reduce conflict for { in state 262 resolved as shift
+shift/reduce conflict for FORMATTED_STRING in state 262 resolved as shift
+shift/reduce conflict for MULTILINE_STRING in state 262 resolved as shift
+shift/reduce conflict for STRING in state 262 resolved as shift
+shift/reduce conflict for CHAR in state 262 resolved as shift
+shift/reduce conflict for FALSE in state 262 resolved as shift
+shift/reduce conflict for TRUE in state 262 resolved as shift
+shift/reduce conflict for FLOAT in state 262 resolved as shift
+shift/reduce conflict for INT in state 262 resolved as shift
+shift/reduce conflict for NULL in state 262 resolved as shift
+shift/reduce conflict for PYTHON_CODE_EXEC in state 262 resolved as shift
+shift/reduce conflict for PYTHON_CODE in state 262 resolved as shift
+shift/reduce conflict for # in state 262 resolved as shift
+shift/reduce conflict for NEW in state 262 resolved as shift
+shift/reduce conflict for ? in state 262 resolved as shift
+shift/reduce conflict for HTMLSTART in state 262 resolved as shift
+shift/reduce conflict for FOREACH in state 262 resolved as shift
+shift/reduce conflict for FOR in state 262 resolved as shift
+shift/reduce conflict for IF in state 262 resolved as shift
+shift/reduce conflict for ( in state 292 resolved as shift
+shift/reduce conflict for ( in state 318 resolved as shift
+shift/reduce conflict for } in state 432 resolved as shift
+shift/reduce conflict for & in state 433 resolved as shift
+shift/reduce conflict for * in state 433 resolved as shift
+shift/reduce conflict for - in state 433 resolved as shift
+shift/reduce conflict for + in state 433 resolved as shift
+shift/reduce conflict for . in state 433 resolved as shift
+shift/reduce conflict for [ in state 433 resolved as shift
+shift/reduce conflict for ( in state 433 resolved as shift
+shift/reduce conflict for $ in state 433 resolved as shift
+shift/reduce conflict for ID in state 433 resolved as shift
+shift/reduce conflict for ! in state 433 resolved as shift
+shift/reduce conflict for { in state 433 resolved as shift
+shift/reduce conflict for FORMATTED_STRING in state 433 resolved as shift
+shift/reduce conflict for MULTILINE_STRING in state 433 resolved as shift
+shift/reduce conflict for STRING in state 433 resolved as shift
+shift/reduce conflict for CHAR in state 433 resolved as shift
+shift/reduce conflict for FALSE in state 433 resolved as shift
+shift/reduce conflict for TRUE in state 433 resolved as shift
+shift/reduce conflict for FLOAT in state 433 resolved as shift
+shift/reduce conflict for INT in state 433 resolved as shift
+shift/reduce conflict for NULL in state 433 resolved as shift
+shift/reduce conflict for PYTHON_CODE_EXEC in state 433 resolved as shift
+shift/reduce conflict for PYTHON_CODE in state 433 resolved as shift
+shift/reduce conflict for # in state 433 resolved as shift
+shift/reduce conflict for NEW in state 433 resolved as shift
+shift/reduce conflict for ? in state 433 resolved as shift
+shift/reduce conflict for HTMLSTART in state 433 resolved as shift
+shift/reduce conflict for FOREACH in state 433 resolved as shift
+shift/reduce conflict for FOR in state 433 resolved as shift
+shift/reduce conflict for IF in state 433 resolved as shift
+shift/reduce conflict for & in state 446 resolved as shift
+shift/reduce conflict for * in state 446 resolved as shift
+shift/reduce conflict for - in state 446 resolved as shift
+shift/reduce conflict for + in state 446 resolved as shift
+shift/reduce conflict for . in state 446 resolved as shift
+shift/reduce conflict for [ in state 446 resolved as shift
+shift/reduce conflict for ( in state 446 resolved as shift
+shift/reduce conflict for $ in state 446 resolved as shift
+shift/reduce conflict for ID in state 446 resolved as shift
+shift/reduce conflict for ! in state 446 resolved as shift
+shift/reduce conflict for { in state 446 resolved as shift
+shift/reduce conflict for FORMATTED_STRING in state 446 resolved as shift
+shift/reduce conflict for MULTILINE_STRING in state 446 resolved as shift
+shift/reduce conflict for STRING in state 446 resolved as shift
+shift/reduce conflict for CHAR in state 446 resolved as shift
+shift/reduce conflict for FALSE in state 446 resolved as shift
+shift/reduce conflict for TRUE in state 446 resolved as shift
+shift/reduce conflict for FLOAT in state 446 resolved as shift
+shift/reduce conflict for INT in state 446 resolved as shift
+shift/reduce conflict for NULL in state 446 resolved as shift
+shift/reduce conflict for PYTHON_CODE_EXEC in state 446 resolved as shift
+shift/reduce conflict for PYTHON_CODE in state 446 resolved as shift
+shift/reduce conflict for # in state 446 resolved as shift
+shift/reduce conflict for NEW in state 446 resolved as shift
+shift/reduce conflict for ? in state 446 resolved as shift
+shift/reduce conflict for HTMLSTART in state 446 resolved as shift
+shift/reduce conflict for FOREACH in state 446 resolved as shift
+shift/reduce conflict for FOR in state 446 resolved as shift
+shift/reduce conflict for IF in state 446 resolved as shift
+shift/reduce conflict for & in state 447 resolved as shift
+shift/reduce conflict for * in state 447 resolved as shift
+shift/reduce conflict for - in state 447 resolved as shift
+shift/reduce conflict for + in state 447 resolved as shift
+shift/reduce conflict for . in state 447 resolved as shift
+shift/reduce conflict for [ in state 447 resolved as shift
+shift/reduce conflict for ( in state 447 resolved as shift
+shift/reduce conflict for $ in state 447 resolved as shift
+shift/reduce conflict for ID in state 447 resolved as shift
+shift/reduce conflict for ! in state 447 resolved as shift
+shift/reduce conflict for { in state 447 resolved as shift
+shift/reduce conflict for FORMATTED_STRING in state 447 resolved as shift
+shift/reduce conflict for MULTILINE_STRING in state 447 resolved as shift
+shift/reduce conflict for STRING in state 447 resolved as shift
+shift/reduce conflict for CHAR in state 447 resolved as shift
+shift/reduce conflict for FALSE in state 447 resolved as shift
+shift/reduce conflict for TRUE in state 447 resolved as shift
+shift/reduce conflict for FLOAT in state 447 resolved as shift
+shift/reduce conflict for INT in state 447 resolved as shift
+shift/reduce conflict for NULL in state 447 resolved as shift
+shift/reduce conflict for PYTHON_CODE_EXEC in state 447 resolved as shift
+shift/reduce conflict for PYTHON_CODE in state 447 resolved as shift
+shift/reduce conflict for # in state 447 resolved as shift
+shift/reduce conflict for NEW in state 447 resolved as shift
+shift/reduce conflict for ? in state 447 resolved as shift
+shift/reduce conflict for HTMLSTART in state 447 resolved as shift
+shift/reduce conflict for FOREACH in state 447 resolved as shift
+shift/reduce conflict for FOR in state 447 resolved as shift
+shift/reduce conflict for IF in state 447 resolved as shift
reduce/reduce conflict in state 11 resolved using rule statement -> for_loop
rejected rule (expression -> for_loop) in state 11
reduce/reduce conflict in state 16 resolved using rule statement -> conditional
@@ -49325,11 +50204,11 @@ reduce/reduce conflict in state 191 resolved using rule expression -> expression
rejected rule (expression -> + expression [precedence=right, level=10]) in state 191
reduce/reduce conflict in state 210 resolved using rule expression -> function_call
rejected rule (expression -> function_call | function_call [precedence=left, level=4]) in state 210
-reduce/reduce conflict in state 347 resolved using rule function_call -> NEW expression ( empty )
-rejected rule (function_call -> expression ( empty )) in state 347
-reduce/reduce conflict in state 348 resolved using rule function_call -> expression ( function_arguments )
-rejected rule (function_call -> NEW expression ( function_arguments )) in state 348
-reduce/reduce conflict in state 386 resolved using rule function_call -> $ ID TARROW ID ( function_arguments )
-rejected rule (function_call -> ID TARROW ID ( function_arguments )) in state 386
-reduce/reduce conflict in state 426 resolved using rule statement -> expression
-rejected rule (positional_args -> expression) in state 426
\ No newline at end of file
+reduce/reduce conflict in state 351 resolved using rule function_call -> NEW expression ( empty )
+rejected rule (function_call -> expression ( empty )) in state 351
+reduce/reduce conflict in state 352 resolved using rule function_call -> expression ( function_arguments )
+rejected rule (function_call -> NEW expression ( function_arguments )) in state 352
+reduce/reduce conflict in state 391 resolved using rule function_call -> $ ID TARROW ID ( function_arguments )
+rejected rule (function_call -> ID TARROW ID ( function_arguments )) in state 391
+reduce/reduce conflict in state 433 resolved using rule statement -> expression
+rejected rule (positional_args -> expression) in state 433
\ No newline at end of file
diff --git a/pyproject.toml b/pyproject.toml
index 0ba8ddb..4476b4c 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "nophp"
-version = "0.1.8"
+version = "0.1.9rc1"
description = "Not Only PHP - A backwards compatible language focused on modern features and flexibility."
authors = ["Artur Z "]
readme = "README.md"
diff --git a/test.php b/test.php
index 8d3c341..d56c371 100644
--- a/test.php
+++ b/test.php
@@ -159,14 +159,22 @@ function test_scopes_for_session()
echo "
" . Example\greet(1000);
// Try to fix function scope issues
+class TestClass {
+ public function test() : int {
+ return 2;
+ }
+}
+class HelloWorld [TestClass] {
+ $test = new TestClass();
-class HelloWorld {
public function run() : string {
return "Hello, World!"
;
}
public function displayOutput() {
- echo $this->run();
+ if ($test->test() == 2) {
+ echo $this->run();
+ }
}
}