跳转至

1 正规定义

术语

TERM EXPLANATION
字母表 符号的有限集合
字母表符号的有穷序列
空串 长度为 0 的特殊串,用 \varepsilon 表示
语言 字母表上的一个串集
句子或字 语言的一个元素

字母表上的运算

(1)连接:xy 的连接记作 xy

(2)幂:多次连接,s^i=s^{i-1}s

语言上的运算

假设 L,M 都是语言,则

(1)并:L\cup M=\{s|s\in L\text{ or }s\in M\}

(2)连接:LM=\{st|s\in L\text{ and }t\in M\}

(3)闭包:L^*=\cup_{i=0}^\infty L^i

(4)正闭包:L^+=\cup_{i=1}^\infty L^i

正规式

一个正规式 r 表示一个语言 L(r),规则如下。

(Ⅰ)\varepsilon 是正规式,表示语言 \{\varepsilon\}

(Ⅱ)若 a\in \Sigma,则 a 是正规式,表示语言 \{a\}

(Ⅲ)若 r,s 是正规式,则

\begin{aligned} (r)|(s)&→L(r)|L(s)\newline (r)(s)&→L(r)L(s)\newline (r)^*&→(L(r))^*\newline (r)&→L(r) \end{aligned}

正规式表示的语言叫正规语言(正规集)。

如果规定一些运算优先级和结合性,则可以省去一些正规式中不必要的括号。

正规定义

正规定义形式: $$ \begin{aligned} &d_1→r_1\newline &\cdots\newline &d_n→r_n \end{aligned} $$ 这里面 d_i 是各不相同的名字(不是符号),每个 r_i\Sigma\cup\{d_1,...,d_{i-1}\} 上的正规式。

例子

\begin{aligned} &\boldsymbol{letter\_}→A|B|...|Z|a|b|...|z|\_\newline &\boldsymbol{digit}→0|1|...|9\newline &\boldsymbol{id}→\boldsymbol{letter\_}(\boldsymbol{letter\_}|\boldsymbol{digit})^* \end{aligned}
本文阅读量