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的使用相关推荐

  1. windows下yacc和lex开发环境配置(Parser Generator篇)

    1.下载安装 Parser Generator是Windows下YACC和LEX的实现,是由英国Bumble-Bee Software公司开发. 下载地址http://www.bumblebeesof ...

  2. Windows下使用Lex和Yacc

    Windows下使用Lex和Yacc多种多样,简单罗列如下:      1.Cygwin     Cygwin是Windows平台上运行的unix/linux模拟环境,由Cygnus Solution ...

  3. Windows 7下配置Lex和Yacc

    Blueve 湛蓝 搜索 主菜单 跳至内容 BlogShelf 漫话人生 动手动脑 学习记录 计算机 心理学 开发探索 心情札记 我听音乐 随拍小记 Plan AboutMe FeedMeChocol ...

  4. Windows下安装lex(flex)与yacc(bison)

    上完第一节编译原理,Mr李要求这周自己探索一下lex和yacc这两个工具. 查了一下lex与yacc是两个在Unix下的分别作词法分析和语法分析的工具,都说很强大.而他俩在linux下又有对应的东西叫 ...

  5. 手把手教程-lex与yacc/flex与bison入门(一)(使用windows环境)

    前言 1.文章诞生的契机 在计算机学习中,我们有时可能会想到自制一门属于自己的编程语言,此时选择lex与yacc来生成词法分析器与语法分析器是非常不错的选择.然而,这两个工具虽然用起来简单,但对于新手 ...

  6. Flex和Bison简介和Windows下使用入门

    flex用作词法分析,而bison用作语法分析.词法分析把输入分解成一个个有意义的词块,称作token:语法分析则确定这些词块彼此之间如何关联(使用语法树表达). Flex可生成词法分析器:Bison ...

  7. lex和yacc环境配置

    lex和yacc的使用很简单,但环境配置却是各种问题,本章说明lex和yacc在windows下的环境配置. 软件需求: 系统 win7-64位(win7-32, win8, win10全部通过) c ...

  8. LEX和YACC的使用(例子)

    1.简单C语言的词法分析程序; %{ #include<stdio.h> #include<stdlib.h> #include<ctype.h> #include ...

  9. windows下bison安装使用

    windows下bison安装使用 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/51100524 GNU bison 是属于  ...

最新文章

  1. linux vim 基本操作
  2. 索引与联合索引使用注意
  3. 在Linux上使用AFL对Stagefright进行模糊测试
  4. k8s 使用helm部署dashboard
  5. pthread_create函数 参数不匹配的问题
  6. 无线对讲调度服务器,无线对讲系统解决方案
  7. 向量、矩阵、张量知识
  8. 阶梯英语培训学校致家长书
  9. 如何按照页面载入进度制作进度条??
  10. 决策树系列(二)——剪枝
  11. php 连接 mysql 8.0
  12. Seven languages in seven weeks (notes on Scala)
  13. 在c语言中 fb abs是什么,abs()在c语言里表示什么意思?它是库函数吗?
  14. linux免费邮件服务器,Linux 电子邮件服务器的搭建
  15. 【冬瓜哥雄文】高端存储系统江湖风云录!
  16. 技术管理之巅-如何从零打造高质效互联网技术团队?
  17. 相机镜头光学中的一些疑难问题的解释
  18. ffmpeg 无损 剪切 分割 视频
  19. PHP的_FILE_用法
  20. java-net-php-python-jspm高校社团管理系统计算机毕业设计程序

热门文章

  1. python手机代码识别数字_python实现kNN算法识别手写体数字的示例代码
  2. linux haproxy 脚本,haproxy部署脚本
  3. 线性回归 linear regression
  4. 【赠书】深入浅出embedding:原理解析与应用实践
  5. 全球及中国医养结合产业发展战略建议与投资价值评估报告2022版
  6. 全球及中国再生橡胶产业发展动态及十四五运营状况分析报告2021版
  7. 中国牡蛎碳酸钙市场需求现状调研及十四五投资风险评估报告2022-2028年版
  8. 文件加密问题(中文字符)
  9. 京东云上集市谋定中国农民丰收节交易会 建九江电商产业园
  10. maven出现:Failed to execute goal on project ...: Could not resolve dependencies for project ...