所属分类:
编译器/解释器
开发工具:Visual C++
文件大小:76KB
下载次数:57
上传日期:2006-01-02 13:07:31
说明: 一、 实验内容
S语言的编译程序的词法分析部分实现
从左到右扫描每行S语言源程序的符号,拼成单词,换成内部表示(token)
二、 实验要求
要求实现编译器的以下功能:
组织源程序的输入
按规则拼写单词,并转换成二元形式
删除空格及无用符号(如回车符,字符常数的引号符等)
发现并定位错误
建立单词表、符号表、常数表等文件
三、 实现方法
数据结构
1、 输入
S语言源程序,为文本文件
2、 输出
词法分析程序的运行结果是:产生一个单词序列文件(token文件)和一个常数表、一个符号表文件,并输出错误信息。
(1) token文件结构
token文件用于存放从S语言源程序中扫描出来的一个个单词符号的机内表示,其文件结构如下:
typedef struct token
{
nt label
char name[30]
int code
int addr
}token
说明:
label:单词序号;
name[30]:单词本身;
code:单词的编辑;
addr:地址,单词本身保留字时值为-1,为标识符成常数时为大于0常数,即该标识符成常数在符号表中的入口地址。
(one, Experiment S language compiler of lexical analysis to achieve whatever S scanning each line of source language symbols, makes up words, replaced internal said (token) 2, the experimental requirements call for compiler of the following functions :)