我在SENSE做项目,因为我必须安装Lex和Yacc。 如果你能帮助我如何在Ubuntu中安装。 我对这个领域很新。 那么你能帮我吗? 任何研究Lex和Yacc基础的网站
我有Lex和YACC文件来parsing我的文件( .l文件和.y文件)。 如何编译这些文件,以及如何在Windows平台上为他们制作等效的.c文件?
我想创build一个使用flex / bison分析器的read-eval-print循环。 麻烦的是,flex生成的词法分析器需要FILE *types的input,我希望它是char *。 有没有办法做到这一点? 一个build议是创build一个pipe道,给它提供string并打开文件描述符并发送给词法分析器。 这是相当简单的,但它感觉错综复杂,不是平台独立。 有没有更好的办法?
所以这是一个微不足道的问题,但是我不能回答这个问题,也许答案会教给我一些关于R如何工作的细节。 标题说明了这一切:R如何parsing-> ,不明确的右侧分配函数? 我常用的技巧来探究这个失败: `->` 错误:对象->未find getAnywhere("->") 没有find名为->对象 我们不能直接调用它: `->`(3,x) 错误:找不到function"->" 但当然,它的工作原理是: (3 -> x) #assigns the value 3 to the name x # [1] 3 看来R知道如何简单地反驳这个论点,但是我认为上述方法肯定会破解这个案子: pryr::ast(3 -> y) # \- () # \- `<- #R interpreter clearly flipped things around # \- `y # (by the time it gets to `ast`, at least…) […]
Flex&Lex和Yacc&Bison有什么区别? 我疯狂地search了互联网,我没有find任何可靠的答案。 我可以在Ubuntu上安装纯Lex和Yacc,或者我只能安装flex和bison。 我很困惑。 Lex或Yacc仍然由某人维护? 他们都是免费的吗? 如果Lex不是免费的,我为什么要将它安装在我的Ubuntu发行版上? lex –version lex 2.5.35
过去我使用lex和yacc(更常见的是bison)来处理各种项目,通常是翻译(例如EDIF的一个子集stream入EDA应用程序)。 另外,我必须支持基于lex / yacc语法的代码。 所以我知道我的工具,虽然我不是专家。 我在过去的各种论坛上看到过关于Antlr的积极评论,我很好奇我可能会错过什么。 所以,如果你使用了两者,请告诉我什么Antlr更好或更先进。 我目前的限制是我在C ++商店工作,任何我们发布的产品都不会包含Java,所以得到的parsing器将不得不遵循这个规则。
有什么好的工具可以快速开始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 / […]