gpt4 book ai didi

parsing - ANTLR4 语法在输入时没有可行的选择

转载 作者:行者123 更新时间:2023-12-04 17:45:24 28 4
gpt4 key购买 nike

我正在做一个项目,我必须为以下语法创建一个解析器:

grammar T;

我正在尝试阅读这段代码:

theory oo
begin

builtins: asymmetric-encryption
functions: f/1 // f/1 used for function in protocol

/* Channel rules */

rule ChanOut_S:
[Out_S($A,$B,xn,x)]
--[ChanOut_S($A,$B,xn,x)]->
[!Sec($A,$B,xn,x)]

我曾经使用 grun 生成解析器树,如下所示:

grun T 理论 oo.spthy -gui

但每次我尝试生成解析器树时都会出现以下错误:

line 9:5 no viable alternative at input 'ruleC'

似乎语法有问题,但我无法弄清楚。你有什么线索吗?

最佳答案

词法分析器似乎对这两条规则感到困惑:

ALPHA : 'A'..'Z';

ALPH : ('a'..'z' | 'A'..'Z');

由于 ChanOut_S 的第一个字母与规则 ALPHA 匹配,因此 C 被该词法分析器规则使用。如果您调换这两个规则的顺序,则会识别整个标识符。

ALPH : ('a'..'z' | 'A'..'Z');

ALPHA : 'A'..'Z';

关于parsing - ANTLR4 语法在输入时没有可行的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52313337/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com