在antlr4生成的规则函数中,如何计算在JavaScript中调用子规则函数的次数

时间:2018-08-07 06:59:18

标签: javascript antlr antlr4 language-translation

我正在通过antlr4进行语言翻译。几乎所有事情都进展顺利,但是我现在遇到的问题是,在atlr4生成的规则函数中,我必须计算在JavaScript中调用子规则函数的次数。如果对规则生成的函数中的令牌执行此操作,则效果很好。 示例:

Listener.prototype.exitRequire = function (ctx) 
{
var itemlength= ctx.ID().length;
}

对于规则:“要求:以字符串形式要求输入ID”。

但是当该规则内还有另一个子规则时,我就无法获得该子函数的计数。 示例:

对于规则:“订单:ORDER NEWLINE +(orderItem NEWLINE +)+ END ORDER NEWLINE +” 因为有一个子规则“订单项”,并且可以重复,所以我想知道它的执行次数或长度。

我像这样尝试过,但是没有用。

Listener.prototype.exitOrder = function (ctx)
 {   
var length= ctx.orderitem().length;
}

能否请您给我一种实现此目标的方法。谢谢。

0 个答案:

没有答案