`
miyazaki
  • 浏览: 18238 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

YACC工具ParserGenerator的下载和配置过程

阅读更多

工具准备
parser generator:

http://www.bumblebeesoftware.com/downloads.htm

VC6.0:网上到处都是。


(1)parser generator的环境设置

安装好parser generator,打开集成开发环境,点项目Project菜单,在下拉菜单中选LibBuilder,弹出ibBuilder对话框选择属性按钮,弹出compiler properties 对话框:
Name 选择Visual C++ (32-bit)

Directory :msvc32
options:

依次为 vc++版本(Versoin 6)
是否支持unicode码。(选择默认)
是否把w_char_t作为内建类型。(选择默认)

下边是VC的各种目录:
依次为
Compiler Bin Directory

(D:\Visual C++\VC98\BIN)

Compiler Bin Directory

(D:\Visual C++\COMMON\MSDEV98\BIN)

Compiler Include Directory

(D:\Visual C++\VC98\INCLUDE)

Compiler Include Directory

(D:\Visual C++\VC98\MFC\INCLUDE)

Compiler Library Directory

(D:\Visual C++\VC98\LIB)

Compiler Library Directory

(D:\Visual C++\VC98\MFC\LIB)

注意:编译器安装目录根据个人安装目录需要做相应的调整("D:\Visual C++"为你的C++编译器的安装目录)。所有的这些设置完成之后点ok。

返回LibBuilder。点Build就可以编译vc++使用的lex与yacc的lib库。

生成库文件在软件安装目录下 C:\Program Files\Parser Generator 2\Cpp\Lib\msvc32

(二)vc++环境的设置

1.目录设置

为了在VC++中可以找到包含文件yacc.h和lex.h以及YACC和Lex的库文件,需要对VC++进行相关的目录设置
(1) 选择Tools菜单中的Options命令,打开Options对话框。
(2)选择Directories选项卡。
(3)在Show Directories for下拉列表框中选择Include Files。
在Directories框中,点击最后的空目录,并填入 C:\Program Files\Parser Generator2\CPP\INCLUDE(根据个人安装目录需要做相应的调整)
(4) 在Show Directories for下拉列表框中选择Library Files。
在Directories框中,点击最后的空目录,并填入C:\Program Files\Parser Generator2\CPP\LIB\MSVC32
(5) 在Show Directories for下拉列表框中选择Source Files。
在Directories框中,点击最后的空目录,并填入C:\Program Files\Parser Generator2\CPP\SOURCE
(6) 点击OK按钮,Options对话框将接受设置并关闭。

2.项目设置
对于每个VC++项目,都需在VC++中进行以下设置,以使VC++可以从特定的库中接受LEX和YACC所需要的函数和变量
(1)选择Project菜单中的Settings命令,打开Project Settings对话框。
(2)在Settings for下拉列表框中选择Win32 Debug。
(3)选择C/C++选项卡, 在Category下拉列表框中选择General。
在Preprocessor Definitions框中,在当前文本的最后,输入 ,YYDEBUG

(4)选择Link选项卡,在Category下拉列表框中选择General。
在Object/Library Modules框中,在当前文本的后面,输入yld.lib
(5)在Settings for下拉列表框中选择Win32 Release。
(6)重复第4步的工作。
(7)点击OK按钮,Project Settings对话框设置完毕。

这样设置之后我们就可以用vc++编译Parser Generator 生成的c文件了。具体为:
先打开Parser Generator 集成开发环境。点击Project菜单,点击下拉菜单中的ParseWizard菜单,一路下去建立一个工程。然后点击project菜单下的的Rebuild All。在项目文件夹下就生成了相应c文件与h文件。
再用VC++建立一个空控制台工程,然后把用用Parser Generator
生成的c文件和头文件加入工程中。接着对VC++进行上面所说的项目设置,然后就可以编译运行了。新手可以使用parser generator 自带的范例,这样方便检验环境的配置是否正确.

分享到:
评论

相关推荐

    yacc+lex+ParserGenerator+VC6(MFC)动态解析VC资源文件并运行对话框

    此外,这个过程也有助于开发者理解yacc、lex、ParserGenerator工具的使用,以及MFC框架下对话框的构建和管理机制。 本项目提供的源代码包括了ResizeEd项目的多个组件,如ResizeCtrl.cpp、ResizeEdView.cpp等,这些...

    Parser Generator

    在Windows环境下,为了方便地使用Yacc和Lex,往往需要一个集成交互环境,这个环境可能包含了一些额外的工具和库,以支持这两种工具的运行和调试。ParGen.exe可能就是这样一个集成环境,它提供了图形化的界面或者...

    ParGen-VC设置

    **ParserGenerator** 是一个基于Windows平台的YACC和LEX实现工具,它包括了图形用户界面,并且支持AYACC和Alex两种工具。AYACC主要用于语法分析器的生成,而Alex则用于词法分析器的生成。这款工具非常适合与VC++进行...

    Python数据分析可视化-雷达图、箱型图

    绘制箱型图所用到的数据

    (源码)基于PythonFastAPI框架的桌面管理系统.zip

    # 基于PythonFastAPI框架的桌面管理系统 ## 项目简介 本项目是一个基于FastAPI框架搭建的桌面管理系统。它集成了Pydantic进行数据验证和类型安全保障,SQLAlchemy实现数据库操作,Dynaconf完成配置管理。系统涵盖用户管理、桌面管理、日志管理、数据库迁移、异常处理以及API测试等多个模块,能够为用户提供创建、查询、更新和删除桌面等功能。 ## 项目的主要特性和功能 1. 用户管理支持用户的创建、获取、更新和删除操作,同时可对用户信息进行查询和修改。 2. 桌面管理实现桌面的基本信息和状态管理,包括创建、查询、更新和删除桌面。 3. 日志管理记录操作的详细信息、时间戳、用户信息和操作结果等,支持日志的查询和记录。 4. 数据库迁移利用Alembic库进行数据库迁移,可对数据库结构进行变更和版本控制。 5. 异常处理定义多个自定义异常类,处理特定错误情况,如身份验证失败、资源未找到等。

    房地产活动策划 -常州花博会 花的知识.pptx

    房地产活动策划 -常州花博会 花的知识.pptx

    代码库 - 标准版,面向个人开发人员的 Autumoon 代码库标准版

    面向个人开发人员的 Autumoon 代码库标准版。

    永磁同步电机无感FOC中非线性磁链观测器的设计与实现

    内容概要:本文详细介绍了基于非线性磁链观测器的永磁同步电机(PMSM)转子位置估计方法及其在无传感器磁场定向控制(FOC)中的应用。主要内容涵盖相电压重构、相位补偿、观测器离散化建模以及稳定性分析。文中提供了具体的MATLAB代码片段,展示了如何处理PWM开关噪声、优化相位补偿算法、选择合适的非线性增益,并确保系统的稳定性。此外,还讨论了将MATLAB代码移植到嵌入式平台(如STM32F4)的关键技术和注意事项。 适合人群:从事电机驱动控制系统设计的研发工程师和技术人员,尤其是对无传感器控制感兴趣的从业者。 使用场景及目标:适用于需要提高永磁同步电机在低速和零速工况下转子位置估计精度的应用场合,如家电、工业自动化等领域。目标是实现高精度的位置估计,减少对外部传感器的依赖,提升系统的鲁棒性和可靠性。 其他说明:文中提到的技术细节对于理解和实现高性能无传感器FOC控制至关重要。建议读者结合实际项目进行深入研究和实践,特别是在参数调整和稳定性验证方面。

    基于MATLAB的疲劳驾驶检测系统:从视频处理到GUI界面的完整实现

    内容概要:本文详细介绍了一种基于MATLAB的疲劳驾驶检测系统的实现过程。该系统通过计算机视觉和数字图像处理技术,从视频处理开始,逐步实现了视频分帧、有效区域提取、人脸定位、人眼区域分割、二值化处理、边缘提取、去噪、闭眼率计算等功能,并最终通过GUI界面展示了检测结果。系统的核心在于通过对驾驶员的眼睛状态进行监测,从而及时发现疲劳驾驶现象,提高道路安全性。 适合人群:对计算机视觉、图像处理感兴趣的开发者和技术爱好者,尤其是有一定MATLAB基础的研究人员。 使用场景及目标:适用于交通安全管理领域,旨在通过监控驾驶员的眼睛状态,预防因疲劳驾驶引发的交通事故。具体应用场景包括但不限于长途运输、出租车管理、私家车安全辅助等。 其他说明:文中提供了详细的代码示例和优化技巧,如使用行列投影法分割人眼区域、采用自适应阈值进行二值化处理等。此外,系统还具备良好的可扩展性,支持远程调试和运行,能够根据实际需求灵活添加新功能。

    (源码)基于Qt框架的Qt Designer插件封装工具.zip

    # 基于Qt框架的Qt Designer插件封装工具 ## 项目简介 本项目是一个使用Qt框架开发的Qt Designer插件封装工具。它允许Qt开发者将自定义组件封装为Qt Designer插件,使得这些自定义组件能够像Qt基础组件一样在Qt Designer中直接使用。该工具提供了一套简单明了的流程,帮助开发者轻松地将自定义组件封装为Qt Designer插件。 ## 项目的主要特性和功能 1. 封装自定义组件工具支持将已开发的自定义组件封装为Qt Designer插件,使这些组件能够在Qt Designer中直接使用。 2. 支持多种Qt组件类型工具支持各种Qt组件类型,如按钮、文本框、滑块等,以及其他自定义类型的组件。 3. 自定义组件管理工具提供了一个友好的界面,用于管理已封装的自定义组件,包括添加、编辑和删除组件。 4. 生成插件代码工具自动生成Qt Designer插件所需的代码和文件,包括必要的接口定义和代码实现。

    (源码)基于Spring Boot的翻译与语音合成系统.zip

    # 基于Spring Boot的翻译与语音合成系统 ## 项目简介 本项目是一个基于Spring Boot框架的翻译与语音合成系统,旨在通过调用百度翻译API实现多种语言的翻译功能,并支持将翻译结果进行语音朗读。系统还集成了用户登录和注册功能,使用户能够个性化使用翻译服务。 ## 项目的主要特性和功能 1. 翻译功能 支持多种语言的翻译,通过调用百度翻译API实现。 提供HTTP GET请求封装,方便与百度翻译API进行交互。 2. 语音合成 支持将翻译结果转换为语音输出,增强用户体验。 3. 用户管理 提供用户登录和注册功能,确保用户数据的安全性和个性化服务。 4. 安全性 使用MD5加密技术对敏感信息进行加密处理,确保数据传输的安全性。 ## 安装使用步骤 1. 复制项目 bash 2. 配置环境

    (源码)基于Arduino和蓝牙的智能小车控制系统.zip

    # 基于Arduino和蓝牙的智能小车控制系统 ## 项目简介 本项目是一个基于Arduino的智能小车控制系统,通过蓝牙模块HC06与Android应用进行通信,实现对小车的远程控制。用户可以通过Android应用上的按钮来控制小车的前进、后退、左转、右转和停止。 ## 项目的主要特性和功能 远程控制通过Android应用实现对小车的远程控制。 蓝牙通信使用蓝牙模块HC06进行设备间的通信。 电机驱动采用L298N电机驱动模块控制小车的两个直流电机。 多功能控制支持前进、后退、左转、右转和停止等基本操作。 ## 安装使用步骤 1. 硬件组装 将所有组件安装在底盘上。 连接蓝牙模块HC06的VCC引脚到Arduino Uno的5V引脚。 连接蓝牙模块HC06的GND引脚到Arduino Uno的GND引脚。 连接蓝牙模块HC06的TXD引脚到Arduino Uno的数字引脚3。

    轴承动力学模型复现:基于Python的质心运动轨迹仿真与分析

    内容概要:本文详细介绍了如何使用Python复现轴承动力学模型,重点关注内圈质心运动轨迹的计算。首先解析了核心微分方程,特别是非线性赫兹接触力的计算方法。接着展示了如何通过自定义四阶龙格库塔法求解微分方程,并讨论了常见陷阱如绝对值和符号函数的处理。文中还提供了详细的参数设置指导,包括质量、刚度、阻尼系数等,并强调了无量纲化处理的重要性。最后,通过Matplotlib进行了结果可视化,展示了不同转速下的运动轨迹和接触力时域图,揭示了系统的周期性和混沌特征。 适合人群:机械工程专业学生、从事机械设备故障诊断的研究人员以及对非线性动力学感兴趣的工程师。 使用场景及目标:①用于教学,帮助学生理解轴承内部复杂的力学关系;②作为科研工具,辅助研究人员探索轴承的动力学特性及其故障机理;③为企业提供理论支持,优化轴承设计和维护策略。 其他说明:文中提供的完整代码已托管在GitHub上,方便读者下载和实验。建议读者从简单的参数调整入手,逐步深入理解模型的工作原理。

    (源码)基于ESP32的TinyCI Hub项目.zip

    # 基于ESP32的TinyCI Hub项目 ## 项目简介 TinyCI Hub(Tiny Communication Infrastructure Hub)是一个用于物联网(IoT)的中间件解决方案,旨在桥接IoT设备与Web平台之间的通信。通过高效地收集来自IoT设备传感器的数据,并将其传输到Web平台进行处理和分析,TinyCI Hub实现了边缘设备与Web平台的无缝连接。 ## 主要特性和功能 1. 设备发现通过扫描整个IP子网自动注册边缘设备到Hub,实现设备的自动发现和配置。 2. 配置管理允许用户通过MQTT协议对设备进行远程配置和管理。 3. 数据通信实现边缘设备与Web平台之间的数据通信,通过MQTT协议传输传感器数据。 4. WebSocket通信支持WebSocket协议,用于实时数据交互和通知。 ## 安装使用步骤 1. 下载源码下载并解压项目源码文件。 2. 硬件准备连接ESP32开发板,确保硬件要求满足项目需求。

    基于VSG并网控制系统的功率回路小信号建模分析及其Matlab Simulink实现

    内容概要:本文详细探讨了虚拟同步发电机(VSG)并网控制系统中小信号建模的重要性和具体实现方法。首先介绍了VSG技术在分布式发电和微电网领域的应用背景及其优势,强调了小信号建模对于评估系统稳定性和并网控制性能的基础作用。接着,通过具体的Matlab Simulink建模实例展示了如何构建VSG小信号模型,包括模型组件的选择、仿真参数的设定以及结果的分析与保存。文中还深入讨论了功率回路动态特性的线性化处理,特别是惯性时间和阻尼系数的影响,并提供了多个代码示例来辅助理解和实践。此外,文章分享了一些实用的经验技巧,如离散化控制器的设计、PWM载波频率与控制器采样率的匹配、阻抗扫描法的应用等。 适用人群:从事电力系统自动化、分布式能源管理和微电网技术研发的专业人士,尤其是对VSG技术和小信号建模感兴趣的工程师和技术研究人员。 使用场景及目标:①帮助读者掌握VSG并网控制系统的工作原理;②指导读者利用Matlab Simulink平台完成VSG小信号建模;③提高读者对VSG系统参数选择的理解,从而优化控制器设计。 其他说明:文章不仅提供了详细的理论推导和仿真案例,还结合实际操作中的常见问题给出了针对性的解决方案,旨在为相关领域的从业者提供全面的技术支持。

    Parallels Desktop 20

    mac 虚拟机

    (源码)基于Django框架的个人博客.zip

    # 基于Django框架的个人博客 ## 项目简介 这是一个基于Django框架的个人博客项目,旨在为用户提供一个简单易用的博客平台。项目包括后台管理界面和前台展示功能,使用MySQL数据库存储数据,并集成了CKEditor富文本编辑器,方便用户创建和编辑博客内容。 ## 项目的主要特性和功能 1. 博客创建与管理 通过后台管理界面创建、编辑和删除博客文章。 支持设置博客标题、内容、类型等信息。 管理博客类型和用户信息。 2. 博客浏览 用户可以通过前台页面浏览博客文章。 支持按类型、日期等分类查看博客文章。 3. 富文本编辑 使用CKEditor富文本编辑器,支持插入图片、链接等富文本内容。 4. 分页与排序 博客文章列表支持分页显示。 按创建时间降序排序。 ## 安装使用步骤 1. 安装依赖 确保已安装Python和Django。

    跨境电商2024年中国美妆个人护理跨境电商专题研究:行业趋势与亚马逊平台策略分析

    内容概要:报告深入分析了2024年中国美妆个护跨境电商的发展现状与趋势。首先,概述了中国美妆个护行业的总体趋势,指出2023年国内化妆品零售额达4142亿元,同比增长5.1%,出口额为65.1亿美元,同比增长16.7%。产业集群已形成,如上海的“东方美谷”和广州的“白云美湾”。其次,报告详细探讨了中国美妆个护外贸趋势,特别是出口市场和品类,广东省在出口中占据领先地位,出口额达22.8亿美元,占全国35%。再次,聚焦亚马逊平台,作为跨境电商的龙头,亚马逊拥有超过3.1亿活跃客户,占据美国市场37.6%的份额。报告还提到,2024年Q1亚马逊彩妆和身体护理产品快速占领榜单,基础护肤品类份额被挤占,产品均价略有下跌。最后,强调了品牌建设和渠道控制的重要性,建议商家注重品牌推广,如利用TikTok和线下活动进行营销。 适合人群:从事或关注美妆个护跨境电商的企业主、运营人员、市场营销人员以及相关研究人员。 使用场景及目标:①了解中国美妆个护行业的最新发展动态和出口趋势;②掌握亚马逊平台的市场表现和竞争格局;③学习品牌推广和渠道管理的最佳实践,以提高跨境电商的盈利能力。 其他说明:报告引用了大量权威数据和案例,提供了详实的参考依据,帮助从业者更好地把握市场机会并制定有效的营销策略。

    YTCC2102 多方位车距监测系统的设计与实现仿真

    题目:多方位车距监测系统的设计与实现 主控:STM32 显示:oled 超声波*4 声光报警 按键 功能: 1.实时显示相关数据 2.任意一个方向距离障碍物距离低于阈值,启动声光报警 3.阈值可以按键修改

    (源码)基于Thrift框架的游戏匹配系统.zip

    # 基于Thrift框架的游戏匹配系统 ## 项目简介 本项目是一个基于Thrift框架的游戏匹配系统,旨在实现高效的用户匹配和数据保存功能。系统分为三个主要部分游戏客户端、匹配系统服务端和保存服务端。通过Thrift实现跨语言的远程通信,确保系统的灵活性和扩展性。 ## 项目的主要特性和功能 1. 游戏客户端 提供用户接口,支持添加和删除用户操作。 通过Thrift与匹配系统服务端通信。 2. 匹配系统服务端 接收并处理来自游戏客户端的匹配请求。 管理用户池,当用户池中的用户数量达到匹配条件时,执行匹配操作。 匹配规则根据用户的匹配次数和分数差异进行匹配。 3. 保存服务端 接收匹配系统服务端发送的匹配结果。 调用远程服务器的接口,保存匹配数据。 ## 安装和使用步骤 ### 前提准备 安装Thrift编译器。 安装C++和Python的开发环境。

Global site tag (gtag.js) - Google Analytics