Abstract

在开发程序的过程中经常会遇到文本解析的问题,例如:解析 C 语言源程序,编写

脚本引擎等等,解决这种文本解析的方法有很多,一种方法就是自己手动用 C 或者 C++直接编写解析程序,这对于简单格式的文本信息来说,不会是什么问题,但是

对于稍微复杂一点的文本信息的解析来说,手工编写解析器将会是一件漫长痛苦 而容易出错的事情。本系列文档就是专门用来由浅入深的介绍两个有名的

Unix 工 具 Lex 和 Yacc,并会一步一步的详细解释如何用这两个工具来实现我们想要的任何 功能的解析程序,为了方便理解和应用,我会在该系列的文章中尽可能的采用具

体可行的实例来加以阐释,而且这种实例都是尽可能的和具体的系统平台无关的 ,因此我采用命令行程序作为我们的解析程序的最终结果。

1 环境配置篇

1.1 必备工具(备注:所需工具均在我的资源文件中可找到)

Windows平台下面Lex 和Yacc开发环境所需要安装的程序:

(1)Lex(flex.exe)

(2)Yacc(bison.exe)

(3)C/C++编译器

1.2 flex和bison安装

flex.exe和bison.exe是UnxUtils包中的文件,已经将许多Unix/Linux平台的程序都移植到了Windows平台,可以直接到UnxUtils网站下载,下载解压缩之后在系统的PATH环境变量中增加UnxUtils所有的exe文件所在的目录,使

得DOS命令行可以直接搜索到flex.exe和bison.exe,除此之外还需要从网络上下载 bison需要的bison.simple和bison.hairy两个文件,并且还要分别设置环境变量

BISON_HAIRY指向bison.hairy,BISON_SIMPLE指向bison.simple。

然后,打开cmd检查是否安装成功,如下图所示:

1.3 C/C++编译器

我们使用的flex和bison都是GNU的工具,所以为了方便,采用的c/c++编译器也是GNU的编译器GCC,需要WINDOWS版的MinGW编译器,在可以到MinGW的主页下载安装。

安装完毕后,将MinGW下的bin目录添加到系统环境变量的Path中。

配置完毕。

20140613_JavaWeb学习之开发环境配置篇

本文所使用软件百度云盘网址:http://pan.baidu.com/s/1kTDRFwz 1安装JDK 操作系统:windows7-64bit 版本号:jdk-7u51-windows-x64 安装 ...

.net core 学习小结之环境配置篇

安装IIs对 netcore 的支持 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/aspnet-core-mod ...

Qt5学习笔记(1)-环境配置(win+64bit+VS2013)

Qt5学习笔记(1)-环境配置 工欲善其事必先-不装-所以装软件 久不露面,赶紧打下酱油. 下载 地址:http://download.qt.io/ 这个小网页就可以下载到跟Qt有关的几乎所有大部分东 ...

Zend Framework学习日记(1)--环境搭建篇(转)

Zend Framework学习日记(1)--环境搭建篇 (1)开发工具 Zend Framework框架:http://framework.zend.com/download/latest 包含2个 ...

servlet:从入门到实战学习(1)---全·环境配置

最近公司忙加班学习,学校忙助教工作,博客鸽了好久,后端学习工作过程中学了好多东西,趁着工作之余得空补补博客,算是整理下学习的东西. javaweb的后端研发需要学习的是tomcat+servlet+j ...

JMeter学习-038-JMeter Linux 环境配置

1.1.下载 Download URL:http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-3.0.tg ...

【lua学习笔记】——环境配置

1 开发平台 windows7 64位 2 下载链接 http://www.lua.org/download.html 3 安装完成-环境配置 4  运行 WIN+R 运行 cmd 运行lua,显示配 ...

OpenCV2.4.9 & Visual Studio 2010 环境配置篇

