小编Mai*_*kel的帖子

ANTLR4 生成的类中“找不到合适的方法来覆盖”

我定义了一个 ANTLR4 语法,其中词法分析器和解析器位于两个不同的文件中。它是一种类似于 XML 的语法。在我的解析器中,我也想定义一个可以重复使用自身用于计算目的的表达式(如“(1+1)*2”)。

parser grammar TestExpressionParser;

options { tokenVocab=TestExpressionLexer; }

compileUnit             : calculator ;

calculator              : '<' 'calculator' '>' tiers? rules?'</' 'calculator' '>' ;

// tiers
tiers                   : '<' 'tiers' '>' tier* '</' 'tiers' '>' ; 
tier                    : '<' 'tier' attrReference '>' '</' 'tier' '>' ;

// rules 
rules                   : '<' 'rules' '>' (rule) '</' 'rules' '>' ;
rule                    : '<' 'rule' '>' (calculation|reference|description)* '</' 'rule' '>' ;

calculation             : '<' 'calculation' '>' expression '</' 'calculation' '>' ; …
Run Code Online (Sandbox Code Playgroud)

c# antlr4 antlr4cs

2
推荐指数
1
解决办法
496
查看次数

标签 统计

antlr4 ×1

antlr4cs ×1

c# ×1