下载此文档

一种简单的编译器的设计.doc


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
一种简单的编译器的设计
  摘要:基于编译理论与虚拟机技术,经过词法分析、语法分析、语义分析等过程,设计一个简单的编译器,将某一种源程序编译成目标程序,以验证结果的正确性。
  关键词:编译器;词法分析;语法分析;语义分析
  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)33-1508-03
  The Design of a Simple Compiler
  CHENG Hua
  (Jiangsu Food Science College, Huaian 223003, China)
  Abstract: Based on compile theory and Virtual Machine technology,to transfer source program into destination program by Lexical analyse, Parse, Semantic analyse, and to test and verify the results.
  Key words: compiler; lexical analyse; parse; semantic analyse
  1 设计背景
  目前,计算机无纸化考试系统的应用越来越广,选择题、判断题的自动评分基本完善,但对程序修改题、编程题等考题来说,运用简单地看结果或指定行、段等办法评分,不能从根本上达到客观、公正地评阅考生答案。要想让计算机评分具有智能化,就必须让计算机具备
“思想”,即让评分系统能“看懂”考生答案,能“感受”设计成果的优越之处与不足所在,能给“过程分”及“设计创新分”,而绝不单纯依赖“运行结果”。本文以此为切入点,基于编译理论与虚拟机技术,自主设计有限元编译系统,分课程、分模块,能自行分析、编译考生答案(如程序代码),进而判断其正确性、合理性及优越性。
  2 编译程序的一般结构
  编译程序结构框图如图1。
  3 编译器的设计
   建立符号表及其管理程序
  建立符号表,收录某种语言(C、PASCAL等)的所有字符集,允许在编译的各个阶段插入或查找名字的相关信息,并且能够反映出名字所在的位置,编制相应的程序来实现对字符表的各种操作,主要操作有:查找操作、插入操作、定位操作、重定位操作。
   建立一个词法分析器
  
  图1
  核心技术是处理单词符号的种类及部的编码(需要设计翻译表)、行计数器等,把词法分析器作为语法分析器调用的函数,词法分析器以二进制的形式输出单词符号的类别编码和属性值。词法分析器依据源语言的构词规则对源语言进行分析,依次读入原程序中的每个字符,对构成原程序的字符串进行分解,识别出每个具有独立意义的字符串(相对记号叫做单词),为其构造记号,形成记号流,如果符号表中没有各记号对应的单词,则把单词添加到符号表中,添加时为记号增加一个属性值即一个指针,指向符号表中该记号对应的单词。在词法分析中,还进行词法检查。如果词法分析器从源程序读入不合法的字符要做错误处理,显示或打印错误信息,并跳过这个字符,继续识别和分析下一个字符。
   建立一个语法分析器
  先要消除文法中的左递

一种简单的编译器的设计 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人2286107238
  • 文件大小30 KB
  • 时间2021-01-26