antlr工具建议

antlr工具建议,antlr,Antlr,我正在尝试使用Antlr4.5为SQL语法生成一个lexer/解析器(在C#中)。为了编写语法和测试语法,你会推荐什么样的工具 我正在尝试antlrworks2,但我发现它有点混乱(找不到输入示例文本并查看解析树的方法-不确定它是否不在那里,或者我是瞎子,或者干脆是哑巴,但我非常确定antlrworks v1有这样一个功能) Sam Harwell的Visual Studio VSIX插件看起来很棒,但它也让我感到困惑,词法分析器和解析器是在obj\文件夹中生成的,而不是在项目中生成的。此外,在

我正在尝试使用Antlr4.5为SQL语法生成一个lexer/解析器(在C#中)。为了编写语法和测试语法,你会推荐什么样的工具

我正在尝试antlrworks2,但我发现它有点混乱(找不到输入示例文本并查看解析树的方法-不确定它是否不在那里,或者我是瞎子,或者干脆是哑巴,但我非常确定antlrworks v1有这样一个功能)

Sam Harwell的Visual Studio VSIX插件看起来很棒,但它也让我感到困惑,词法分析器和解析器是在obj\文件夹中生成的,而不是在项目中生成的。此外,在编写语法时,它不会给我太多帮助,因为它会给我一个语法图,让我用示例文本来尝试语法等等


我非常相信antlr是一个很好的方法,但我真的不确定在定义和测试语法时应该使用什么工具和方法。如果有任何建议,我将不胜感激

我的问题并不精彩,因为工具与antlr目标语言非常独立,但是FWIW我最终使用了带有antlr插件的IntelliJ IDEA的免费版本。我开始喜欢IntelliJ,它非常好。antl插件在大多数情况下也很好,它的边缘有点粗糙,但所有重要的东西都工作得很好,总体来说非常有用

为什么不能使用ANTLR站点上的C#语法?他们肯定有一个。[如果你这样做了,你会发现解析不是你的问题。请查看我的个人简历,或者搜索“解析后的生活”,看看你真正的问题所在。]谢谢你的评论。我不需要C#语法,我希望lexer/解析器生成为C#代码。实际上,我正在尝试将代码完成功能添加到我正在构建的工具中。我正在解析的语言是SQL,但由于我希望提供代码完成,因此必须修改语法以允许格式错误的SQL。我真正需要从解析器中得到的是用户可能输入的语句的哪一部分,以及别名及其作用域。它也不一定是完美的,如果被解析的内容变得混乱,我可以为用户提供所有的选项,这些选项将在用户键入时被过滤。