附標文法

附標文法是描述附標語言的形式文法 。 它們有三個無交集的符號集合: 普通終結符 、 非終結符和只出現在中間推導中的附標 ( index ) 的集合 。 產生式可以如上下文無關文法那樣把一個非終結符替代爲終結符和非終結符的字符串 ， 但是它還把非終結符替代爲跟隨着一個附標的非終結符 ， 把跟隨着一個附標的非終結符替代爲非終結符 。 附標只可以出現在非終結符之後或其他附標之後 ， 所以所有非終結符都可以被看作跟隨它之後的這些附標的所有者 ， 它們形成了一個棧 。 實際上 ， 附標的棧可以計數並記住應用了和以何種次序應用了什麼規則 。 例如 ， 附標文法可以描述非上下無關語言: 通過如下規則 ( f 和 g 是附標 ): 在中間增長的 g 的棧計數 A 已經被展開來增加一個 a 和一個 c 的次數 ； 在結束時所有 g 變成終結符 b 。 判定一個附標文法是否識別一個字符串是NP - 完全的 。