Skip to content

kenyfly/Software-construction-programming-experiment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

Software-construction-programming-experiment

大三上选修课软件构造的编程实验

实验一符号串识别功能设计

实验目的

1. 掌握形式语言的概念;
2. 掌握构造识别相应符号串的程序的方法;
3. 了解构造词法分析程序所识别的各类单词的程序方法;

实验步骤及内容

1. 用高级语言编写程序:该程序能接受所构造语言的所有的标识符。
2. 用高级语言编写程序:该程序能接受所构造语言的所有的常数(整数和定点小数)。
3. 用高级语言编写程序:该程序能接受所构造语言的所有保留字。
4. 用高级语言编写程序:该程序能接受所构造语言的所有界符、运算符。(任选)

实验二 词法分析程序的构造

实验目的

1. 掌握所构造语言的使用方法;
2. 掌握所构造语言的词法分析程序;
3. 改编总控程序和词法分析程序;

实验内容及步骤

1. 单词的分类:
    可将所有标识符归为一类;将常数归为另一类:保留字、界符、运算符符则可采取一词一类。
2. 符号表的建立
    可事先建立一保留字表,以备识别保留字时进行查询。变量名表及常数表则在词法分析过程中建立。
3. 单词串的输出形式:
    所输出的每一单词,均按形如(CLASS,VALUE)的二元式编码。对于变量标识符和常数,CLASS字段为相应的类别码,VALUE字段是该标识符、常数在其符号表中登记项的序号(要求在变量名表登记项中存放该标识符的字符串,其最大长度为四个字符;常数表登记项中则存放该常数(整数)的二进制形式)。对于保留字、界符和运算符,由于采用一词一类的编码方式,所以仅需在二元式的CLASS字段上放置相应的单词的类别码,VALUE字段则为“空”。(或:为便于查看由词法分析程序输出的单词串也可以在CLASS字段上放置单词符号串本身)。
4. 采用文件文件输入输出
5. 编写上述词法分析程序

加强实验

  1. NFA转换成DFA
  2. 最小化
  3. 可视化

About

大三上选修课软件构造的编程实验

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages