实验一词法分析器1.doc_第1页
实验一词法分析器1.doc_第2页
实验一词法分析器1.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

班级: 计算机科学与技术系计算机应用 学号: 1010411057 姓名: 吴锐 实验一 词法分析器一 实验目的 1通过本实验加深对词法分析程序的功能及实现方法的理解;2使用FLex实现词法分析程序。二 实验内容下面是简单C语言的词法:1.关键字:else if int return void while所有的关键字都是保留字,并且必须是小写。2. 下面是专用符号:+ - * / = = != = ; , ( ) 3. 其他标记是ID 和NUM ,通过下列正则表达式定义:ID = letter letter*NUM = digit digit*letter = a|.|z|A|.|Zdigit = 0|.|9小写和大写字母是有区别的。 请利用flex生成上述语言的词法分析器。要求写出详细的步骤和相应的flex源程序。三 实验步骤 1.在linux中安装flex,使用如下命令: Undo apt-lex install flex 2.用flex词法分析器实现词法分析 测试内容: int voidelsewhilereturni=1+3.9;a3=909/6bcd=4%9-333 源程序:%#include stdio.hint linenum;%else showKEYWord();if showKEYWord();int showKEYWord();return showKEYWord();void showKEYWord();while showKEYWord();n linenum+;0-90-9* printf(NUM : %sn,yytext);a-zA-Za-zA-Z* printf(ID : %sn,yytext);+-*/=!=;,)(% printf(Op : %sn,yytext); . printf(Unknown : %cn,yytext0);%showWord()printf(KEYWord : %sn,yytext);int main()linenum=0;yylex();printf(nLine Count: %dn,linenum);return 0;int yywrap()return 1;四 实验结果五 实验内容中遇到的问题、解决方法和体会。Lex(Lexical Analyzar词法分析生成器)是Unix下十分重要的词法分析工具。经常用于语言分析,公式编译等广泛领域。本实验加深对词法分析程序的功能及实现方法的理解,同时也在linux中安装了flex,使用FLex实现词法分析程序。本次实验中遇

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论