相关推荐
-
基于yacc/lex描述的Delphi公式解析器源码.rar
用yacc/lex描述的一个Delphi公式解释执行类从及程序代码,支持部分标准函数及自定义函数。支持C中boolean?A:B格式。不过解析not/and/or还有点小问题。高手感兴趣的话,可以帮忙修正,本人水平有限,请不要拍砖。
-
Delphi与Lex、Yacc (一) 安装篇
google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//<script type="text/javascript"
-
Lex和Yacc应用方法(一).初识Lex
Lex(Lexical Analyzar 词法分析生成器),Yacc(Yet Another Compiler Compiler编译器代码生成器)是Unix下十分重要的词法分析,语法分析的工具。经常用于语言分析,公式编译等广泛领域。遗憾的是网上中文资料介绍不是过于简单,就是跳跃太大,入门参考意义并不大。本文通过循序渐进的例子,从0开始了解掌握Lex和Yacc的用法。 一.L
-
lex&yacc安装配置
lex Lex 是一种生成扫描器的工具。扫描器是一种识别文本中的词汇模式的程序。 一种匹配的常规表达式可能会包含相关的动作。这一动作可能还包括返回一个标记。 当 Lex 接收到文件或文本形式的输入时,它试图将文本与常规表达式进行匹配。 它一次读入一个输入字符,直到找到一个匹配的模式。 如果能够找到一个匹配的模式,Lex 就执行相关的动作(可能包括返回一个标记)。 另一方面,如果没有可
-
基于yacclex描述的Delphi公式解析器..rar
基于yacclex描述的Delphi公式解析器..rar
-
VC6.0+ParGen
Visual C++6.0和Parser Generator安装工具,编译原理上机实验可用
-
ParGen.zip
将lex和yacc文件转成c、c++文件 1. 启动Pargen程序,并选择Project->ParserWizard… 2. 选中ParserWizard,开始工程的创建,此处我创建功能,命名为Test,目录位置可自己选择,目标语言为C++,编译器为vc++(32-bit) 3. 选择是创建lex,还是yacc,还是两者兼有。此处我选择是lex和yacc都有,准备实现一个不支持变量的计算器,使用lex识别token,使用yacc识别语法 4. 设置yacc的文件名字以及使用的解析器,此处我使用的默认选项,不进行修改,文件名默认为myparser.y 5. 设置lex的文件名以及使用的分析器的名字,此处我使用的默认选项,文件名默认为mylexer.l 6. 点击完成按钮,创建工程完毕,同时有两个文件mylexer.l 和myparser.y
-
pargen.zip
这是我们编译原理所用软件
-
用YACC/LEX 设计计算机语言
woaidongmao 文章均收录自他人博客,但不喜标题前加-[转贴],因其丑陋,见谅!~ 随笔 - 1469, 文章 - 0, 评论 - 619, 引用 - 0 导航 C++博客首页新随笔联系聚合管理 2011年9月 > 日 一 二 三 四 五 六
-
centOS yacc lex
yacc command not found configure: error: Your operating system's lex is insufficient to compile libpcap. flex is a lex replacement that has many advantages, including being able to com
-
Lex和Yacc使用教程(九).Windows下使用Lex和Yacc
Lex和Yacc应用方法(九).Windows下使用Lex和Yacc草木瓜 20070904一、序 不想Lex和Yacc系列的最后一篇文章竟如此“难产”,已时隔三个月之久。不由慨叹自由可支配时间是如此之少,如此岂不谓新时代的“奴隶”~ 罢罢罢,闲话少叙,回归正题,本文主要介绍在Windows下如何去使用Lex和Yacc,以作为本系列文章的终结。 二、方法介绍
-
linux 下怎样安装使用 Yacc 和 Lex
安装过程参照以下步骤: 1、打开网址:www.tcpdump.org/ 下载 libpcap-1.0.0.tar.gz (512.0KB) 软件包,通过命令 tar zxvf libpcap-1.0.0.tar.gz 解压文件,并将其放入自定义的安装目录。 2、打开网址:flex.sourceforge.net/ 下载 flex-2.5.35.tar.gz (1.40MB) 软件包,通过 tar ...
-
bison(yacc)学习笔记
看matz的streem项目时对其中bison解析语法的几个地方有些不懂, 上网搜了些资料, 把这些记录下来.bison是啥就不多说了, 网上一搜一大堆. bison官方文档. 首先是这个用法 %union { node* nd; strm_id id; }%type <nd> program compstmt %type <nd> stmt expr condition block con
-
小白说编译原理lex和yacc环境配置-多图
转自:http://blog.csdn.net/lpstudy/article/details/51330063 lex和yacc的使用很简单,但环境配置却是各种问题,本章说明lex和yacc在windows下的环境配置。 软件需求: 系统 win7-64位(win7-32, win8, win10全部通过) c++编译器: vs2010(2008,2013,2015也全部通...
-
PGReg.exe注册码
ParGen.exe主要用于Yacc & Lex的Windows版的语法定制和解析器生成,可用于生成C/C++和JAVA语言为目标的解析器。如果没有注册则有30天的限制,它使用PReg.exe进行注册,序列号的前面是PGS或PGM,后面长度为5字节且为任意数字。破解的序列号不得用于商业用途,如有违反与我无关,特再此声明!
-
Lex Yacc (二) 语法树
语法树的应用 草木瓜 (四) 源码见百度云盘 详细讲解:草木鱼(四) input input i=0; while(i<=10){ print(i); i=i+1; } print(i+i);node.h node.h /* 定义树结点的权举类型 */ typedef enum { TYPE_CONTENT, TYPE_INDEX, TYPE_OP }
-
编译原理——Lex和yacc的安装
Lex和yacc的安装 Linux用户 Lex和Yacc可以直接从终端安装,命令: apt install flex bison 部分系统可能还需要手动安装 gcc 和 make 等工具,请自行测试。 安装完成后,在终端输入以下命令,若可以正确显示出版本号,则安装成功。 gcc --version lex --version yacc --version 如图所示:(图片来源网络)...
14 楼 fxsjy 2010-12-15 08:33
13 楼 fxsjy 2010-12-09 10:31
Redis的性能非常出色,每秒可以处理超过10万次读写操作。
设计思路不一样:
1. 首先,TreapDB没有使用应用级缓存,写入的索引数据立即刷到操作系统内核,至于内核何时刷入硬盘由操作系统决定(通常延时很小)。这一点更像是MongoDB。而真正的数据是以追加的方式进行,即使系统掉电,也不会损坏。我们现在正在实现由数据重新生成索引的功能,这样就算索引由于系统掉电坏掉了,也可以恢复。
2. Redis是内存受限的数据库,而TreapDB并不要求索引文件小于等于内存大小,落在内存映像范围内的数据访问速度很快,而超出内存映像的部分会直接读磁盘。所以,并不受限于内存大小,用户可以根据自己的实际情况来设置内存映像大小。
12 楼 leero 2010-12-09 09:25
Redis的性能非常出色,每秒可以处理超过10万次读写操作。
11 楼 fxsjy 2010-12-04 15:20
关于bdb的写,我曾经测试过普通Sata硬盘写,value为1k的情况下,5w/s是没有问题的
5w/s是在什么情况下测试的呢?我觉得和数据规模和插入的key的有序性有很大的关系。对于bdb,如果key是随机的,并且数量超过100万,在我的测试中达不到5w/s的。
所谓的key是随机的是相对于有序的情况,有序是指测试程序的key是一系列有顺序的值,比如thing10,thing11,thing12,thing13,thing14。这样的插入时,后插入的key在读索引时,基本都是命中内存中的cache了(占了前一个key的光),也就是所谓的locality很好。
首先,key随机与否对于写入效率基本没有什么影响,因为文件的写手append only的。其次,你所说的读key索引的问题,基本是说顺序读和随机读的问题了,但就写入来说,一秒几万是肯定没有问题的,我们已经在生产环境中使用。
ps:我说的是je的版本,而非c的版本
可能python自带的c版bdb和je-bdb不一样吧, 在python的bsddb模块中,如果是使用btree或hash模式的话,应该都是要改写索引的,append only的模式是新的feature吗?索引全load到内存中?
10 楼 fxsjy 2010-12-04 15:07
http://code.google.com/p/treapdb/source/detail?r=10
9 楼 forchenyun 2010-12-04 12:11
关于bdb的写,我曾经测试过普通Sata硬盘写,value为1k的情况下,5w/s是没有问题的
5w/s是在什么情况下测试的呢?我觉得和数据规模和插入的key的有序性有很大的关系。对于bdb,如果key是随机的,并且数量超过100万,在我的测试中达不到5w/s的。
所谓的key是随机的是相对于有序的情况,有序是指测试程序的key是一系列有顺序的值,比如thing10,thing11,thing12,thing13,thing14。这样的插入时,后插入的key在读索引时,基本都是命中内存中的cache了(占了前一个key的光),也就是所谓的locality很好。
首先,key随机与否对于写入效率基本没有什么影响,因为文件的写手append only的。其次,你所说的读key索引的问题,基本是说顺序读和随机读的问题了,但就写入来说,一秒几万是肯定没有问题的,我们已经在生产环境中使用。
ps:我说的是je的版本,而非c的版本
8 楼 fxsjy 2010-12-04 09:04
关于bdb的写,我曾经测试过普通Sata硬盘写,value为1k的情况下,5w/s是没有问题的
5w/s是在什么情况下测试的呢?我觉得和数据规模和插入的key的有序性有很大的关系。对于bdb,如果key是随机的,并且数量超过100万,在我的测试中达不到5w/s的。
所谓的key是随机的是相对于有序的情况,有序是指测试程序的key是一系列有顺序的值,比如thing10,thing11,thing12,thing13,thing14。这样的插入时,后插入的key在读索引时,基本都是命中内存中的cache了(占了前一个key的光),也就是所谓的locality很好。
7 楼 forchenyun 2010-12-04 02:11
1. 从使用上来讲:TreapDB提供远程访问的能力,但是你也可以直接用代码中的DiskTreap<K,V>这个类,把它嵌入你的代码,这样就和BDB的使用模式一样了。
2. 从性能上来讲,我测试过产生300万个随机key的插入,比BDB要快30%左右。不过,我是用python2.6中自带的bsddb模块,所以测试结果可能不能反映出bdb的真实情况
PS: 在下载包中有一个bench文件夹,bench_random_bdb.py就是测试bdb的写入速度的。bench_random_write.bat是测试treapdb的写入速度的
关于bdb的写,我曾经测试过普通Sata硬盘写,value为1k的情况下,5w/s是没有问题的
6 楼 fxsjy 2010-12-03 16:29
1. 从使用上来讲:TreapDB提供远程访问的能力,但是你也可以直接用代码中的DiskTreap<K,V>这个类,把它嵌入你的代码,这样就和BDB的使用模式一样了。
2. 从性能上来讲,我测试过产生300万个随机key的插入,比BDB要快30%左右。不过,我是用python2.6中自带的bsddb模块,所以测试结果可能不能反映出bdb的真实情况
PS: 在下载包中有一个bench文件夹,bench_random_bdb.py就是测试bdb的写入速度的。bench_random_write.bat是测试treapdb的写入速度的
5 楼 tomqyp 2010-12-03 16:20
4 楼 fxsjy 2010-12-03 14:08
http://code.google.com/p/treapdb/wiki/PythonClientExample
3 楼 fxsjy 2010-12-03 11:58
翻译的问题?
7500/s 究竟这里指的什么?
7500次成功插入每秒
2 楼 chan.d 2010-12-03 11:43
翻译的问题?
7500/s 究竟这里指的什么?
1 楼 fxsjy 2010-12-03 10:29