东丰网

基于flex的词法分析器的设计和实现

网站:东丰网   来源:网络收集

课程设计 1 基于 Flex 的词法分析器设计及实现 1.1 需求分析 1.1.1 问题定义 1、通过对 flex 基本知识的阅读,了解其工作原理和过程以及其匹配模式和规 则,掌握简单的 lex 语法和规则; 2、在上述基础上能够自主编写出简单且可以运行的词法分析器,实现简单的词 法分析功能; 3、通过实验,设计编制调试一个具体的词法分析程序,加深对词法分析原理的 理解, 并掌握在对程序设计语言源程序进行扫描过程其分解为各类单词的词 法分析方法。

1.1.2 功能描述 本次编制调试的词法分析器基本可以实现如下简单功能: 1、可以匹配识别关键字:else if switch for int float return void while (所有的关键字都是保留字,并且必须是小写) ; 2、可以匹配识别专用符号: + - * / < <= > >= == != = ; ,( ) [ ] { } /* */; 3、 标识符 (ID) 和数字 (NU ) 通过下列正则表达式定义: ID = letter letter* NUM = digit digit* letter = a|..|z|A|..|Z digit = 0|..|9; 4、可以匹配识别空格(空格由空白、换行符和制表符组成,空格通常被忽略, 除了它必须分开 ID、NUM 关键字); 5、可以识别简单的注释(/* 注释内容*/) ;

1.1.3 开发环境及工具介绍 1、Window 环境下载 Visual Studio 之后,利用其命令提示窗口进行操作。

下载并安装 Flex。

2、vs2010 的编译器 cl.exe。

3、flex:词法分析器 Flex 是用来生成程序的工具,他们所生成的程序能够处理结构化输入,最 初的 Flex 是用来生成编译器的,但是后来他们被证明在其他领域也非常有效。

Flex 是一个 SourceForge 项目。

其依赖于 GNU m4 宏处理器。

Linux 和 BSD 都应 该有 m4,对于 Windos 用户来说,Flex 被包含在 Cygein Linux 模拟环境中。

什么是 FLEX?它是一个自动化工具, 可以按照定义好的规则自动生成一个 C 函数 yylex(),也成为扫描器(Scanner)。

这个 C 函数把文本串作为输入,按 照定义好的规则分析文本串中的字符,找到符合规则的一些字符序列后,就执行 在规则中定义好的动作(Action)。

例如在规则中可以这样定义:如果遇到一个 换行字符\n,那么就把行计数器的值加一。

Flex 文件就是一个文本文件,内容 包括定义好的一系列词法规则。

1.2 系统概要设计 1.2.1 系统结构 F l ex 源文件 (.l) flex 词法分析器的C 语言源文件 (.h) 图 1-1 结构图 编译 此法分析器 的课执行程 序

开始 初始化 读入需要 分析的语句 还有单词未分析? 是 否 结束 读一个字符 是字母? 否 是 关键字或标识符 分析程序 是数字? 否 是 常数分析程序 其他单词 分析程序 输出单词二元式

相关内容
  • 词法分析器的设计与实现

    词法分析器的设计与实现

    词法分析器的设计与实现...

  • 词法分析器设计与实现

    词法分析器设计与实现

    词法分析器设计与实现...

  • flex词法分析器

    flex词法分析器

    flex词法分析器...

  • 词法分析器生成器的设计与实现

    词法分析器生成器的设计与实现

    词法分析器生成器的设计与实现...

  • 词法分析器flex中文手册

    词法分析器flex中文手册

    词法分析器flex中文手册...

  • CMM词法分析器的设计与实现

    CMM词法分析器的设计与实现

    CMM词法分析器的设计与实现...

  • 基于ALEX的ATLAS词法分析器设计与实现

    基于ALEX的ATLAS词法分析器设计与实现

    基于ALEX的ATLAS词法分析器设计与实现...

  • 实验一  词法分析器的设计与实现

    实验一 词法分析器的设计与实现

    实验一 词法分析器的设计与实现...

  • 基于flex的BBS的设计与实现

    基于flex的BBS的设计与实现

    基于flex的BBS的设计与实现...

  • flex词法分析器1

    flex词法分析器1

    flex词法分析器1...

  • 网友在搜
  • flex词法分析
  • flex词法分析器
  • Linuxflex词法分析
  • flex生成词法分析器
  • flex生成词法分析器实验报告
  • flex实现瀑布流
  • flex实现三列布局
  • flexe实现
  • flex如何实现批量下载
  • 至强5620 www.sh ypc.com hadooponwindows she s new student zooskool com中国女人 zh9672航班几点到广州 bios变动 开机 少爷忤逆父亲挨家法 what aboutwatermelons zzmj alena sviridova 变装人妖警官 2016鄂07民初56号 hardware societe 一本道幸野贺一 magnet 校园安全标语口号大全 in my whip dok2 潘粤明还在恋着董洁 刁刘氏扮演者莎莎花絮 浏览器cookie怎么开启 gpssh f hostlist 胖次怎么不能用了 达人兄弟摄影俱乐部 乐蛙 exposure许可代码 mdy 03 ec 多肉植物的壁纸 pailianwudao 剑心 夏冰全球护肤中心 ps八步做成工笔画效果 AMD Radeon R7 m265 hexaphene rt jailbreak tool try catch boolean aijiyidianshiju at the bark of find the lamp on win10空格键调节声音 tyod117种子 惊天魔盗团2 手机在线 ならいよ 香块多芬可以洗头吗 战士10黑金

    All Right Reserved 东丰网

    声明:本站内容源于网络,出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,请咨询相关专业人士。

    如果无意之中侵犯了您的版权,或有意见、反馈或投诉等情况 网站地图 网站栏目