function yy_r9_1($yy_subpatterns)
{
$this->token = Smarty_Internal_Templateparser::TP_PHP_CODE;
$this->yypopstate();
}
以上是PHP中smarty的词法分析器,谁知道yy_r9_1
是什么意思?
最佳答案
yy
是 YACC 避免冲突的前缀。在构建 YACC 的日子里,没有 namespace 或类,甚至没有结构。其实YACC最初是用B写的,C的前身。
r9
可能代表第 9 条规则,1
可能是需要处理多个函数的规则的增量前缀。
但是,即使我错了并且这些字符串有其他含义,我也怀疑您能否利用这些信息。这将需要深入了解词法分析器和解析器的内部结构,以及最后但并非最不重要的语法规则。如果您理解语法,您也可以更改它并重新生成词法分析器,而不是使用甚至操纵它的子例程。
关于php - 词法分析器的命名约定是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4744164/