1. 准备工作 1.1. 安装 Visual Studio 2010, 需要安装 VC++ 相关功能.具体可求助度娘. 1.2. 下载 OpenCV 2.4.9 For Windows:https:/ ...

Android开发之环境配置篇

Android环境配置: 一.JDK(不用安装) 1.拷贝 D:\Java\jdk1.8.0_91 文件内容 2. 安卓ADT ADT(Android Development Tools):安装ADT ...

随机推荐

程序中使用ajax时,type为put,或者delete时在 IIS上没效果,发生HTTP Error 405.0 - Method Not Allowed

其实使用put delete  是在创建webapi中基本才会使用. WebDAV 是超文本传输协议 (HTTP) 的一组扩展,为 Internet 上计算机之间的编辑和文件管理提供了标准.利用这个协 ...

keil中的串口调试:

keil中串口的虚拟调试信息在通过View-serial windows-#usart1/2/3/4/debug(printf)可以看到.当然也可以通过虚拟串口VSPD+串口调试助手在外部实现,方法如 ...

C# 操作数据库的几种方式(数据库使用SQL SERVER2008)

一:通过常规 T-SQL 语句 (只写删除操作,其他同理) string strConn = ConfigurationManager.ConnectionStrings["SiteConn ...

子查询解嵌套in改写为exists

SELECT * FROM (SELECT pubformdat0_.id id332_, pubformdat0_.domain_id domain2_332_, pubformdat0_.proc ...

map的类型映射

以下是使用STL中map类型,对类型的转换示例,主要可以解决的问题,也就是一般的类型之间的相互转换,可以较好的解决相关的问题. 以下是C++源码,比较简短,容易理解的. #include " ...

Codis分布式锁

近期一项需求需要使用分布式锁,考虑的方案主要有如下两种: zookeeper codis 因为对于zookeeper不是特别熟悉,因此选用了codis,Codis是一个分布式的Redis解决方案,从应 ...

恶意软件Mirai换了个马甲 瞄上我国2亿多台IoT设备

恶意软件Mirai换了个马甲 瞄上我国2亿多台IoT设备   想要起来时,一种沉重感阻碍着他,这是一种安全感:感觉到一张床为他铺好了,而且只属于他:想要静卧时,一种不安阻碍着他,把他从床上赶起来,这是 ...

SV coverage

covergroup是对coverage model的一种包装,每个covergroup可以包含: 1) sync event来触发采样, 2) 很多coverpoint, 3) cross cove ...

add-binary 字符串操作,二进制字符串相加

Given two binary strings, return their sum (also a binary string). For example,a ="11"b =& ...

[转]同一个tomcat不同项目的session共享问题

问题描述: session常常用来存储一些公共信息供不同页面访问,比如用户登录信息.访问同一个tomcat下的不同项目所创建的session是不一样的.自然地面临了如何共享session的问题. 解决 ...

