下载此文档

太原理工大学编译原理实验.doc


文档分类:高等教育 | 页数:约28页 举报非法文档有奖
1/28
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/28 下载此文档
文档列表 文档介绍
本科实验报告
课程名称: 编译原理
实验项目:无符号数的词法分析程序(实验一)
实验地点: 计算机学院软件实验室
专业班级: 学号:
学生:
指导教师: 秀芳

2013年 11 月16日
一、实验目的和要求
培养学生初步掌握编译原理实验的技能。
验证所学理论、巩固所学知识并加深理解。
对学生进行实验研究的基本训练。
二、实验容和原理
实验一、 无符号数的词法分析程序(4学时)
容:掌握词法分析的基本思想,并用高级语言编写无符号数的词法分析程序。
要求:从键盘上输入一串字符(包括字母、数字等),最后以“;”结束,编写程序识别出其中的无符号数。
无符号数文法规则可定义如下:
<无符号数>→<无符号实数>│<无符号整数>
<无符号实数>→<无符号整数>.<数字串>[E<比例因子>]│
<无符号整数>E<比例因子>
<比例因子>→<有符号整数>
<有符号整数>→[+│-]<无符号整数>
<无符号整数>→<数字串>
<数字串>→<数字>{<数字>}
<数字>→0 1 2 3...... 9
读无符号数的程序流程图见下图
三、主要仪器设备
PC机+Java语言编程环境
四、实验结果与分析

package text1;
import ;
import ;
public class Text1 {
/**
* param args
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
int p = 0, w = 0, w1 = 0, j = 0, i = 0, d = 0, e = 1;
double w2 = 0;
String str;
("请输入一串字符以;结束:");
BufferedReader buf = new BufferedReader(
new InputStreamReader());
str = ();
char m[] = new char[100];
for (i = 0; i < (); i++) {
m[i] = (i);
}
i = 0;
while (i < ()) {
if (m[i] < 48 || m[i] > 57) {
i++;
} else {
do {
d = m[i] - 48;
w = w * 10 + d;
j++;
i++;
} while (m[i] >= 48 && m[i] <= 57);
// ("chesi"+m[i]);
if (m[i] != '.') {
if (m[i] != 'E') {
("整型数为:" + w);
j = 0;
w = 0;
} else {
i++;
if (m[i] == '-') {
e = -1;
i++;
if (m[i] >= 48 && m[i] <= 57) {
do {
d = m[i] - 48;
p = p * 10 + d;
i++;
} while (m[i] >= 48 && m[i] <= 57);
if (j > 1)
w2 = w

太原理工大学编译原理实验 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数28
  • 收藏数0 收藏
  • 顶次数0
  • 上传人2786321826
  • 文件大小477 KB
  • 时间2021-01-07
最近更新