CS4114 形式语言与自动机

Chapter 4 Regular Languages

| 关于   «  4. 正则表达式的能力   ::   目录   ::   6. 正则文法  »

5. 正则文法

5.1. 正则文法导论

正则文法(regular grammar)是描述正则语言的另一种方式。 回忆一下,文法由终结符(terminal)、变量和产生式(production)规则构成。 正如其名, 正则 文法是一种特殊的文法(之后我们会见到许多不是正则的文法)。 这便引出了一个问题:什么使得一个文法是正则的?

Settings

Proficient Saving... Error Saving
Server Error
Resubmit

我们本学期已经做到的内容:
定义:DFA 表示正则语言
定理:NFA \(\Longleftrightarrow\) DFA
定理:RegEx \(\Longleftrightarrow\) NFA
接下来我们将做到的内容:
定理:DFA \(\Longleftrightarrow\) 正则文法

当然,这意味着 DFA、NFA、RE、正则语言和正则文法都具有完全相同的能力。 也就是说,DFA、NFA、正则表达式和正则文法都能识别(如果你愿意,也可以说 都能表示)完全相同的语言集合:即正则语言。

5.2. 将正则文法转换为 NFA

Settings

Proficient Saving... Error Saving
Server Error
Resubmit

5.3. 将 NFA 转换为正则文法

Settings

Proficient Saving... Error Saving
Server Error
Resubmit

5.4. 左线性与右线性文法之间的转换

Settings

Proficient Saving... Error Saving
Server Error
Resubmit

5.5. 正则表达式与正则文法

Settings

Proficient Saving... Error Saving
Server Error
Resubmit


Settings

Proficient Saving... Error Saving
Server Error
Resubmit

5.6. 小结

在本模块中,我们介绍了正则文法,将其定义为左正则文法或右正则文法。 我们通过展示左右正则文法之间的转换方法,证实了它们的等价性。 我们还展示了 NFA 可以转换为正则文法、也可以由正则文法转换而来, 这意味着正则文法与我们表示正则语言的其他方式具有相同的能力。 .. odsascript:: DataStructures/PIFrames.js .. odsascript:: AV/PIFLA/Regular/RegularGrammarFS.js .. odsascript:: DataStructures/FLA/FA.js .. odsascript:: DataStructures/FLA/GrammarMatrix.js .. odsascript:: AV/PIFLA/Regular/RGtoNFAFS.js .. odsascript:: AV/PIFLA/Regular/NFAtoRGFS.js .. odsascript:: lib/underscore.js .. odsascript:: DataStructures/FLA/AddQuestions.js .. odsascript:: AV/PIFLA/Regular/LLGrammarFS.js .. odsascript:: AV/PIFLA/Regular/RegEXtoRegGrammarFS.js .. odsascript:: AV/PIFLA/Regular/RegEXtoLeftRegGrammarFS.js

   «  4. 正则表达式的能力   ::   目录   ::   6. 正则文法  »

关闭窗口