词法分析器制作与应用 设计思想 (1)程序主体结构部分: 说明部分 %% 规则部分 %% 辅助程序部分 (2)主体结构的说明 在这里说明部分告诉我们使用的LETTER,DIGIT, IDENT(标识符,通常定义为字母开头的字母数字串)和STR(字符串常量,通常定义为双引号括起来的一串字符)是什么意思.这部分也可以包含一些初始化代码.例如用#include来使用标准的头文件和前向说明(forward ,references).这些代码应该再标记"%{"和"%}"之间 规则部分> 可以包括任何你想用来分析的代码 我们这里包括了忽略所有注释中字符的功能,传送ID名称和字符串常量内容到主调函数和main函数的功能. (3)实现原理 程序中先判断这个句语句中每个单元为关键字、常数、运算符、界符,对与不同的单词符号给出不同编码形式的编码,用以区分之。 PL/0语言的EBNF表示 <常量定义>::=<标识符>=<无符号整数> <标识符>::=<字母>={<字母>|<数字>} <加法运算符>::=+|- <乘法运算符>::=*|/ <关系运算符>::==|#|<|<=|>|>= <字母>::=a|b|…|X|Y|Z <数字>::=0|1|2|…|8|9
上传时间: 2015-11-04
上传用户:zhengzg
很好的用io口模拟串口的程序,内带仿真文件,可随意修改,已经在产品中应用,可放心使用。
上传时间: 2013-12-13
上传用户:王小奇
在所有的应用软件当中,几乎都会提供打印结果的功能,但大部分的软件并不提供输出结果到文本文件功能(如速达,用友和金碟应用软件等能够打印,但不能将结果直接输出到文本文件 再比如一些与硬件配套的应用软件类似 PeakNet等软件,也只能打印,不能输出到文本文件)。有时候客户需要对这些结果进行再次处理分析和统计。传统的方法,只能把打印到纸上的数据手工输入电脑,再利用自己的统计分析软件来处理这些数据。如果这些数据量大,仅靠人工输入是不可能的。笔者经过探讨和测试,找到了一个方法,实现了他们的无缝连接。为方便起见,以下称本文最早提到提供打印结果功能的软件为软件A,对这些结果再次进行处理分析和统计的软件为软件B。
标签: 应用软件
上传时间: 2016-01-09
上传用户:litianchu
baidu 本程序是用JNI技术实现的读取硬盘序列号 将ChenminDiskIDJoc.jar 加入环境变量 这两个文件放入window 文件夹 或者JDK的bin文件夹 或者你的应用文件夹 DiskID32.dll DiskID.dll public static String chenmin.io.DiskID.Factory() 返回硬盘厂家 public static String chenmin.io.DiskID.DiskID() 返回硬盘序列号 ChenminDiskIDTest.bat 将启动直接演示一个读取硬盘序列号的测试 测试读取硬盘序列号的源代码在ChenminDiskIDTest.jar中
标签: ChenminDiskIDJoc window baidu JNI
上传时间: 2016-01-22
上传用户:康郎
SD2001AP时钟驱动头文件,用于单片机,通过更改相应IO可直接调用
上传时间: 2014-01-04
上传用户:cuibaigao
ADT600-1的基地址0x300,中断为7, 3个定时器采用级连,CLK0的时钟源是模块上的8M震荡器,中断源为71054定时器的输出OUT2。采集电压范围为+/-5V,请按《ADT200/ADT600技术手册 版本B》上的说明对SW1,W5,W6,W9跳线。若你想修改中断号和基地址,请修改config.h相应的常量ADT_IRQ, ADT_BASE定义,然后重新编译安装,即运行make all 注意:不要在其他文件中修改。
上传时间: 2016-02-12
上传用户:evil
ADT600-1的基地址0x300,中断为7, 3个定时器采用级连,CLK0的时钟源是模块上的8M震荡器,中断源为71054定时器的输出OUT2。采集电压范围为+/-5V,请按《ADT200/ADT600技术手册 版本B》上的说明对SW1,W5,W6,W9跳线。若你想修改中断号和基地址,请修改config.h相应的常量ADT_IRQ, ADT_BASE定义,然后重新编译安装,即运行make all 注意:不要在其他文件中修改。
上传时间: 2013-12-10
上传用户:tonyshao
ADT600-1的基地址0x300,中断为7, 3个定时器采用级连,CLK0的时钟源是模块上的8M震荡器,中断源为71054定时器的输出OUT2。采集电压范围为+/-5V,请按《ADT200/ADT600技术手册 版本B》上的说明对SW1,W5,W6,W9跳线。若你想修改中断号和基地址,请修改config.h相应的常量ADT_IRQ, ADT_BASE定义,然后重新编译安装,即运行make all 注意:不要在其他文件中修改。
上传时间: 2013-12-25
上传用户:wl9454
利用一块芯片完成除时钟源、按键、扬声器和显示器(数码管)之外的所有数字电路功能。所有数字逻辑功能都在CPLD器件上用VHDL语言实现。这样设计具有体积小、设计周期短(设计过程中即可实现时序仿真)、调试方便、故障率低、修改升级容易等特点。 本设计采用自顶向下、混合输入方式(原理图输入—顶层文件连接和VHDL语言输入—各模块程序设计)实现数字钟的设计、下载和调试。 一、 功能说明 已完成功能 1. 完成秒/分/时的依次显示并正确计数; 2. 秒/分/时各段个位满10正确进位,秒/分能做到满60向前进位; 3. 定时闹钟:实现整点报时,又扬声器发出报时声音; 4. 时间设置,也就是手动调时功能:当认为时钟不准确时,可以分别对分/时钟进行调整; 5. 利用多余两位数码管完成秒表显示:A、精度达10ms;B、可以清零;C、完成暂停 可以随时记时、暂停后记录数据。 待改进功能: 1. 闹钟只是整点报时,不能手动设置报时时间,遗憾之一; 2. 秒表不能向秒进位,也就是最多只能记时100ms; 3. 秒表暂停记录数据后不能在原有基础上继续计时,而是复位重新开始。 【注意】秒表为后来添加功能,所以有很多功能不成熟!
上传时间: 2014-01-02
上传用户:LIKE
java写的围棋游戏小程序 开发思路 调用applet类作为父类。在init事件中调用Qipan类,作出panel,上加控制用控件。在paint事件里调用drawline函数画棋盘,注册鼠标动作。鼠标单击位置上用drawoval画出棋子, 事件处理过程 A。重新开始 B。选择尺寸 C。悔棋事件 D。前进事件 有三个文件Weiqi.java,Qizi.java,Qipan.java
上传时间: 2014-01-07
上传用户:gyq