文件名称:LexicalAnalysis

  • 所属分类:
  • 编译器/词法分析
  • 资源属性:
  • [C/C++] [源码]
  • 上传时间:
  • 2015-10-30
  • 文件大小:
  • 2kb
  • 下载次数:
  • 0次
  • 提 供 者:
  • 忆*
  • 相关连接:
  • 下载说明:
  • 别用迅雷下载,失败请重下,重下不扣分!

介绍说明--下载内容均来自于网络,请自行研究使用

1、根据以下的正规式,编制正规文法,画出状态图;

  标识符      <字母>(<字母>|<数字字符>)*

  十进制整数    0 | ((1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*)

  八进制整数   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 then else while do

2、根据状态图,设计词法分析函数int scan( ),完成以下功能:

1)从文本文件中读入测试源代码,根据状态转换图,分析出一个单词,

2)以二元式形式输出单词<单词种类,单词属性>

其中单词种类用整数表示:

0:标识符

1:十进制整数

2:八进制整数

3:十六进制整数

运算符和界符,关键字采用一字一符,不编码

其中单词属性表示如下:

标识符,整数由于采用一类一符,属性用单词表示

运算符和界符,关键字采用一字一符,属性为空

  3、编写测试程序,反复调用函数scan( ),输出单词种别和属性。-1、根据以下的正规式,编制正规文法,画出状态图;

  标识符      <字母>(<字母>|<数字字符>)*

  十进制整数    0 | ((1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*)

  八进制整数   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 then else while do 

2、根据状态图,设计词法分析函数int scan( ),完成以下功能:

1)从文本文件中读入测试源代码,根据状态转换图,分析出一个单词,

2)以二元式形式输出单词<单词种类,单词属性>

其中单词种类用整数表示:

0:标识符

1:十进制整数

2:八进制整数

3:十六进制整数

运算符和界符,关键字采用一字一符,不编码

其中单词属性表示如下:

标识符,整数由于采用一类一符,属性用单词表示

运算符和界符,关键字采用一字一符,属性为空

  3、编写测试程序,反复调用函数scan( ),输出单词种别和属性。
(系统自动生成,下载前可以参看下载内容)

下载文件列表





LexicalAnalysis.cpp

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度更多...
  • 请直接用浏览器下载本站内容,不要使用迅雷之类的下载软件,用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.

相关评论

暂无评论内容.

发表评论

*主  题:
*内  容:
*验 证 码:

源码中国 www.ymcn.org