我目前正在研究编译器,并且在理解常规集方面遇到了一些问题。例如,假设我有一组二进制字符串 (0, 1)。所有偶数和正数是否都被视为正则集的一部分?假设我有相同的集合,但它们不是偶数,而是可以被 5 整除,它仍然是常规集合吗?
我一直在查看我在网上找到的这个有用的指南,但我仍然对可以定义为常规集合的内容感到困惑。
我目前正在研究编译器,并且在理解常规集方面遇到了一些问题。例如,假设我有一组二进制字符串 (0, 1)。所有偶数和正数是否都被视为正则集的一部分?假设我有相同的集合,但它们不是偶数,而是可以被 5 整除,它仍然是常规集合吗?
我一直在查看我在网上找到的这个有用的指南,但我仍然对可以定义为常规集合的内容感到困惑。
所有偶数和正数是否都被视为正则集的一部分?
是的!您可以使用以下正则表达式生成它们:
2 | 4 | 6 | 8 | (0|1|2|3|4|5|6|7|8|9)+(0|2|4|6|8)
假设我有相同的集合,但它们不是偶数,而是可以被 5 整除,它仍然是常规集合吗?
是的!这是正则表达式:
5 | (0|1|2|3|4|5|6|7|8|9)+(0|5)
更一般地说,要确定一个集合是否是正则集,您应该尝试找到一个有限自动机,它可以精确地接受语言中的字符串或该集合的正则表达式。如果你能做到这一点,语言是正常的。如果没有,则不正常。
希望这可以帮助!