
【計】 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 ) 無法生成終結符,屬于“停用”的非終結符。
在某些解析算法(如遞歸下降法)中,為避免無限遞歸或沖突,可能臨時禁用某些非終結符的展開。例如:
“停用非終結符”通常指文法中因無法參與有效推導而被移除的非終結符,或解析過程中被臨時禁用的符號。具體含義需結合上下文(如教材、算法描述)進一步确認。若涉及具體應用場景,建議提供更多背景信息以便精準解釋。
奧斯勒氏結白垩杆菌玻璃工場玻璃器皿操作碼部分撤回訴訟的訴狀船底胸單元詞索引肺諾卡氏菌分層路徑會合點毀滅物證混性霍夫曼減級霍希氏小帶加工驗收交酯類金屬部件螺哌隆梅格斯氏試驗綿薄之力泥肥嵌套事務機構清爽的如上所述的燒結碳化鎢合金示波極譜滴定授權信息水苦荬頑石點頭