第一阶段
词法分析:任务是输入源程序,对构成源程序的字符串进行扫描和分析,识别出一个个的单词。
第二阶段
语法分析:任务是在词法分析的基础上,根据语言的语法规则,把单词符号串分解成各类语法单位(语法范畴),如“短语”、“句子”、“程序段”、和“程序”等。词法分析和语法分析本质都是对源程序的结构进行分析。
第三阶段
词义分析:任务是对语法分析所识别出的各类语法范畴,分析其含义。语义分析一个主要工作是进行类型分析和检查。
第四阶段
优化:任务在于对前段产生的中间代码进行加工变换,以期在最后阶段能产生出更为高效(省时间和空间)的目标代码。
第五阶段
目标代码生成:把中间代码(或经优化处理之后)变换成特定机器上的低级语言代码。