【发布时间】:2012-02-22 00:53:19
【问题描述】:
我对常规语言的概念有点困惑。 由于 dfa 可以接受所有常规语言,并且 dfa 中总是有循环。所以看起来 dfa 可以接受无限数量的字符串。这是否意味着所有常规语言都是无限的?空集呢。它是一种常规语言吗?
【问题讨论】:
-
DFA 是否接受字符串取决于您是否最终处于接受状态。绘制一个只接受一个字符串的简单 DFA 相当容易。
标签: regular-language dfa
我对常规语言的概念有点困惑。 由于 dfa 可以接受所有常规语言,并且 dfa 中总是有循环。所以看起来 dfa 可以接受无限数量的字符串。这是否意味着所有常规语言都是无限的?空集呢。它是一种常规语言吗?
【问题讨论】:
标签: regular-language dfa
definition of regular language 包括空集。它还包括单例语言{a},所以不,并非所有常规语言都是无限的。
【讨论】:
不,并非所有 DFA 中都有循环。正则语言是一种可以被正则表达式接受的语言(使用数学定义,而不是 pcre 定义),例如,'a' 是一个正则表达式,它只匹配确切的字符串 'a'。所以 { a } 是一种常规语言。 :)
此语言的 DFA 是:
a
START ----> ACCEPT
【讨论】: