返回顶部
首页 > 资讯 > 服务器 >编译原理——编写LEX文件:一个能识别所有运算式中包含的符号
  • 516
分享到

编译原理——编写LEX文件:一个能识别所有运算式中包含的符号

服务器jvmlinuxwindows 2023-10-12 07:10:06 516人浏览 安东尼
摘要

目录 题目 1.首先需要有一个flex.exe文件  2.在这个文件中写.l文件 3.win+r打开cmd命令 (1)进入flex.exe文件所在文件夹 (2)使用dir命令查看目录中的文件  4.生成lex.yy.c文件  5.生成lex

目录

题目

1.首先需要有一个flex.exe文件

 2.在这个文件中写.l文件

3.win+r打开cmd命令

(1)进入flex.exe文件所在文件夹

(2)使用dir命令查看目录中的文件

 4.生成lex.yy.c文件

 5.生成lex.yy.exe文件

 (1)点击文件—>打开项目或文件

(2)选中lex.yy.c

(3)然后编译运行

(4)生成.exe文件

6.运行结果

(1)运行:输入 lex.yy

 (2)输入想要判断的运算式


题目

编写LEX文件:一个能识别所有运算式中包含的符号:数字(0-9)+,变量(a-zA-Z)+,运算符:“+,-,*,/,(,)”。

 如输入(a+10)*b,输出:
   OPERATER:(
   Word:a
   OPERATER:+
   NUMBER:10
   OPERATER:)
   OPERATER:*
   WORD:b

1.首先需要有一个flex.exe文件

文件下载地址:

https://d0.ananas.chaoxing.com/download/d2d4fa63ad12b418b4750789a2f96ba2?at_=1665644185600&ak_=1a25479acd5967964e64a90cef0d0be9&ad_=befeb3e6dd0f4e91ed144cd992d9585a&fn=flex-2.5.4a-1

 2.在这个文件中写.l文件

%option mainDIgit [0-9]+WORD [a-zA-Z]+OPT ("+"|"-"|"*"|"/"|"("|")")%%{DIGIT} {printf("NUMBER:%s\n",yytext);}{WORD} {printf("WORD:%s\n",yytext);}{OPT} {printf("OPERATER:%s\n",yytext);}. {}%%

3.win+r打开cmd命令

(1)进入flex.exe文件所在文件夹

命令框直接输入 E:(进入E盘)

然后使用cd命令进入该文件夹

(2)使用dir命令查看目录中的文件

确保有flex.exe和.l文件

 4.生成lex.yy.c文件

在命令框中输入:flex homework1.l

返回文件夹中即可看到生成了lex.yy.c文件

 5.生成lex.yy.exe文件

这里我们需要用编译器编译运行一下(我用的是Dev-c++,联想商店可下载)

 (1)点击文件—>打开项目或文件

(2)选中lex.yy.c

根据刚刚的文件路径找到文件

(3)然后编译运行

(可以直接按f9)

(4)生成.exe文件

6.运行结果

(1)运行:输入 lex.yy

 (2)输入想要判断的运算式

例:(a+10)*b

 

 此题结束。

来源地址:https://blog.csdn.net/m0_59052131/article/details/127307630

--结束END--

本文标题: 编译原理——编写LEX文件:一个能识别所有运算式中包含的符号

本文链接: https://lsjlt.com/news/429130.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作