开发工具:
文件大小: 4kb
下载次数: 0
上传时间: 2008-05-07
详细说明: 【说明】 一下规则为我们学校要求的 各个具体题目不一样 根据需要进行修改
一、 词法的正规式描述
词法的正规式描述如下:
(1) 标识符:<字母>(<字母>|<数字字符>)
(2) 十进制整数:0 | (1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*
(3) 八进制整数:0(1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)*
(4) 十六进制整数:0x(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)*
(5) 运算符和分隔符:+ - * / > < = ( ) ;
(6) 关键字:if then else while do
二、 变换后的正规文法
<标识符> letter<标识符尾>
<标识符尾 > ε|letter<标识符尾>|digit<标识符尾>
<十进制证书> 0 | (1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*
<八进制整数> 0(0|1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)*
<十六进制整数> 0x(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)*
<加号> +
<减号> -
<乘号> *
<除号> /
<大于号> >
<小于号> <
<等号> =
<左括号> (
<右括号> )
<分号> ;
<赋值号> :=
if
else
then
do
while
1. 数据结构
char * Keywords[] 关键字种别存放数组
char MyIDN[100][512] 标识符种别存放数组
int id 标识符种别
char token[1024] 分析出来的单词
char str[1024] 输入缓冲区
int sta 输入缓冲区下标
int symbol 单词种别
int attr 属性
2. 子函数
scan(char s[])
输入:字符流
输出:Symbol(单词种别)
int IsKeyword(char s[])
输入:单词
输出:是关键字则输出种别;否输出-1
int LookUp(char s[])
输入:非关键字的单词
输出:若标识符s为第一次出现,存入MyIDN,返回入口指针;否找到s,返回
入口指针
int to10(char s[],int n)
输入:数字字符串s,s的进制数n
输出:由s转化成的十进制数
...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.