昨天我们开始设计了一门新语言,制定了基本的开发架构,今天我们就先来了解一下,两个非常好用的工具,编译器前端构建的神器——Lex&Yacc,这两个工具在linux下叫做flex和bison。Lex是词法分析器构建工具,我们安装对应的词法规则书写,那么就能够为我们生成对应的词法分析器,自动帮我们分好token,而分词工作,一直是编译系统的基础任务。我们今天,先来尝试编写一个BNF语法的解析器。...
分类:
编程语言 时间:
2015-04-14 19:45:31
阅读次数:
313
1. 编译环境 visual studio 2013 cmkake 3.1.3(注意版本,为了支持vs2013) bison 2.4.1 MySQL 5.6.232.安装cmake、bison注意可能需要把cmake和bison的bin目录添加到Path环境变量中 注意:bis...
分类:
数据库 时间:
2015-04-14 14:25:33
阅读次数:
259
Lex和Yacc是Unix下不错的词法分析器和语法分析器,在linux下,这两个工具被成为flex和bison,也是C++经常用来构建字符分析程序的工具。我们这里讨论一些其有趣的用法和注意的事项...
分类:
其他好文 时间:
2015-04-13 19:00:00
阅读次数:
161
关于Thrift文档化的确是做的不好。摸索了很久才终于把跨linux与windows跨C++与python语言的配置成功完成。以下是步骤:1) Linux下环境配置l 完成thrift所依赖的其他软件包的安装:Boost、libtool、libevent、bison、flex解压boost_1_55...
分类:
编程语言 时间:
2015-04-12 22:24:09
阅读次数:
236
编译一个linux下的c系统,包含词法和语法分析模块,Linux上用bison和 flex。yacc是一个文法分析器的生成器,bison即是yacc的GNU版本。Lex和YACC是用于构造词法分析机和语法解释器的工具,利用Lex和YACC你可以轻松的构造一个语法解释器。一开始make错误1:debi...
分类:
其他好文 时间:
2015-04-10 17:24:11
阅读次数:
131
前言:前段时间在网上看到腾讯后台开发总监bison分享的一篇文章《浅谈过载保护》,读来受益匪浅。刚好自己也在处理系统请求过载的问题,把自己的一些心得体会总结出来拿来与大家一起探讨。在bison的文章中谈到:对于延时敏感的服务,当外部请求超过系统处理能力,如果系统没有做相应保护,可能导致历史累计的超时...
分类:
其他好文 时间:
2015-04-03 13:22:04
阅读次数:
111
转自:项目总结之词法分析器无论是词法分析,还是语法分析,给我的第一感觉就是逻辑要严谨。由于项目有自己一套完整的语言和语法,设计好其对应的词法分析器和语法分析器显得尤为重要。 我们采用flex进行词法分析。flex是一个用来生成扫描器(scanners)的工具,其中扫描器就是可以识别文本中词法模式的程...
分类:
其他好文 时间:
2015-04-03 10:43:43
阅读次数:
174
QGis编译文档QGis的编译需要很多第三方的库和工具QGis依赖工具cmake跨平台的项目工程生成工具,使用它可以生成各个平台的工程文件flex & bison首先这是两非常牛逼的东西其次,他们总是在一起使用它们的前身是lex yacc,现在在unix下还是使用这两个,linux下使用flex b...
分类:
其他好文 时间:
2015-03-17 12:04:22
阅读次数:
448
实验要求:手工编译安装mysql数据库服务实验步骤:首先挂载并且建立yum仓库,查看yum有没有建好,在创建lamp文件然后把宿主机的LAMP共享文件夹挂载到lamp目录下将mysql归档包解压到/opt目录下安装gcc、gcc-c++、make、cmake(编译)、后面都是开发包ncurses-devel、bison、libaio..
分类:
数据库 时间:
2015-03-14 20:13:58
阅读次数:
260
实验将名为mysql的tar包解压缩到/opt下:确认安装了gcc,gcc-c++,make,cmke,ncurses-devel,bison,libaio-devel软件包,若没有安装使用RPM方式进行安装。安装完以上软件包后,创建名为mysql组,将创建系统用户mysql不登录系统添加到组mysql:递归创建安装程序路径目录:进入到解压..
分类:
数据库 时间:
2015-03-11 02:05:50
阅读次数:
221