我的EBNF逻辑错了吗?
我在 Python 程序中使用 SimpleParse 来解析一些相当简单的语言学。它应该能够解析以下示例文本(每行单独): d6 (d4 + d8 + 5) + 6 {5d20}+12 [d10 …
我如何定义“其他”?堵塞?
这就是我正在尝试的: foreach_in.Rule = ToTerm("foreach") + "(" + VARIABLE + "in" + list_obj + ")" foreach_as.Rule = ToTerm("foreach") + "(" …
JavaCUP - 如何将这行 EBNF 转换为 CFG 语法?
几天前我发布了有关将 EBNF 语法转换为 CFG 的文章。好吧,我想我现在已经掌握了它的要点,但我对这个特定的问题有点困惑: 你会如何转换: Multiplic…
EBNF / parboiled:如何将正则表达式转换为 PEG?
这是一个特定于 parboiled 解析器框架和一般 BNF/PEG 的问题。 假设我有一个相当简单的正则表达式 ^\\s*([A-Za-z_][A-Za-z_0-9]*)\\s*=\\s*(\\S+)\\s*…
python:用 BNF 或 pyparsing 替换正则表达式
我正在解析一个相对简单的文本,其中每一行描述一个游戏单元。我对解析技术知之甚少,所以我使用了以下临时解决方案: class Unit: # rules is an ord…
实现类 Markdown 语言的解析器
我有类似于 markdown 和 SO 使用的标记语言。 遗留解析器基于正则表达式,维护起来简直是噩梦,因此我提出了自己的基于 EBNF 语法的解决方案,并通过 …
Scala 解析器组合器递归 bnf 的技巧?
我试图匹配这个语法: pgm ::= exprs exprs ::= expr [ exprs] expr ::= ID | expr . [0-9]+ 我的 scala packrat 解析器组合器看起来像这样: import …
ANTLR,如何在ANTLR中转换BNF、EBNF数据?
我必须生成 CSV 数据的解析器。不知何故,我设法为 CSV 数据编写 BNF、EBNF,但我不知道如何将其转换为 ANTLR 语法(这是一个解析器生成器)。例如,…
为什么'a'..'z'在 ANTLR 中匹配通配符,例如 $ 或 £
当我运行以下语法时: test : WORD+ WORD : ('a'..'z')+ WS : ' '+ {$channel = HIDDEN} 并且输入“?test”时,为什么antlr接受它作为有效输入?我认…
如何处理 EBNF 语法中不同标记中的重叠字符组?
我正在使用 LL(k) EBNF 语法来解析字符流。我需要三种不同类型的令牌: CHARACTERS letter = 'A'..'Z' + 'a'..'z' . digit = "0123456789" . messageC…
如何阅读 EBNF 语法中的替代项
我有一个 EBNF 语法,它有一些这种模式的规则: sequence ::= item | item extra* sequence 上面的内容是否等同于下面的内容? sequence ::= item (ex…