是否有任何特定的方法来指定给定语法的语言?即是否有必要运行语法中给出的所有生产规则来确定它所代表的语言?我没有这样的例子,因为我正在处理的是一个家庭作业问题。
[edit]: adding an example, Describe, in English, the language defined by the grammar
<S> -> <A> <B> <C>
<A> -> a <A> | a
<B> -> b <B> | b
<C> -> c <C> | c
此致
darkie15
答案 0 :(得分:1)
在您的示例中,部分
<A> -> <A> a | a
确认a
的完全非空列表
同样适用于其他两个作品<B>
和<C>
,分别为b
和c
。
因此,使用<S> -> <A> <B> <C>
,您推断出该语法识别的语言是a
的非空列表,后跟非空列表b
,然后是非空列表c
的{,与正则表达式a+b+c+
对应。
从那里证明很容易证明正则表达式识别的每个实例都使用归纳法通过语法识别。