有穷自动机的最小化c语言代码,无符号数有穷自动机实现.doc
实验报告成绩: 指导教师审核(签名): 年 月 日
预习报告□ 实验报告□
无符号数的有穷自动机的实现
(一)实验目的
无符号数的有穷自动机的实现目的是使学生掌握文法的形式描述,穷自动机的概念。将文法转换成有穷自动机的方法,理解出错处理程序思想,如何用状态矩阵实现一个穷自动机的机内表示。
(二)实验内容
1.无符号数的BNF描述
( d | . | e
(d | . | e |ε
( d
e | d | ε
( d | + | -
( d
( d | ε
2.将G[]文法转换成有穷自动机。
3.构造状态矩阵;将有穷自动机的状S1 S2 ……Sn及输入的字a1 a2 ……am 构成一个n*m的矩阵。
4.用状态矩阵设计出一个词法分析程序。
5.扫描无符号数,根据文法给出无符号数出错的位置。
(三)实验要求
1.学生课前要认真阅读实验指导,理解实验内容与相关理论知识的关系,并完成预习报告
2.用C语言或其它高级语言编写程序
3.写出实验报告
实验报告成绩: 指导教师审核(签名): 年 月 日
预习报告□ 实验报告□
无符号数的有穷自动机的实现
(一)实验目的
通过上机实习,熟悉词法分析程序所用的工具自动机,进一步理解自动机理论。掌握文法转换成自动机的技术及有穷自动机实现的方法。
(二)实验内容
1.无符号数的BNF描述
( d | . | e
(d | . | e |ε
( d
e | d | ε
( d | + | -
( d
( d | ε
2.无符号数的有穷自动机实现的思想
用0-----表示无符号数; 用1-----表示余留无符号数;
用2----表示十进制小数;用3-----表示余留十进制小数;
用4-----表示指数部分; 用5-----表示整指数;
用6-----表示余留整指数。
输入无符号数序列,从左到右扫描,遇到“#”号结束扫描。设一个字符数组,接收输入的无符号数,对输入的无符号数逐一进行分析,用一个中间变量接收当前字符。当前字符值发生错误时,输出错误信息;当前字符值正确时,分析下一个字符,反复判断,直至分析完毕。
3.无符号数的有穷自动机(Z表示结束符)
无符号数有穷自动机由图1所示。
图1 有穷自动机
4.无符号数有穷自动机的状态转换矩阵
无符号数有穷自动机的状态转换矩阵由表1所示。
de·+-ε0142ΦΦΦ1142ΦΦZ23ΦΦΦΦΦ334Φ5ΦZ46ΦΦΦ5Φ56ΦΦΦΦΦ66ΦΦΦΦZ
(三)实验要求
1.学生课前要认真阅读实验指导,理解实验内容与相关理论知识的关系,并完成预习报告
2.用C语言或其它高级语言编写程序
3.写出实验报告
(四)程序流程图
(五)程序代码
// zhangtianyou.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
#define LEN 30
int main()
{
char number[LEN]={0};
lab0:int i=0;
printf("Please input a number:\n");
scanf("%s",number);
if(number[i]=='#')
{
printf("input this number
有穷自动机的最小化c语言代码,无符号数有穷自动机实现.doc相关推荐
- 最大化/最小化/关闭窗口代码集锦
在制作网页时,我们常常需要用到这类代码,很简单也很实用 最大化窗口: <OBJECT id="max" type="application/x-oleobject& ...
- C语言中无符号数和有符号数之间的比较和运算
学C语言的同学看看以下代码运行结果会多少 源代码 #include <stdio.h> void main(void) {unsigned char uchar_num = 1;char ...
- java中有符号数和无符号数,C语言中无符号数和有符号数之间的运算
C语言中有符号数和无符号数进行运算(包括逻辑运算和算术运算)默认会将有符号数看成无符号数进行运算,其中算术运算默认返回无符号数,逻辑运算当然是返回0或1了. unsigned int和int进行运算 ...
- 成绩查询系统c语言,学生成绩查询系统C语言代码(分服务器端和客户端).doc
学生成绩查询系统C语言代码(分服务器端和客户端) 客户端:#include#include#include #pragma comment(lib , "Wsock32.lib " ...
- C语言中无符号数和有符号数相加问题
看个题: #include<stdio.h> int main() { unsigned int a=6; int b=-20; printf("%d\n",a+b); ...
- c语言中时间字符化,C语言字符画,字符闪画.doc
C语言字符画,字符闪画.doc (32页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 星星图#include #include #de ...
- 【电力系统】基于遗传算法实现电力系统中的有功功率损耗最小化附matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.
- 温室大棚控制系统C语言代码,{新}温室大棚控制系统设计.doc
摘 要 本课题运用STC89C52单片机.DS-18B20 数字温度传感器M4QA045电动机.ULN-2003A集成芯片.湿敏电阻,以及四位八段数码管等元器件,设计了温湿度报警电路.M4QA045电 ...
- 骑士飞行棋 c语言代码,骑士飞行棋源代码.doc
骑士飞行棋源代码 骑士飞行棋源代码using System;using System.Collections.Generic;using System.Linq;using System.Text; ...
最新文章
- 服务器显示内存已超标,服务器显示内存已超标
- 文件操作01 - 零基础入门学习C语言60
- http协议基础(七)通用首部字段
- python3精要(49)-生成器
- ASP.NET三层架构之不确定查询参数个数的查询
- Linux 入门必看:如何60秒内分析Linux性能
- oracle in 索引_Oracle 性能优化总结
- MMdnn Visualizer网络可视化
- 使用Json封装scroll,已处理其兼容性问题
- 组策略复制失败排错思路实例
- 深度置信网络JAVA代码,DeeBNetV2.2 深度置信网络源码,有配合的文档可以参考,详见内容 matlab 247万源代码下载- www.pudn.com...
- 利用Python制作微信跳一跳外挂,又来带你装一波X!
- ECharts绘制图表
- Android软件图标分辨率,android app icon 图标大小尺寸
- c语言常量定义的数组初始化
- FPGA 光纤传输IP核的使用
- java遍历文件夹下所有图片_遍历指定文件夹下的所有图片,并复制到指定目录下...
- 【Nuxt】nuxtjs脚手架的安装及问题解决
- windows 7可用软件搜索贴~(转)(申请置顶)
- 第二届中国移动“梧桐杯”大数据应用创新大赛复活赛
热门文章
- SCIENCE ADVANCES | 精神分裂症患者肠道微生物组调节小鼠谷氨酸-谷氨酰胺-GABA循环和精神分裂症相关行为
- ​Hello Qt(四十七)——QtQuick基础​
- 道金斯科普三部曲_道金斯在神的物体上
- MyBatis进行增删改查
- 牛客小白月赛25 C.白魔法师
- 教你自制五星级大酒店用的调味品
- colored manual page
- ElasticSearch(四):ES nested嵌套文档与父子文档处理
- 公用网络切换为专用网络的详细步骤
- python情人节之玫瑰花与表白方式_python情人节之玫瑰花与表白方式-Go语言中文社区...