mirror of
https://github.com/danog/PHP-Parser.git
synced 2024-11-30 04:19:30 +01:00
6996db1e3a
Minor performance improvement for parsing, also allows to access attributes with higher granulity in the parser, though this is not currently done. * #n can now be used to access the stack position of a token. $n is the same as $this->semStack[#n]. (Post-translate $n will actually be the stack position.) * $attributeStack is now $this->startAttributeStack and $endAttributes is now $this->endAttributes. * Attributes for a node are now computed inside the individual reduction methods, instead of being passed as a parameter. Accessible through the attributes() macro.
101 lines
2.0 KiB
Plaintext
101 lines
2.0 KiB
Plaintext
<?php
|
|
$meta #
|
|
#semval($) $this->semValue
|
|
#semval($,%t) $this->semValue
|
|
#semval(%n) $this->stackPos-(%l-%n)
|
|
#semval(%n,%t) $this->stackPos-(%l-%n)
|
|
#include;
|
|
|
|
namespace PhpParser;
|
|
|
|
/* This is an automatically GENERATED file, which should not be manually edited.
|
|
* Instead edit one of the following:
|
|
* * the grammar file grammar/zend_language_parser.phpy
|
|
* * the skeleton file grammar/kymacc.php.parser
|
|
* * the preprocessing script grammar/rebuildParser.php
|
|
*/
|
|
class Parser extends ParserAbstract
|
|
{
|
|
protected $tokenToSymbolMapSize = #(YYMAXLEX);
|
|
protected $actionTableSize = #(YYLAST);
|
|
protected $gotoTableSize = #(YYGLAST);
|
|
|
|
protected $invalidSymbol = #(YYBADCH);
|
|
protected $errorSymbol = #(YYINTERRTOK);
|
|
protected $defaultAction = #(YYDEFAULT);
|
|
protected $unexpectedTokenRule = #(YYUNEXPECTED);
|
|
|
|
protected $YY2TBLSTATE = #(YY2TBLSTATE);
|
|
protected $YYNLSTATES = #(YYNLSTATES);
|
|
|
|
#tokenval
|
|
const %s = %n;
|
|
#endtokenval
|
|
|
|
protected $symbolToName = array(
|
|
#listvar terminals
|
|
);
|
|
|
|
protected $tokenToSymbol = array(
|
|
#listvar yytranslate
|
|
);
|
|
|
|
protected $action = array(
|
|
#listvar yyaction
|
|
);
|
|
|
|
protected $actionCheck = array(
|
|
#listvar yycheck
|
|
);
|
|
|
|
protected $actionBase = array(
|
|
#listvar yybase
|
|
);
|
|
|
|
protected $actionDefault = array(
|
|
#listvar yydefault
|
|
);
|
|
|
|
protected $goto = array(
|
|
#listvar yygoto
|
|
);
|
|
|
|
protected $gotoCheck = array(
|
|
#listvar yygcheck
|
|
);
|
|
|
|
protected $gotoBase = array(
|
|
#listvar yygbase
|
|
);
|
|
|
|
protected $gotoDefault = array(
|
|
#listvar yygdefault
|
|
);
|
|
|
|
protected $ruleToNonTerminal = array(
|
|
#listvar yylhs
|
|
);
|
|
|
|
protected $ruleToLength = array(
|
|
#listvar yylen
|
|
);
|
|
#if -t
|
|
|
|
protected $productions = array(
|
|
#production-strings;
|
|
);
|
|
#endif
|
|
#reduce
|
|
|
|
protected function reduceRule%n() {
|
|
%b
|
|
}
|
|
#noact
|
|
|
|
protected function reduceRule%n() {
|
|
$this->semValue = $this->semStack[$this->stackPos];
|
|
}
|
|
#endreduce
|
|
}
|
|
#tailcode;
|