编译原理 中的文法和语言 区别是什么?我看书上写着 一个文法所产生的所有的句子的集合是语言.一开始就以为是S--->AA--->BB-->i类似这样就是语言了.但后来一想S不就是文法开始符吗?而且一般文法就是和上面这种写法一样的.那语言和文法还有啥区别呢?难道语言只指只有右边那部分的?另外再问个问题S---》A+B*D中 S为文法开始符号 ABD都是非终结符号如果其中只有D一个非终结符号能推导出i(终结符)那这个句子的直接短语,素短语和句柄是不是就都是i (因为一共就一个可以)反之如果ABD都可以直接或者间接推导出i (也就是i+i*i)那就另外计算对不?

问题描述:

编译原理 中的文法和语言 区别是什么?
我看书上写着 一个文法所产生的所有的句子的集合是语言.
一开始就以为是
S--->A
A--->B
B-->i
类似这样就是语言了.但后来一想S不就是文法开始符吗?而且一般文法就是和上面这种写法一样的.那语言和文法还有啥区别呢?
难道语言只指只有右边那部分的?
另外再问个问题
S---》A+B*D中 S为文法开始符号 ABD都是非终结符号
如果其中只有D一个非终结符号能推导出i(终结符)
那这个句子的直接短语,素短语和句柄是不是就都是i (因为一共就一个可以)
反之如果ABD都可以直接或者间接推导出i (也就是i+i*i)
那就另外计算对不?

文法是语言语法的描述工具,使用有限的规则将无限的语言描述出来.语言是文法所描述的所有橘子的集合,通俗点说吧,你看咱们平时说话不是都要遵从一定的语法规则吗,比如句子“主谓宾”这样的形式,文法就是用四元组要素(...