编译原理实验(1) 开发环境的安装与配置

flex词法分析器的安装与配置

  1. 版本:使用的Flex分析器版本为2.5.4。

  2. 下载并使用安装程序安装。

  3. 进行环境变量的设置:
    此电脑–右键–属性–高级系统设置–环境变量
    在系统变量中找到PATH,将flex安装后的bin目录加入PATH;
    PATH变量的值

    找到CLASSPATH,将lib目录加入。
    CLASSPATH变量

    验证安装是否成功:
    在DOS命令窗口中查询flex版本号即可
    在这里插入图片描述

Bison的安装与配置

  1. 版本:2.4.1
  2. 下载并安装软件。
  3. 配置环境变量:步骤与Flex的环境变量配置完全相同。
    使用DOS命令窗口验证
    在这里插入图片描述

使用软件编译

新建一个文本文件test.txt,源代码为

%{
%{
#include <stdio.h>
%}
%%
stop printf("Stop command received\n");
start printf("Start command received\n");
%%int yywrap(void)
{  return 1;  
}int main(void)
{yylex();system("pause");
}

(这里源文件可以安装者自由编写,满足lex的语法即可)
然后更改文件的后缀为.l,得到文件test.l
使用DOS命令窗口,进入到源文件的目录下,使用flex命令编译源文件
在这里插入图片描述
编译结束后可发现目录下生成了lex.yy.c文件。
在这里插入图片描述
注意:生成C文件后,可以直接使用dev-c++之类的IDE对C文件进行编译得到可执行文件。
但若想使用DOS命令编译,首先要把flex的lib目录下的libfl.a文件与liby.a文件复制到已安装的MINGW编译器的lib目录下。如果MINGW编译器是封装在IDE中的,那么还要在环境变量PATH中加入MINGW编译器的lib目录。
在这些工作做完后,在DOS窗口对C文件进行编译。命令如下图,注意一定要加-lfl参数
在这里插入图片描述
编译后,可以发现在C文件所在目录下生成了可执行文件。
在这里插入图片描述
并且程序可以作为词法分析器正常运行。

Win flex-bison—另一种选择

在UNIX,LINUX系统下,使用lex & yacc 或 flex & bison 工具组合不需要以上繁琐的配置过程,但在WINDOWS环境下通常需要安装MINGW编译器并且进行繁琐的配置过程。Win flex-bison 提供了 flex bison for Windows 的另一种移植。
下载压缩文件并解压到一个文件夹中,然后把当前的文件目录加入PATH环境变量。
在这里插入图片描述
在这里插入图片描述
通过DOS命令窗口判断是否配置成功。配置成功如下图:
在这里插入图片描述

Win flex-bison主要与Visual Studio一起使用,所以接下来使用一个例子说明如何使用VS2019来做开发。
首先使用VS来创建一个空项目,给它命名为WinFlexTest
1.配置依赖项
项目管理器-右键-生成依赖项-生成自定义
在这里插入图片描述
在这里插入图片描述
查找现有的–选择安装文件中的win_flex_bison_custom_build.targets
在这里插入图片描述
然后勾选该文件并确认
在这里插入图片描述

2.修改可执行文件目录
右键项目–属性–VC++目录
在这里插入图片描述
把win flex-bison的安装目录加入该项目的可执行文件目录
在这里插入图片描述
在这里插入图片描述
确认–应用

3.新建一个 .l 文件
项目右键–添加–新建项
在这里插入图片描述
在这里插入图片描述
代码还是上面使用的。

4.生成–生成解决方案
生成解决方案后,可以在项目目录中发现生成了CPP文件。
在这里插入图片描述
5.添加源文件。
上一步只是生成了词法分析器的C文件,我们要把该文件加入项目。
在这里插入图片描述
添加完毕后对源文件编译运行即可,程序如下:
在这里插入图片描述

开发环境的安装配置部分完结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/36619.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Eclipse:使用Eclipse创建一个Java小练习项目

1、创建工程 就是说现在创建的工程是符合java的工程&#xff0c;而我们创建的是JAVAEE的工程&#xff0c;要不要使用java的透视图&#xff0c;这里选择 NO:https://blog.csdn.net/weixin_63610637/article/details/125099915?spm1001.2014.3001.5501http://这里选择yes的&…

反垃圾邮件网关工作原理-Coremail带你了解杰创智能如何使用邮件网关安全升级

杰创智能科技股份有限公司&#xff08;以下简称杰创智能)成立于2008年&#xff0c;于2022年在深交所创业板挂牌上市。 公司采用广州、北京双总部运作模式&#xff0c;在全国范围内设立近30家分支机构&#xff0c;业务覆盖全国辐射全球。 随着杰创智能业务的飞速发展&#xff0…

零代码编程:用ChatGPT打造小宇宙播客下载软件2.0

之前用ChatGPT写了一个简单的小宇宙播客下载应用&#xff0c;但是实际使用一段时间后&#xff0c;发现有几个问题&#xff0c;比如&#xff1a;如果文件名中有一些特殊符号&#xff0c;下载不成功&#xff1b;有些m4a格式的也下载不成功&#xff1b;文件大下载的慢&#xff1b;…

零代码编程:用ChatGPT批量下载播客音频文件

国外有很多优质的播客podcast资源&#xff0c;且都是可以免费下载的。 比如&#xff0c;我们想下载ChatGPT相关的播客。可以先打开播客搜索网站&#xff1a;https://podnews.net/ 在搜索框里面输入&#xff1a;ChatGPT&#xff0c;上面是stories&#xff0c;往下拉一下&#x…

流量玩家必看,微信问一问轻松获取200+引流秘籍

最近&#xff0c;微信推出了全新的“问一问”功能&#xff0c;为流量玩家带来了巨大的流量红利。这一新的流量入口势必成为流量玩家们追逐的热门目标。 “问一问”可以被视为一个问答型平台&#xff0c;可以简单理解为“微信版的知乎”。熟悉在知乎上进行问答引流的人都知道&am…

DNSPod十问林洪祥:顶级带货主播,其实是数字人?

本期嘉宾 林洪祥 风平智能CEO 林洪祥&#xff0c;风平智能CEO。风平智能拥有全球领先的数字人AIGC预训练大模型技术&#xff0c;利用数字人AI知识大模型打造视频版ChatGPT&#xff0c;实现数字人名师、数字人医生、数字人保险客服、数字广告模特、数字人AI直播等&#xff0c;…

chatgpt赋能python:Python机器学习手册

Python机器学习手册 介绍 Python机器学习手册提供了从数据预处理到深度学习的全面指南。本手册适合有一定Python编程经验的工程师和数据科学家。 数据预处理 数据预处理是机器学习流程的重要一步&#xff0c;包括数据清洗、特征选择和数据转换等。Python提供了很多数据预处…

机器学习复习(下)

严正声明&#xff1a;本文的答案是ChatGPT的回答&#xff0c;仅供参考&#xff0c;不代表就是正确答案&#xff01;&#xff01;&#xff01; 9.什么是泛化误差和经验误差&#xff0c;是不是越小越好?为什么? 泛化误差&#xff1a;在“未来”样本上的误差 经验误差&#xff…

【回答问题】ChatGPT上线了!请使用C++语言写一个谷歌 LaMDA模型?

【回答问题】ChatGPT上线了!请使用C++语言写一个谷歌 LaMDA模型? 很高兴为您服务!您可以使用以下 C 语言代码来实现 Google LaMDA 模型: 复制 #include <stdio.h> #include <stdlib.h> #include <string.h>#define MAX

Edge解决默认Bing搜索跳转到国内版的问题

近期BingGPT申请通过以后&#xff0c;每次用PC端Edge去跳转的时候不管是否念Proxy咒都会进入国内版本Bing&#xff0c;排查得到默认Bing参数如下 因此&#xff0c;在edge://settings/searchEngines内添加搜索引擎&#xff0c;具体参数如下&#xff1a; 搜索引擎&#xff1a;必应…

微软Bing突然爆炸级更新!BingChat全面开放,下一代搜索要来啦!

夕小瑶科技说 分享 来源 | 量子位 作者 | 杨净 明敏 所有人都能上手微软Bing了&#xff01; 今天&#xff0c;微软突然官宣全面开放BingChat&#xff1a; 无需任何等待。只需注册一个账户&#xff0c;首页即可体验。 更关键的是&#xff0c;还有一大堆堪称“家底”的新功能来…

ChatGPT 让 Python 爬虫再次伟大!

ChatGPT 的爆火改变了很多东西&#xff0c;就与多年前移动互联网的普及一样&#xff0c;我们正处于 AI 改变世界的前夜。 在 OpenAI 为其推出了 GPT-4 语言模型后&#xff0c;ChatGPT 的回答准确性有了极大提高&#xff0c;也具备了更高水平的识图能力&#xff0c;这让 ChatGPT…

程序员离开上海回农村会后悔吗?年薪50万,存款180万,想回老家建别墅,搞自媒体,过田园生活!

现代版的“归园田居”什么样&#xff1f; 来看一位网友的案例&#xff1a;想离开上海回农村建个别墅&#xff0c;会后悔吗&#xff1f; 1.想回去的原因&#xff1a;和老公在上海八年&#xff0c;觉得日子真没意思&#xff0c;我们都喜欢田园生活&#xff0c;互联网也不可能有…

花几万元报IT培训班,只为进入互联网大厂:有人年薪百万,有人黯然退场

俗话说&#xff0c;英雄不问出处。但在职场中&#xff0c;“出处”却是一个敏感的话题&#xff0c;是否拥有高学历、大厂背景&#xff0c;是否是科班出身&#xff0c;这些都是招聘方会考虑的重要因素。 程序员千千万万&#xff0c;出身也是五花八门&#xff0c;有人是985高校计…

AIGC热门技术岗平均年薪超百万,脉脉林凡认为白领可能先于蓝领失业

3月&#xff0c;国内外AIGC新品相继发布引发热议&#xff0c;AIGC的人才需求也更加旺盛。脉脉高聘人才智库近期发布《2023 AIGC人才趋势报告》&#xff0c;数据显示&#xff0c;AIGC人才供需结构性失衡&#xff0c;热招岗位偏技术岗位&#xff0c;以算法工程师、自然语言处理、…

一位失业的P9,以及他的四页半简历

前几天在脉脉上看到一个热帖&#xff0c;是刚从PDD毕业的P9级别员工吴可发的&#xff0c;同时附上了他的简历&#xff0c;这个简历很有意思&#xff0c;基本上和国内互联网这十多年来的发展步骤重叠&#xff0c;能够反映出&#xff0c;在这样一个跌宕起伏的时代里&#xff0c;个…

程序员想要年薪五十万,需要付出多少努力?

关 &#x1f381;福利&#x1f381; 全网最全《Python学习资料》免费赠送&#x1f193;&#xff01; 最近火热ChatGPT 等人工智能应用对 Python 编程语言产生了积极的影响&#xff0c;它推动了 Python 的普及和发展&#xff0c;在文本处理和 NLP 领域提升了 Python 的地位&…

Meta员工年薪高达 213 万元,反超谷歌成 top 1,网友:“还是别人家公司香!”...

整理 | 朱珂欣 出品 | CSDN程序人生&#xff08;ID&#xff1a;coder_life&#xff09; 硅谷寒冬之下&#xff0c;有人猜测科技公司会「降本增效」&#xff0c;在员工薪酬上精打细算。 出人意料的是&#xff0c;事实恰恰相反。 据《华尔街日报》最新报道&#xff0c;多家公司…

网传美团今年应届生年薪 35w+,严重倒挂老员工,为什么互联网大厂校招的薪资一年比一年高?

1 为什么薪资越来越高&#xff1f; 10月27日&#xff0c;“网传美团今年应届生年薪 35w&#xff0c;严重倒挂老员工&#xff0c;为什么互联网大厂校招的薪资一年比一年高&#xff1f;”话题&#xff0c;登上知乎热搜。 从网上信息来看&#xff0c;今年美团给2021届校招算法方…

夫妻双方都是大厂程序员,20年攒了一千万?!

最近网站上有这么一个帖子&#xff0c;话题一度引起了众多网友的关注。 发贴的人本身是一名程序员&#xff0c;刚刚从老家来到上海&#xff0c;想在这个城市扎根&#xff0c;但是靠自己目前的薪资买房还是有些困难&#xff0c;这让他不由的好奇&#xff0c;如果双方都是大厂程…