
【计】 empty production
empty; hollow; air; for nothing; vacancy
【计】 empty; null
【医】 keno-
【经】 for nothing
bring; come into being; engender; produce; result; give birth to
【化】 creation; yield
【医】 production
【经】 accrue
ceremony; formula; model; pattern; ritual; style; type
【化】 expression
【医】 F.; feature; formula; Ty.; type
在形式语言与自动机理论中,空产生式(英文:Empty Production 或Epsilon Production)指的是一种特殊的文法产生式规则。其核心特征是:该产生式的右侧为空字符串(通常用符号 ε 或 λ 表示)。这意味着该产生式允许一个非终结符号直接推导出“空”,即不生成任何实际字符。
详细解释:
定义与表示:
A -> ε
的形式。A
是一个非终结符号(Non-terminal Symbol),代表语法结构或变量。ε
(epsilon)是代表空字符串的特殊符号。它表示“没有字符”。A -> ε
的含义是:非终结符 A
可以被替换为空,即它在推导过程中可以不产生任何输出符号。作用与意义:
Sign -> + | - | ε
表示符号部分可以是加号、减号,或者没有符号(空)。List -> Element List | ε
,表示一个列表可以是一个元素后跟另一个列表,或者就是一个空列表(什么都没有)。命名来源(汉英对照):
->
),规定如何将非终结符替换为终结符和/或非终结符的序列。重要性与影响:
NULLABLE
属性,或进行文法变换以消除空产生式)。参考来源:
在编译原理中,空产生式(Empty Production)指形式为$A to epsilon$的语法规则,表示非终结符$A$可以推导出空字符串(即不包含任何符号)。它在上下文无关文法中用于描述某些语法结构的可省略性,例如可选语句或递归结构的终止条件。
闭包计算扩展
在LR分析(如LR(1))中,当计算项目集闭包时,若遇到$A to α cdot Bβ$且$B$能推导出空串($B to epsilon$),需将$B$的空产生式加入闭包。例如,若存在$E to $$(空产生式符号可能写作$epsilon$或特定占位符如$),闭包计算会生成直接归约项$E to cdot$(用#或其他符号标记),。
归约操作优化
空产生式的存在可能引发提前归约。例如,在解析$A to αEβ$时,若$E$可推导为空,解析器会直接应用$E to epsilon$归约,跳过显式的符号匹配,从而提高分析效率。
语法设计作用
空产生式常用于简化文法表达,例如表示可选成分(如if
语句的else
分支)或递归结构的终止(如列表的末尾)。例如:
List → List Item | ε
如需更深入的算法实现细节,可参考编译原理教材或LR分析器的具体实现文档。
半规管固有膜饱和水蒸气编辑监视点表构造程序不可判定性定理臭鼬鼠次全的大转子的点火器互作用奠基石副法官干冰缓冲水槽假沙眼接收终端可信样品库态按蚊硫化银颅骨肥厚毛块模板匹配拇短展肌清风藤科善意要求烧套环受委托的财产束缚力数码管投影仪外延生长反应