正则定义 Regular Definition
正则定义是具有如下形式的定义序列:
$d_1\to r_1\\ d_2\to r_2\\ ... \\ d_n\to r_n$
其中,每个$d_i$ 都是一个新符号,它们都不在字母表$\Sigma$中,而且各不相同。
每个$r_i$ 是字母表$\Sigma\cup\{d_1,d_2,...,d_{i-1}\}$ 上的正则表达式。
作用:给一些RE命名,并在之后的RE中像使用字母表中的符号一样,使用这些名字。
举例
C语言中标识符的正则定义:
- $digit → 0|1|2|...|9$
- $letter\_ → A|B|...|Z|a|b|...|z|\_$
- $id → letter\(letter\ |digit)^*$
(整型或浮点型)无符号数的正则定义:
- $digit \to 0|1|2|...|9$
- $digits \to digit \ digit^*$
- $optionalFraction \to .digits|\varepsilon$
- $optionalExponent \to (E(+|-|\varepsilon)digits)|\varepsilon$
- $number \to digits \ optionalFraction \ optionExponent$
2、2.15、2.15E+3、2.15E-3、2.15E3、2E-3