写在开始:
上篇我们介绍了编译“工厂”的流程,本篇介绍,工厂里的“工具”。
开始教程:
语言和文法?语言我们知道,计算机语言,人类的语言,动物的语言,不同国家的语言,不同种族的语言等等。那神马是文法呢?所谓文法,文,文字,法,规则,法则,法律。组合起来就是,文字的规则。每种语言都有自己的文法,不同的语言有不同的文法。例如我们的中文的文法,用一种规则来定义句子的组成,还拿“我是中国人”为例。
我们的个中文句子构造规则:<主语><谓语><宾语><补语><状语>。 而英语的句子构造:S十V主谓结构 S十V十F主系表结构 S十V十O主谓宾结构 S十V十O1十O2主谓双宾结构 S十V十O十C主谓宾补结构说明:S=主语;V=谓语;P=表语;O=宾语;O1=间接宾语;O2=直接宾语;C=宾语补足语。我们可以看出汉语和英语有不同的编排,不同的规则,这就是文法。
我们这里要说的是编译程序的文法。
书中的文法定义:使用文法作为工具,不仅为了严格地定义句子的结构,也是为了适当条数的规则把语言的全部句子描述出来,可以说文法是以有穷集合刻画无穷集合的工具。
接下来了解一些关于表示文法的一些基本定义:
一些基本定义