Windows下lex 与 yacc的使用
Windows下lex 与 yacc的使用
首先
下载下载flex和bison。网址是http://pan.baidu.com/s/1dDlfiW5
选择下载就好了,下载后解压到你电脑中的任一盘中。找到这个文件夹就行了。
然后里面就是这样:
打开flex
打开bison
至此万事俱备,我们可以开始两个简单的文件来测试一下。
1.新建文本文件,更改名称为lex.l,敲入下面代码
%{
int yywrap(void);
%}
%%
%%
int yywrap(void)
{
return 1;
}
2.新建文本文件,更改名称为yacc.y,敲入下面代码
%{
void yyerror(const char *s);
%}
%%
program:
;
%%
void yyerror(const char *s)
{
}
int main()
{
yyparse();
return 0;
}
我们暂且不讨论上面代码的意思。
打开控制台,进入到刚才所建立文件(lex.l,yacc.y)所在的文件夹。
1.输入 flex lex.l
2.输入 bison yacc.y
如果我们看到当前文件夹上多了两个文件(yacc.tab.c,lex.yy.c),那么说明lex&&yacc已经安装配置成功,接下来就好好享受这两个小工具的魅力吧。
现在我们来试用下lex:
1、新建文本文件,更改名称为a.lex,敲入下面代码-------词法分析器的源代码
%{
int wordCount = 0;
int numcount = 0;
%}
chars [A-Za-z\_\'\.\"]
numbers ([0-9])+
delim [" "\n\t]
whitespace {delim}+
words {chars}+
%%
while {ECHO; printf("%s\n",yytext);}
{words} { wordCount++;
/* increase the word count by one*/ }
{whitespace} { /* do nothing*/ }
([0-9])+ { numcount++; /* one may want to add some processing here*/ }
%%
void main()
{
printf("ok1\n");
yylex(); /* start the analysis*/
printf("ok2\n");
printf(" No of words: %d\n number: %d\n", wordCount, numcount);
return 0;
}
int yywrap()
{
return1;
}
3、打开菜单,运行,输入cmd。
输入:cd 文件夹路径
输入:flex a.lex 回车后生成一个 lex.yy.c文件
4.然后这个lex.yy.c文件打开并编译一下就行了。
5.输入测试代码
asd asdf 23 q
a1
b2
!#@
while
运行看看就行了。
致谢
笃行者------lex&yacc安装配置 http://blog.csdn.net/bedusing/article/details/5409495
转载于:https://www.cnblogs.com/MouTou/p/5574846.html
Windows下lex 与 yacc的使用相关推荐
- windows下yacc和lex开发环境配置(Parser Generator篇)
1.下载安装 Parser Generator是Windows下YACC和LEX的实现,是由英国Bumble-Bee Software公司开发. 下载地址http://www.bumblebeesof ...
- Windows下使用Lex和Yacc
Windows下使用Lex和Yacc多种多样,简单罗列如下: 1.Cygwin Cygwin是Windows平台上运行的unix/linux模拟环境,由Cygnus Solution ...
- Windows 7下配置Lex和Yacc
Blueve 湛蓝 搜索 主菜单 跳至内容 BlogShelf 漫话人生 动手动脑 学习记录 计算机 心理学 开发探索 心情札记 我听音乐 随拍小记 Plan AboutMe FeedMeChocol ...
- Windows下安装lex(flex)与yacc(bison)
上完第一节编译原理,Mr李要求这周自己探索一下lex和yacc这两个工具. 查了一下lex与yacc是两个在Unix下的分别作词法分析和语法分析的工具,都说很强大.而他俩在linux下又有对应的东西叫 ...
- 手把手教程-lex与yacc/flex与bison入门(一)(使用windows环境)
前言 1.文章诞生的契机 在计算机学习中,我们有时可能会想到自制一门属于自己的编程语言,此时选择lex与yacc来生成词法分析器与语法分析器是非常不错的选择.然而,这两个工具虽然用起来简单,但对于新手 ...
- Flex和Bison简介和Windows下使用入门
flex用作词法分析,而bison用作语法分析.词法分析把输入分解成一个个有意义的词块,称作token:语法分析则确定这些词块彼此之间如何关联(使用语法树表达). Flex可生成词法分析器:Bison ...
- lex和yacc环境配置
lex和yacc的使用很简单,但环境配置却是各种问题,本章说明lex和yacc在windows下的环境配置. 软件需求: 系统 win7-64位(win7-32, win8, win10全部通过) c ...
- LEX和YACC的使用(例子)
1.简单C语言的词法分析程序; %{ #include<stdio.h> #include<stdlib.h> #include<ctype.h> #include ...
- windows下bison安装使用
windows下bison安装使用 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/51100524 GNU bison 是属于 ...
最新文章
- linux vim 基本操作
- 索引与联合索引使用注意
- 在Linux上使用AFL对Stagefright进行模糊测试
- k8s 使用helm部署dashboard
- pthread_create函数 参数不匹配的问题
- 无线对讲调度服务器,无线对讲系统解决方案
- 向量、矩阵、张量知识
- 阶梯英语培训学校致家长书
- 如何按照页面载入进度制作进度条??
- 决策树系列(二)——剪枝
- php 连接 mysql 8.0
- Seven languages in seven weeks (notes on Scala)
- 在c语言中 fb abs是什么,abs()在c语言里表示什么意思?它是库函数吗?
- linux免费邮件服务器,Linux 电子邮件服务器的搭建
- 【冬瓜哥雄文】高端存储系统江湖风云录!
- 技术管理之巅-如何从零打造高质效互联网技术团队?
- 相机镜头光学中的一些疑难问题的解释
- ffmpeg 无损 剪切 分割 视频
- PHP的_FILE_用法
- java-net-php-python-jspm高校社团管理系统计算机毕业设计程序
热门文章
- python手机代码识别数字_python实现kNN算法识别手写体数字的示例代码
- linux haproxy 脚本,haproxy部署脚本
- 线性回归 linear regression
- 【赠书】深入浅出embedding:原理解析与应用实践
- 全球及中国医养结合产业发展战略建议与投资价值评估报告2022版
- 全球及中国再生橡胶产业发展动态及十四五运营状况分析报告2021版
- 中国牡蛎碳酸钙市场需求现状调研及十四五投资风险评估报告2022-2028年版
- 文件加密问题(中文字符)
- 京东云上集市谋定中国农民丰收节交易会 建九江电商产业园
- maven出现:Failed to execute goal on project ...: Could not resolve dependencies for project ...