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