bison 相关问题

Bison是GNU解析器生成器。它生成LALR解析器,但也可以为非LALR的语法生成GLR解析器。它具有与其旧前任Yacc(另一个编译器编译器)兼容的模式。

flex 扫描仪推回溢出

这几天在学习编译,我写了这段代码: `` `%{ #包括 #包括 %} 谢弗尔 [0-9] 字母 [a-zA-Z] ID {LETTRE}({CHIFFRE}|{LETTRE})* NOMBRE {CHIF...

回答 0 投票 0

Flex词法分析器防止token分裂的方法?

目前正在使用Flex扫描定义C的子集的语法。这是.l文件。 /*定义*/ %{ #包括 int yylex(无效); %} /*规则*/ %% “诠释” ...

回答 1 投票 0

PHP 中类似 Flex/Bison 的功能

我正在寻找一种在 PHP 中获得 Flex/Bison(或 Lex/Yacc 等)支持的方法。具体来说,我在 Web UI 中实现了一个布尔查询解析器,并且宁愿将所有操作都保留在 PHP 中......

回答 4 投票 0

LAC (Lookahead Correction) 将 bison 解析器的错误恢复纠正为不工作

我有一个 bison 解析器,我对选项 parse.lac full 很感兴趣,因为根据文档,如果没有它,生成的错误消息可能不正确。 但是,当我添加选项时...

回答 0 投票 0

Menhir 中的规则优先级

我写了一个 C 的子集,关于指针数组的声明有一点模棱两可的语法。事实上,像这样的声明 整数*A[10]; 可以看作是点数组...

回答 1 投票 0

解决减少-减少冲突

以下是我写的语法部分, 在这里,您可以看到如果找到令牌 PUBLIC_KEYWORD 将会减少/减少冲突,因为它有两个规则( constant_modifie ...

回答 0 投票 0

YACC/Bison语法规则重叠,将一个规则解析为两个单独的规则

我一直在为 Lua 编程语言开发一个编译器,并决定使用 Bison 来生成 AST。出现了一个非常烦人的错误,我对函数调用的语法定义是

回答 1 投票 0

由于空规则导致 bison 的转移/减少问题

我在野牛中有以下语法会产生移位/减少冲突: %token a %开始一个 %% 答:B C | /* 空的 */ ; 乙:乙乙 ; E:D E | /* 空的 */ ; D:错误 ; C:错误 ; 我怎样才能重写...

回答 1 投票 0

如何匹配一个函数声明?

为了匹配一个变量绑定,你可以使用这个方法。* 关键字规则 * val { return val; } 所以你把 val 这个词放在关键字规则下,那 fun f x = 5 + x; 如何 ...

回答 1 投票 0

如何匹配一个函数声明?

为了匹配一个变量绑定,你可以使用这个方法。* 关键字的规则 * val { return VAL; }. 所以你把字 val 放在关键字的规则下,那怎么办: fun f x = 5 + x; 如何 ...

回答 1 投票 0

!=

RELOP可以是:==

回答 1 投票 0

Bison中的std::shared_ptr导致成员错误。

我想通过使用std::shared_ptr使bison的内存效率更高。我不想使用原始指针。我使用节点系统作为解析树,所以我将YYTYPE定义为std::shared_ptr。 . ...

回答 1 投票 0

毕胜:错误信息中包含的行号。

好吧,我想我的问题是不言自明的。我目前正在Bison中构建一个解析器,我想把错误报告做得更好一些。目前,我设置了 %define parse.error verbose (...)。

回答 2 投票 3

C++:字符串和联合体

我正在用flex和bison构建一个编译器。问题是使用char *会产生很多问题,所以我试图将所有的东西都迁移到字符串上。唯一剩下的问题是,有一个联合 ...

回答 3 投票 6

如何使用%union并修复 "在动作中使用语义值但未声明类型 "的警告。

我在parser.hpp文件中定义了YYSTYPE,供 scanner.lex使用。/ parser.hpp #define YYSTYPE Atom typedef struct Atom { int i_value; TypeEnum e_type; string *str_value; Node *node; } atom_t; ...

回答 1 投票 0

vals array_vals vals: STRING

所以我试图声明数组的语法(使用 Bison 3.6.2)如下: array: '[' array_vals ']' array_vals: /在我的词库中定义的字符串值/...

回答 1 投票 0

野牛移位用平衡括号语法减少冲突

我在用平衡括号的语法做一个练习。S ->(S)S ->SS S ->()编译器返回一个shiftreduce冲突。这是我的野牛语法: %% prog: srule ; srule ...。

回答 1 投票 0

在macOS上的lex解析中出现的意外字符

我目前正在为SCSS子集开发一个简单的Lex+Yacc解析器,但在我的Linux机器上,词法分析器似乎工作得很完美,但在macOS Catalina机器上,它给出了 "意外的..."。

回答 1 投票 0

Flex / Bison-如何解决v“ symtab”的多个定义”

我已经从“ flex&bison”这本书中重新创建了高级计算器,并对c ++作了一些小的改动。但是我无法解决的是编译时出现以下错误。 C:\ .. \ ...

回答 1 投票 0

使用野牛将数据解析为结构

我在暑假期间在学校里了解了屈曲和野牛,现在我想更深入地学习。我在理解Bison 3.0.2的文档时遇到了麻烦。也许有些人可以帮助我...

回答 1 投票 1

© www.soinside.com 2019 - 2024. All rights reserved.