lex编译dos命令_Lex与Yacc学习(一)之环境配置篇相关推荐

  1. lex编译dos命令_lex.yy.c如何运行

    ? FLEX 1.L 3.运行 FLEX 后,产生"LEXYY.C"程序 4 .用 VC 打开"LEXYY.C" 程序,编译后产生"LEXYY.EXE ...

  2. lex编译dos命令_微软新的命令行工具:Windows Terminal

    Windows Terminal 是微软为 Windows 操作系统打造的新的命令行工具.这款命令行实际上是一款集合形命令行工具,支持 PowerShell.CMD 以及 WSL. Windows T ...

  3. 计算机要点概述+交互方式+基本的dos命令+文本文件和字符集+进制转换+环境变量

    计算机要点概述+交互方式+基本的dos命令+文本文件和字符集+进制转换+环境变量 计算基本概念 计算机组成 计算机语言 计算机语言的发展 计算机语言的两种分类 两种转换时机 常用的计算机语言 前端后端 ...

  4. openCV2学习笔记---1.环境配置

    openCV2学习笔记-1.环境配置 openCV 是开源的计算机视觉代码库,可以运行在Linux.Windows和Mac OS操作系统上.它轻量级而且高效--由一系列 C 函数和少量 C++ 类构成 ...

  5. 从零开始搭建深度学习服务器: 基础环境配置(Ubuntu + GTX 1080 TI + CUDA + cuDNN)

    从零开始搭建深度学习服务器: 基础环境配置(Ubuntu + GTX 1080 TI + CUDA + cuDNN) 首先先声明一下 这篇是转载来自  : 从零开始搭建深度学习服务器: 基础环境配置( ...

  6. 从零开始搭建一台深度学习服务器及环境配置

    从零开始搭建一台深度学习服务器及环境配置 服务器硬件 2019.12.12 系统安装 环境配置--现有最新版本 服务器硬件 2019.12.12 实验室需求,我找的配置,反正不用我花钱独享一台服务器 ...

  7. 一篇就够用了——深度学习Ubuntu16.04环境配置+Win10双系统

    一篇就够用了深度学习Ubuntu16.04环境配置 必看!此教程使用说明 [必备配置]基本环境配置 1.win10+ubuntu16.04双系统安装 2.ubuntu最重要的事--切换下载源 3.ub ...

  8. 常见Dos命令、Java历史、Java跨平台、配置Path环境变量、第一个HelloWorld例子

    文章目录 常见Dos命令.Java历史.Java跨平台 计算机基础 计算机 硬件和软件 硬件 软件 人机交互的方式: 常见的dos命令 Java简介 Java语言重要特性之跨平台 跨平台 Java的跨 ...

  9. Linux学习笔记之环境配置和常用管理命令

    一.环境配置 修改ip地址(略过) 1.网络通信命令 <1> ping 测试网络的连通性 ping 选项 IP地址 -c 指定发送次数 <2> ifconfig 查看和设置网卡 ...

最新文章

  1. js ==与===区别(两个等号与三个等号)
  2. 北京时间3月9日消息,据国外媒体报道
  3. 计算机信息管理相关课题论文,计算机信息管理课题论文[].doc
  4. CSS样式的使用(CSS选择器、CSS语法、CSS常见样式):
  5. Loadrunner基本概念解析一
  6. C#中的 Stream
  7. 活动目录集成区域DNS服务
  8. js获取html中type属性,JavaScript获取节点类型、节点名称和节点值
  9. Matlab绘制图像后在指定点绘制坐标线以及标注变量
  10. Ubuntu下网络调试助手 NetAssist(实际这个我启动不了)
  11. Mac上的免费数据库可视化工具:Sequel Pro
  12. 高频电子线路实验 02 - | 振荡电路与调幅检波
  13. Excel对比两列数据相似度函数
  14. zb怎么做渲染图_ZBrush渲染效果使用图文教程
  15. 仿朋友圈页面(超小白)
  16. web前端网页制作课作业:用DIV+CSS技术设计的静态网站【四大名著】中国传统文化主题题材设计
  17. python拼音怎么写-[编程心得]用Python给汉字加上带音调的拼音
  18. 使用Foxmail定制自己的邮件模板
  19. com.alibaba.dubbo.rpc.RpcException: No provider available from registry 127.0.0.1:2181 for..
  20. 抖音小程序可做类目--资讯

热门文章

  1. 蒂姆首次获得大师赛冠军,网友:新一代网球王子啊
  2. 作为编程爱好者的我,为什么痴迷于编程?
  3. 重生之我要学习C++_Day1
  4. POJ1151 Atlantis(线段树,扫描线,离散化,矩形面积并)
  5. compiling(compiling geometry就出现问题)
  6. Sysinternals系列工具之ZoomIt(电子教鞭)
  7. ForgeryNet 数据集论文个人阅读
  8. OC Extension QRCodeUtil(二维码转换封装)(源码)
  9. AttributeError: module ‘dill._dill‘ has no attribute ‘stack‘
  10. CSTR的RL控制器设计