Antlr4 如何证明SLL的语法安全性

Antlr4 如何证明SLL的语法安全性,antlr4,Antlr4,我有一个antlr4语法,由于预测器的超线性运行时间,它需要很长时间来解析长表达式,如f()。表达式规则还具有一组通常的类似算术的运算符,它们具有不同的先例。通过切换到SLL模式,我可以将运行时间降低到一个合理的水平。我的问题是,很大一部分输入程序会有解析错误。我必须使用LL重试,以区分真正的错误和功能较弱的解析器生成的虚假错误。这意味着平均性能仍然很差 如何判断在SLL模式下解析语法是否安全,而不在LL模式下重试 有没有什么一般的技巧可以重写语法,使长表达式的解析速度变慢

我有一个antlr4语法,由于预测器的超线性运行时间,它需要很长时间来解析长表达式,如
f()。表达式规则还具有一组通常的类似算术的运算符,它们具有不同的先例。通过切换到SLL模式,我可以将运行时间降低到一个合理的水平。我的问题是,很大一部分输入程序会有解析错误。我必须使用LL重试,以区分真正的错误和功能较弱的解析器生成的虚假错误。这意味着平均性能仍然很差

如何判断在SLL模式下解析语法是否安全,而不在LL模式下重试

有没有什么一般的技巧可以重写语法,使长表达式的解析速度变慢