18得票2回答
柠檬是否具有功效?

对于语法解析器,我过去常用的是Bison,它有其优缺点。 上周,我在SqLite网站上注意到引擎使用了另外一个语法解析器:Lemon 阅读了一些简单的文档后感觉不错。 你对这个解析器有什么反馈吗? 在Google和维基百科上没有找到相关信息(只有一些例子和相同的教程)。它似乎并不很流行。...

7得票1回答
在使用g++、bison和flex编译时,在yyparse()中出现了对`yylex`的未定义引用。

我在编译代码时遇到了问题(undefined reference to 'yylex')。让我们先看一下代码片段,然后我会在下面描述细节: Flex: %{ #include <stdlib.h> extern int yylex(); %} %% "=" {return EQ...

9得票3回答
有没有适用于JavaScript的Flex-Bison解析器?

是否有开放的解析器可用?如果没有,我打算使用http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf中的语法规则编写一个。 谢谢。

10得票3回答
使用Flex和Bison时,yylval未定义

我已经在网上搜索了几乎所有的资料,但是我仍然不明白为什么词法分析器无法识别yylval。 这里是情况: 我在node.h中定义了一堆ADT,并在node.c中实现它们,我的目的是在这些结构被正确存储后生成AST。但我卡在bison文件中了。 首先,我将%union改为union YYSTY...

20得票2回答
CMake和Flex/Bison

我正在将我的编译系统从configure/make转换为cmake系统。 该系统有一些由bison/flex自动生成的文件。原始的makefile命令如下:bison --defines=tokens.h --output=parser.cpp parser.y flex --outfile...

7得票2回答
bison YYSTYPE:尝试使用char*

我需要使用flex和bison来解析一些代码。 即使我从未声明过,YYSTYPE的默认类型是int。这是bison的默认值吗? 如果能够传递字符串会对我有很大帮助。我读到了这篇文章:如何解决Bison警告“...没有声明类型”? 这看起来像是一个好方法。(我现在只需要使用char*部分,而...

8得票2回答
如何使用Flex实现双向扫描器?

作为一个宠物项目,我想尝试实现一种基本语言,可以用作 web 脚本语言。将 C++ 程序作为 Apache CGI 运行非常简单,因此真正的工作在于如何解析包含非代码(HTML/CSS 标记)和服务器端代码的输入文件。 在本科编译器课程中,我们使用 Flex 和 Bison 为简单语言生成扫...

7得票4回答
Bison错误输出

我正在使用Bison,已经生成了一个相当复杂的语法。问题在于我的第一个测试用例失败了-但是Bison只会说“语法错误”。有没有办法让Bison输出未匹配的规则和有问题的标记? %define parse.trace true 但仍然只得到“语法错误”作为输出。

24得票8回答
编写编译器...什么是正确的,什么是错误的?

好的,在我探索编写编译器所需的必要知识时,遇到了一些障碍。似乎每个我找到的技术或工具都在某个地方有反对声音。 目前我正在使用Bison和Flex,但我感觉这种方法已经过时了。这是真的吗?在编写完整的编程语言时,这是一种良好的向前兼容的方式吗? 在不同概念和工具(ANTLR、LL(k)、GL...

9得票2回答
Emacs模式用于flex和bison,或者删除这些模式的自动缩进?

Emacs在Flex和Bison的自动缩进方面处理较差。实际上,它似乎没有对flex模式提供支持。那么,Emacs用户该如何应对这些问题呢?我喜欢Vim,但我更喜欢不切换到Vim,因为我在Emacs中速度更快、更舒适。 几个月前,我有一个第三方的Bison elisp模块,但是当它的缩进出现...