我正在尝试使用ANTLR和C#,但由于缺少文档/教程,我发现它非常困难.我找到了几个旧版本的半心半意的教程,但似乎从那时起对API进行了一些重大改动.
谁能给我一个简单的例子来说明如何创建语法并在短程序中使用它?
我终于设法将我的语法文件编译成词法分析器和解析器了,我可以在Visual Studio中编译和运行那些(在重新编译ANTLR源之后,因为C#二进制文件似乎也已经过时了! - 更不用说在没有一些修复的情况下源不会编译),但我仍然不知道如何处理我的解析器/词法分析器类.据说它可以在给出一些输入的情况下产生AST ......然后我应该可以做一些喜欢它的东西.
什么是评估数学表达式的最佳算法?我希望能够优化这一点,因为我可能有一个带有各种变量的公式,我可能需要使用不同的变量评估数百次.所以基本上如果我可以最初解析公式以便以某种方式对其进行优化,然后我可以根据需要将变量传递给此优化版本,每次为我生成结果.
我将用Delphi或C#编写这个.我已经通过使用分流码算法编写了类似的东西,但每次我需要计算相同的公式时,我必须经历解析阶段.必须有更好的方法来做到这一点.