在 XText 中正确使用句法谓词
Correct use of Syntactic Predicates in XText
我的语法有一些歧义需要解决。
其中一条规则采用以下形式:
TArg:
anys=Anys
| rnumb1=PNumb ".." (rnumb2=PNumb)?
;
规则 Anys
可能以 PNumb
开头。我可以看出歧义在哪里,但是如果 XText 看到 PNumb 后跟双点,我该如何告诉它走第二条路?
据推测,如果我使用
TArg:
(=> rnumb1=PNumb ".." (rnumb2=PNumb)?)
|anys=Anys
;
那么如果它看到一个数字,它总是会选择第一个,不管它是否看到“..”,我会 运行 出问题。
为了让 Antlr 提前查看“..”是否存在,这里语法谓词的正确 usage/placement 是什么?
提前干杯
您还需要包含“..”
TArg:
=>(rnumb1=PNumb "..") (rnumb2=PNumb)?
| anys=Anys
;
我的语法有一些歧义需要解决。 其中一条规则采用以下形式:
TArg:
anys=Anys
| rnumb1=PNumb ".." (rnumb2=PNumb)?
;
规则 Anys
可能以 PNumb
开头。我可以看出歧义在哪里,但是如果 XText 看到 PNumb 后跟双点,我该如何告诉它走第二条路?
据推测,如果我使用
TArg:
(=> rnumb1=PNumb ".." (rnumb2=PNumb)?)
|anys=Anys
;
那么如果它看到一个数字,它总是会选择第一个,不管它是否看到“..”,我会 运行 出问题。
为了让 Antlr 提前查看“..”是否存在,这里语法谓词的正确 usage/placement 是什么?
提前干杯
您还需要包含“..”
TArg:
=>(rnumb1=PNumb "..") (rnumb2=PNumb)?
| anys=Anys
;