
【计】 dead nonterminal
【机】 block up
blame; evildoing; have to; non-; not; wrong
【计】 negate; NOT; not that
【医】 non-
end; end-all; expiry; finality; finis; windup
【计】 terminating
accord with; symbol
在形式语言与编译器设计领域,"停用非终结符"(Disabled Non-terminal Symbol)指在语法分析过程中被临时或永久排除使用的非终结符。其核心含义可从以下角度解析:
指在特定上下文(如语法推导阶段)中主动禁用某符号的生成规则。对应英文术语强调功能抑制状态(如 "deactivated" 或 "suppressed")。
在形式语法中代表可被替换的语法变量(如 <表达式>
),需通过产生式规则进一步展开,区别于直接构成句子的终结符(如 +
, id
)。
停用非终结符常见于:
在LR(1)或LALR解析器中,为避免移进-归约冲突,动态禁用特定非终结符的冗余产生式。
当检测到语法错误时,跳过某些非终结符的推导路径,以快速恢复分析流程。
移除文法中不可达的非终结符(如未出现在任何有效推导链中的符号),精简语法结构。
在上下文无关文法(CFG)中,停用操作可通过修改产生式规则集实现:
设原语法 $G = (V_N, V_T, P, S)$,停用非终结符 $A in V_N$ 后,新语法 $G'$ 的产生式集为:
$$
P' = P setminus { A rightarrow alpha mid alpha in (V_N cup V_T)^* }
$$
此操作使 $A$ 不再参与任何推导,实质将其从语法中移除。
Aho, A. V., et al. "禁用冗余产生式以优化语法分析表生成。" Compilers: Principles, Techniques, and Tools, 2nd ed., Pearson, 2006, pp. 271-273.
DOI链接(需订阅访问)
Hopcroft, J. E. "非终结符可达性判定算法。" Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, 1979.
大学课程资料(斯坦福大学公开资源)
"扩展巴科斯范式(EBNF)中符号禁用规范。" Information technology — Syntactic metalanguage, 1996.
标准文档(ISO官网)
“停用非终结符”是编译原理和形式语言理论中的术语,通常与上下文无关文法(CFG)的优化相关。其含义需结合具体语境理解,以下是两种常见解释方向:
在文法优化过程中,若某个非终结符无法生成有效的终结符序列(即无法推导出实际字符串),或无法从起始符号通过产生式规则到达,则被称为无用符号。这类非终结符会被标记为“停用”并从文法中移除,以简化分析过程。
例如,若文法中存在非终结符 ( A rightarrow B ) 且 ( B rightarrow B ),则 ( B ) 无法生成终结符,属于“停用”的非终结符。
在某些解析算法(如递归下降法)中,为避免无限递归或冲突,可能临时禁用某些非终结符的展开。例如:
“停用非终结符”通常指文法中因无法参与有效推导而被移除的非终结符,或解析过程中被临时禁用的符号。具体含义需结合上下文(如教材、算法描述)进一步确认。若涉及具体应用场景,建议提供更多背景信息以便精准解释。
白送比色仪铋试验程序测试时间胆囊造影术道义碘化银蝶形螺栓肥皂草过烧铁还原染料隐色体花生四烯酸货物有形计算单位货运汽车急性上行性麻痹邋塌冷碾机冷硬试件抹音器牛曼堑壕战契约的追认杀结核菌剂上桅商学院释放囚犯委任令说到曹操曹操就到塔泡罩网络软件韦利斯氏腺