龙源期刊网 https://www.wendangku.net/doc/fe15783500.html,
C语言微型编译器的实现
作者:李艳杰高新阳
来源:《现代信息科技》2018年第10期
摘要:计算机之所以识别高级语言,是因为中间有编辑技术把高级语言编译为计算机所
识别的语言,最终能在计算机硬件上执行。本文主要论述用C语言编写的微型编译器的实现过程。
关键词:C语言;编译器
中图分类号:TP314 文献标识码:A 文章编号:2096-4706(2018)10-0112-02
Abstract:The reason why computers recognize high-level languages is that editing technology compiles high-level languages into the languages recognized by computers,which can eventually be executed on computer hardware. This paper mainly discusses the implementation process of microcompilers written in C language.
Keywords:C language;compiler
0 引言
编译技术是计算机语言发展中不可或缺的一部分,也是计算机科学中比较成熟的一个部分,编译技术的主要思想就是把一种语言表示的程序转换为另外一种语言表示的逻辑程序。把不同的高级语言转换成相同的机器语言,最终到硬件计算机上执行,这些转化都涉及编译技术的应用。下面浅谈一下C语言开发的微型编译器的实现过程。
1 C语言微型编译器的主要功能
C语言微型编译器的主要任务:即是查看用C语言的规范字符组成的C语言源程序,然后把它们分解为单个具有独立意义的单词符号(Token),还识别其有关属性再转换成长度统一的属性字,最后对语义部分进行分解。其实,C编译器的功能就是执行C源程序代码,识别代码,转换成属性字,经过语义分解和代码生成,最终得到希望的代码文件即三地址四元表达式。
此C语言微型编译器实现如下功能:(1)在源程序中识别出每个单词;(2)绘制LR (1)分析表;(3)把分解的单词的属性放入构造好的符号表中;(4)把单词转换成属性字,最终形成二元组属性字流;(5)语义分析程序把符号表进行加工处理;(6)最终生成目标代码;(7)显示基本出错处理。
2 C语言微型编译器的文件组成