与this file一样,在我看来,只有声明才足够。
有人可以解释为什么在词法分析中需要规则吗?
在我看来,他们只需要.y
个文件......
通过规则我在讨论像以下这样的块:
rdels {
if ($this->smarty->auto_literal) {
$this->token = Smarty_Internal_Templateparser::TP_OTHER;
} else {
$this->token = Smarty_Internal_Templateparser::TP_RDEL;
$this->yypopstate();
}
}
何时到yypopstate
和yypushstate
?
答案 0 :(得分:0)
当字符输入可能含糊不清时,您输入状态。
如果词法分析器遇到"
(引用),则可能会输入一个名为“string”的状态(yypushstate
),其中包含任何后续字符,否则将具有特殊含义(即{{ 1}},+
等)被认为是字符串的一部分。当词法分析器遇到另一个-
时,“字符串”状态结束(yypopstate
)。
在flex中,这些状态称为start conditions。