cost 291 ms
解决 SQLite 语法中的解析冲突 - Solving a parsing conflict in SQLite grammar

我试图在某一点扩展 SQLite 的 SQL 语言(文件 parse.y)。 我有一个解析冲突,但是柠檬解析器除了随机的“1 解析冲突”之外没有显示任何内容。 错误信息。 问题出在 create_table 可以简化为“CREATE”或“CREATE OR REPLACE”的位置,然后是 temp ...

如何使用表将语法转换为解析算法? - How to convert a grammar into a parsing algorithm using a table?

假设我有这样的语法: 它像这样编译成 JSON: 理论上它可以匹配任何这些字符串: 我如何从这个语法 JSON 中生成一个优化的解析器(它只是在输入字符串是否匹配时返回真/假)? 我最初的想法是尝试像我的递归下降解析器一样执行此操作,该解析器只需要一个语法和一个字符串,并使用“未编译”语 ...

是否有一种解析器生成器可以处理所有确定性上下文无关文法? - Is there a type of parser generator that handles all deterministic context-free grammars?

我需要一种为所有确定性上下文无关语法生成解析器的方法。 我知道每个确定性的上下文无关语法都可以被一些 LR(k) 解析器解析。 问题是我需要为未知k的语法生成解析器。 因此,要处理每个确定性上下文无关文法, k需要是无限的。 我也知道 GLR 解析器可以解析所有上下文无关的语法,无论是否确定。 但 ...

Beaver 解析器生成器 shift-reduce 与悬挂 else 相关的冲突 - Beaver parser generator shift-reduce conflicts connected to dangling else

我正在向 Beaver 解析器生成器提供(生成的)语法。 多个 shift-reduce 冲突似乎是由这条规则中的悬空 else 问题引起的: 我认为悬空 else 不会成为问题,因为该工具默认选择 SHIFT,这是悬空 else 问题 AFAIK 的公认解决方案。 但是,有一些问题,因为我有 16 ...

消除 LL 1 语法中的间接 First-First 冲突 - Eliminate indirect First-First conflicts in LL 1 grammar

我正在尝试编写一个 LL(1) 解析器生成器,但我遇到了一个我知道是 LL(1) 的语法问题,但我无法正确分解它们。 例如考虑语法: 现在这个语法在As有一个首屈一指的冲突,所以我执行Ɛ 消除并有: 其中在S和As中存在第一个冲突。 解决As中的冲突会产生: 其中在As'中具有先行冲突,当被消除时会 ...

如何区分nom中的减号和负数? - How to distinguish between minus sign and negative number in nom?

使用解析器生成器nom ,我如何编写一个解析器来提取1-2和1*-2项中减号的差异? 在第一个示例中,我期望令牌1 、 -和2 。 在第二个中,“减号”指定数字为负。 预期的标记是1 、 *和-2 。 不是1 、 * 、 -和2 。 如何使用用户定义的状态(例如expect_literal: b ...

快乐生成的Haskell源出现错误“输入'数据'上的解析错误” - Haskell source generated by happy has error “parse error on input 'data'”

我正在尝试Haskell的快乐解析器生成器。 在happy.hs中生成模块后(生成时没有问题!),我运行命令ghc happy.hs ,并得到以下错误: Line 297: parse error on input 'data' 。 有人有解决方案吗? 或告诉我在哪里可以找到解决方案? ...

在解析过程中添加运算符 - Add operators during parsing

我在 Haskell 中尝试了一些解析器生成器,在这里使用 Happy。 我以前使用过解析器组合器,例如 Parsec,而我现在无法实现的一件事是动态添加(在执行期间)新的外部定义的运算符。 例如,Haskell 有一些基本操作符,但我们可以添加更多操作符,赋予它们优先级和固定性。 所以我想知道如何 ...

Java Jacc,AST和递归访问者 - Java Jacc, AST and recursive visitor

我正在尝试使用Jacc(解析器生成器)制作一个简单的计算器。 我首先需要创建一个AST并访问其节点以为其制作Graphviz图,然后对其进行评估。 在我的Jacc文件中,我不能使用优先级指令,因此我创建了一个左递归语法: Value生产可以是DoubleLiteral或AddEx ...

如何使用Xtext生成解析器生成器? - How to generate a parser generator using Xtext?

我计划在Xtext之上实现一种元语言。 换句话说,我正在使用Xtext语法定义自己的元语言。 然后可以使用这种元语言来定义一种语言(使用我定义的语法)。 使用定义的语言,用户可以创建模型。 因此,我想将Xtext / Xtend用作解析器生成器的生成器。 这将使我能够添加任意数量的 ...

引用在ANTLR4中调用规则侦听器时解析器所处的位置 - reference to where the parser is at when calling a rule listener in ANTLR4

我正在用Python生成侦听器,但是任何语言都可以用作答案或注释。 我需要知道,如果有一些参考的地方在解析树,甚至更好,在令牌流或源文件 的分析器调用特定的监听方法当 。 我得到一个上下文对象,该对象具有对解析器本身的引用,我在寻找它,但似乎找不到任何对象。 这仅用于调试。 d ...

将BNF语法的形式转换为g4语法 - Convert a form of BNF grammar to g4 grammar

我试图隐瞒此BNF语法以验证当前在Swift中使用的布尔表达式。 现在想在Java中实现类似的解析器。 我遇到过Antlr4 lib,想用它为同一语法生成解析器。 我对antlr4不太熟悉。 有人可以给我一些指导吗? 到目前为止,这就是我所拥有的。 我试图转换为g4,这就是它的 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM