软件构造-实验1 根据状态转换图手工构造词法扫描器

实验内容

编制一个读单词过程,源程序为一个文件,读取该文件,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、界符五大类。并依次输出各个单词的内部编码及单词符号自身值。

单词的内部编码如下:

1、保留字:if、int、for、while、do、return、break、continue;单词种别码为1;

2、标识符:除保留字外的以字母开头,后跟字母、数字的字符序列;单词种别码为2;

3、常数为无符号整形数;单词种别码为3;

4、运算符包括:+、-、*、/、=;单词种别码为4;

5、分隔符包括:,、;、{、}、(、); 单词种别码为5。

  1. 画出识别所有单词的状态转换图。(若状态转换图过于复杂,可以只画出主要部分

原文地址:https://www.cnblogs.com/smartisn/p/12207375.html

时间: 2024-10-09 16:07:47

软件构造-实验1 根据状态转换图手工构造词法扫描器的相关文章

MSP430 G2553 比较器Comparator_A+、数据流程图DFD、状态转换图STD

一.CA+构造 MSP430G2553带有一个比较器Comparator_A+(CA+),其构造框图如下图所示. 二.输入 & 输出 如上图所示,比较器有一个同向输入端(V+)和一个反向输入端(V-).通过软件设置,V+端可以连接到CA0~CA2三个外部管脚之一,或者三个内部电压基准之一:V-端可以连接到CA1~CA7七个外部管脚之一,或者三个内部电压基准之一.内部电压基准可以是0.5*Vcc.0.25*Vcc,或者内部一个二极管的导通电压(约0.55V). 输出信号可以连接至Timer的外部时

TCP状态转换图解析

本文参考Unix网络编程卷1,对TCP状态转换进行总结,方便掌握TCP链接中各个状态及故障分析. 1.Linux下TCP相关工具 基于Linux系统查看网络状态,首先了解几个基本查看指令. Linux查看网络状态的命令: netstat -nat  查看TCP各个状态的数量 lsof  -i:port , 可以检测到打开套接字的状况.lsof(list open files)列出当前系统打开的文本的工具. tcpdump -iany tcp port 9000 ,对tcp端口为9000的进行抓包

TCP三次握手、四次挥手及状态转换图

TCP/IP通信的三次握手如下: TCP是主机对主机层的传输控制协议,提供可靠的连接服务: 位码即tcp标志位,有6种标示:SYN(synchronous建立联机) .ACK(acknowledgement 确认) .PSH(push传送). FIN(finish结束) .RST(reset重置) .URG(urgent紧急).Sequence number(顺序号码) .Acknowledge number(确认号码). 三次握手: 第一次握手:客户端发送syn包(syn=x)的数据包到服务器

TCP的三次握手以及TCP状态转换图详解

今天来讨论一下TCP的三次握手以及TCP的状态转换图.首先发一个三次握手的流程图如下: 圖 2.4-3.三向交握之封包连接模式A:封包发起当用戶端想要对服务器端发起连接时,就必須要送出一個要求连线的封包,此时用戶端必须随机取用一個大于1024 以上的端口來做为程序通信的通道.然后在 TCP 的表头当中,必须带有 SYN 的主动连线(SYN=1),並并且记下发送给服务器端的序列号(Sequence number = 10001) .B:封包接收与确认封包发送当服务器端收到这个包,并且确定要接受这个

TCP四步挥手的各种状态转换图

对于TCP四步挥手时的各种状态转换,网上有很多资料.但是有很多描述不是很容易理解,甚至是描述错误,不如这篇文章里http://www.cnblogs.com/Jessy/p/3535612.html#3428191 说: 对此我表示不以为然.而且很容易误导初学者.在这里我贴出一个网上画的比较好的TCP四步挥手时的状态转换图:

TCP状态转换图

TCP连接的建立与终止可以用状态转换图(state transition diagram)来说明,见图2.4. 图中定义了11种状态,这种转换基于 如果一个client进程调用close(),主动发送一个SYN--->SYN_SENT状态,这时握手成功收到server的syn和ACK,发回Client ACK然后,进入ESTABLISHED状态.建立TCP的三次握手过程. 四次握手的关闭过程. 在SYN_SENT的状态下接收SYN关键字时,转入SYN_RCVD状态,继续接收server端的传输数

传输控制协议(TCP) -- TCP状态转换图

本文参考自: <UNIX网络编程 卷1> 在<UNIX网络编程 卷1>一书中,作者给出了TCP状态转换图(如下).本文也将围绕此图进行阐释.

TCP状态转换图(state transition diagram)

 TPC总共有11个状态,状态转换图: 状态转换的要素 状态: tcp定义的11个状态 事件: 触发TCP状态迁移.事件可以是:本地应用层调用:收到TCP消息(incoming segment):超时事件(timeout) 动作: 主要指针对远程Peer产生的动作,如发送确认等. 转换中的角色 本地应用层 Local App:产生事件. 本地tcp实现层 local TCP stack:处理事件,完成状态转换:在远程tcp上产生事件. 远程tcp实现层 remote TCP stack(or

Android(java)学习笔记72:线程的状态转换图以及常见执行情况

线程的状态转换图以及常见执行情况: