一、 实验内容 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常数,即该标识符成常数在符号表中的入口地址。