Tag: lex

如何在Ubuntu中安装Lex和Yacc?

我在SENSE做项目,因为我必须安装Lex和Yacc。 如果你能帮助我如何在Ubuntu中安装。 我对这个领域很新。 那么你能帮我吗? 任何研究Lex和Yacc基础的网站

错误:未知types名称'布尔'

我下载了源代码,并想编译扫描仪的文件。 它产生这个错误: [meepo@localhost cs143-pp1]$ gcc -o lex.yy.o lex.yy.c -ll In file included from scanner.l:15:0: scanner.h:59:5: error: unknown type name 'bool' In file included from scanner.l:16:0: utility.h:64:38: error: unknown type name 'bool' utility.h:74:1: error: unknown type name 'bool' In file included from scanner.l:17:0: errors.h:16:18: fatal error: string: No such file or directory compilation terminated. 我试图用不同的编译器来编译它,但是却出现了不同的错误。 [meepo@localhost […]

在flex / lex中的string文字的正则expression式

我正在尝试学习flex,并希望匹配string文字。 我的代码目前看起来像: "\""([^\n\"\\]*(\\[.\n])*)*"\"" {/*matches string-literal*/;} 我一直在挣扎一个小时左右的变化,不能按照它应该的方式工作。 我基本上希望匹配一个string文字,不能包含一个新行(除非它被转义),并支持转义字符。 我可能只是写一个可怜的正则expression式,或者与flex不兼容。 请指教!

如何在Windows上编译LEX / YACC文件?

我有Lex和YACC文件来parsing我的文件( .l文件和.y文件)。 如何编译这些文件,以及如何在Windows平台上为他们制作等效的.c文件?

input到flex词法分析器的string

我想创build一个使用flex / bison分析器的read-eval-print循环。 麻烦的是,flex生成的词法分析器需要FILE *types的input,我希望它是char *。 有没有办法做到这一点? 一个build议是创build一个pipe道,给它提供string并打开文件描述符并发送给词法分析器。 这是相当简单的,但它感觉错综复杂,不是平台独立。 有没有更好的办法?

在Python中用于lexing,令牌化和parsing的资源

人们可以指向我的资源用Python来解释和分词吗? 我在一个开源项目( hotwire )上做了一些攻击,希望对代码进行一些修改,对input的命令进行词法分析和标记 。 由于它是真正的工作代码,所以它相当复杂,难以解决。 我之前没有研究过lex / parse / tokenise的代码,所以我想一种方法是通过一两个教程来解决这个问题。 我希望能够学习足够的知识来浏览我实际想要改变的代码。 那里有什么合适的吗? (理想情况下,可以在一个下午完成,而不必先购买和阅读龙书…) 编辑: (2008年10月7日)下面的答案都没有给我想要的。 有了它们,我可以从头开始生成parsing器,但我想学习如何从头开始编写我自己的基本parsing器,而不是使用lex和yacc或类似的工具。 完成之后,我可以更好地理解现有的代码。 那么有人可以指点我一个教程,我可以从头开始构build一个基本的parsing器,只使用python?

Flex / Lex和Yacc / Bison有什么区别?

Flex&Lex和Yacc&Bison有什么区别? 我疯狂地search了互联网,我没有find任何可靠的答案。 我可以在Ubuntu上安装纯Lex和Yacc,或者我只能安装flex和bison。 我很困惑。 Lex或Yacc仍然由某人维护? 他们都是免费的吗? 如果Lex不是免费的,我为什么要将它安装在我的Ubuntu发行版上? lex –version lex 2.5.35

用于创buildC / C ++分析器/分析器的好工具

有什么好的工具可以快速开始parsing和分析C / C ++代码? 特别是,我正在寻找处理C / C ++预处理器和语言的开源工具。 优选地,这些工具将对语法使用lex / yacc(或flex / bison),而不是太复杂。 他们应该处理最新的ANSI C / C ++定义。 这是我到目前为止发现的,但没有详细看过他们(想法?): CScope – 老式C分析仪。 虽然似乎没有做一个完整的parsing。 被形容为一个寻找C函数的荣耀的“grep”。 GCC – 大家最喜欢的开源编译器。 非常复杂,但似乎这样做。 有一个创buildGCC扩展名为GEM的相关项目,但自从GCC 4.1(2006)以来并没有更新。 PUMA – PUre MAnipulator。 (来自页面:“这个项目的意图是提供一个用于分析和操作C / C ++源的类库,为此,PUMA提供了用于扫描,parsing和当然操作C / C ++源的类。 。 这看起来很有希望,但自2001年以来一直没有更新。显然PUMA已经被纳入了AspectC ++ ,但是这个项目自2006年以来还没有更新。 各种C / C ++原始语法。 你可以得到c-c ++ – grammars-1.2.tar.gz ,但是自1997年以来,这个问题一直没有得到维护。一些Googlesearch把其他基本的lex / […]