实验一、词法分析实验
商业软件工程专业 张树恒 201506110093
一、实验目的
通过设计一个词法分析程序,对词法进行分析,加强对词法的理解,掌握对程序设计语言的分解和理解。
二、实验内容和要求
在原程序中输入源代码
对字符串表示的源程序
从左到右进行扫描和分解
根据词法规则
识别出一个一个具有独立意义的单词符号
以供语法分析之用
发现词法错误,则返回出错信息
在源程序中,自动识别单词,把单词分为五种,并输出对应的单词种别码。
识别关键字:main if int for while do return break continue,该类的单词码为1.
识别标识符:表示各种名字,如变量名、数组名、函数名等,如char ch, int syn, token,sum,该类的单词码为2.
运算符:+、-、*、/、=、>、=、<=、!=
分隔符:,、;、{、}、(、)
常数,如123,4587
各种单词符号对应的种别码。
输出形式:
二元式
– (单词种别,单词自身的值)
单词种别,表明单词的种类,语法分析需要的重要信息
– 整数码
关键字、运算符、界符:一符一码
标识符:10, 常数:11
单词自身的值
– 标识符token、常数sum
– 关键字、运算符、界符token
三、实验方法、步骤及结果测试
1.源程序名:编译原理实验报告中源程序名算法分析.c
可执行程序名:编译原理实验报告.exe
2.原理分析及流程图
3.主要程序段及其解释:
import java.awt.*;
import java.util.Scanner;
/**
* Created by s2002 on 2016/9/30.
*/
public class com {
public static void main(String[] a