cost 215 ms
如何在 ANTLR4 解析器规则中插入额外的验证逻辑? - How do you insert extra validation logic into an ANTLR4 parser rule?

我有一个 ANTLR4 语法,它有一个解析器规则行,如下所示: 此规则是用于定义expression的大型复合规则的一部分。 然而,现实情况是,只有实际表达式类型的子集对赋值的左侧有效,但由于左递归问题,我无法将解析器规则分解为那些特定的表达式子集。 我想做的是在匹配规则时将自定义代码插入生成的解 ...

有没有办法在不运行 Antlr 输入文件的情况下验证它? - Is there a way to verify an Antlr input file without running it?

我有以下代码接受我的输入文件的输入: 但是当我调用 parser.program() 时,我的程序会正常运行。 但是,我需要一种方法来验证输入文件在语法上是否正确,以便用户无需运行脚本(针对特殊机器运行)即可进行验证。 Antlr4csharp 是否很容易支持这个? ...

我只是从 ANTLR 开始,我无法破译我在哪里弄乱了不匹配的输入错误 - Im just starting with ANTLR and I cant decipher where Im messing up with mismatched input error

我刚刚开始使用 antlr,所以我非常感谢您的帮助,我只是想制定一个变量声明声明规则,但它不起作用! 我把我正在使用的文件放在下面,如果您需要其他任何东西,请 lmk! 输入代码: 语法 G4 文件: 我得到的错误: ...

将 ANTLR 错误句子从英语翻译成另一种语言的最佳方法是什么? - What's the best way to translate ANTLR errors sentences from english to another language?

我正在构建的应用程序针对的是讲葡萄牙语的用户。 用户可以输入一个由 ANTLR 解释的句子。 为了向用户提供他们输入的最佳反馈,我需要用葡萄牙语显示错误。 我没有找到可以像在其他一些库中那样更改错误标记的配置或文件。 ...

有没有办法使用 ANTLR 按顺序提取令牌? - Is there a way to extract tokens in order with ANTLR?

您好我目前正在尝试从 C# 中的 ANTLR 中提取所有标记,我正在使用 Antlr4.CodeGenerator 和 Antlr4.Runtime 包。 我希望它们以一种我可以操纵它们、改变它们的内容等等的方式结构化。 我尝试过使用监听器和访问者,但一无所获,所以我的意图是用包含其内容、规则和令 ...

C# 和 ANTLR4:解析文件时处理“包含”指令 - C# and ANTLR4: Handling “include” directives when parsing a file

我的情况是,使用 ANTLR,我正在尝试解析包含对其中其他文件的引用的输入文件,就像 C 语言的#include "[insert file name]"一样。 一种建议的方法是: 解析根文件,将所述引用保存为节点(因此,特定的语法规则) 访问树搜索“参考”节点对于每个引用节点,解析引用的文件并用新 ...

如何将 .g4 编译为 .cs? - How to compile .g4 to .cs?

我重新阅读了所有文档,但仍然没有得到我到底需要做什么。 请逐步解释我需要做什么才能在 VS2019(对于 C#)中使用 Antlr 设置工作,以及之后如何将 .g4 编译为 .cs。 我是否需要安装 Antlr4 或 Antlr4.Runtime 或 Antlr4.Runtime.Standard? ...

2020-11-18 11:34:34   1   147    c# / antlr4cs  
ANTLR4 - VisitChildren 返回 null,即使孩子返回一些 object - ANTLR4 - VisitChildren returns null, even when child returns some object

我一直在尝试实现访问者模式以将一些特定的 SQL 语句解析为由 TableDefinition 和 ColumnDefinition 对象组成的内部 object 结构。 这是语法中的一小部分(精简): 这是派生的 BaseVisitor 之一,它旨在返回 ColumnDefinitions: 当 ...

在 ANTLR4 生成的类中“找不到合适的方法来覆盖” - 'no suitable method found to override' in ANTLR4 generated classes

我定义了一个 ANTLR4 语法,其中词法分析器和解析器位于两个不同的文件中。 这是一种类似于 XML 的语法。 在我的解析器中,我也想定义一个表达式,该表达式可以将自身重新用于计算目的(如“(1+1)*2”)。 我添加的最后一件事是expression PLUS expression ,从那时 ...

如何让antlr找到无效输入抛出异常 - How to make antlr find invalid input throw exception

我有以下语法: 当我输入以下文字时,它应该有效 当我输入以下文本时出现错误: 我觉得应该报错,bug antlr 没有做,antlr 捕获了之前的“-1.1”,丢弃了“ffff”,但是我想改变这个行为,没有丢弃无效的token,而是抛出异常,报告检测无效令牌。 那我该怎么办,谢谢你的建 ...

Antlr4:如何将当前令牌的值传递给lexer的谓词? - Antlr4: How to pass current token's value to lexer's predicate?

有没有办法为词法分析器的谓词提供当前令牌的值? 例如,在我的lexer grammar FlowLexer ,我动态加载令牌: 在解析之前,我会动态加载令牌: 然后在解析/词法分析期间, TokenExists谓词称为: 但是,如何将令牌值传递给TokenExists谓词 ...

避免尖括号的反语法 - antlr grammar avoiding angle brackets

在这个问题中,我问过从任意文本中提取标签的问题 。 提供的解决方案效果很好,但是我想处理一种情况。 回顾一下,我正在解析任意用户输入的文本,并希望出现<或>任何内容以符合有效的标记语法。 如果尖括号不是有效标签的一部分,则应将其转为< 或> 。 ...

使用Antlr解析具有多个语言环境的公式 - Using Antlr to parse formulas with multiple locales

我是Antlr的新手,所以请原谅这可能是一个非常简单的问题。 我正在创建一个解析类似Excel的公式的语法,它需要支持基于列表分隔符(对于en-US)和小数点分隔符(。对于en-US)的多个语言环境。 我宁愿不要在基于区域设置的单独语法之间进行选择。 我可以修改或继承CommonT ...

ANTLR4十六进制解析 - ANTLR4 Hexadecimal Parsing

我在调试适用于Gameboy Assembly的ANTLR语法时遇到问题。 它似乎正常工作,但由于某些原因,在某些情况下无法处理十六进制的0x表示法。 如果我的输入字符串是“ JR 0x10”,则antlr失败,并显示“输入时没有可行的选择”错误。 据我了解,这意味着我要么没有规则来解 ...


排序:
质量:
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM