我有一个业余爱好项目的想法,它执行一些代码分析和操作.该项目将需要给定源文件的具体和抽象语法树.此外,两棵树之间的双向参考将是有帮助的.我想避免转录语法来构建自己的词法分析器和解析器.
是否有用于描述具体或抽象语法树的标准格式?是否有广泛使用的工具链支持输出这些格式?
我没有考虑特定的目标编程语言.任何流行的都可以用于原型,但我更喜欢我熟悉的一个:Python,C#,Javascript或C/C++.
我希望能够通过工具或库运行源文件并返回两棵树.在理想的世界中,在用户编辑的代码上运行此工具并容忍错误是可行的.同样,我只是想开发一个原型,所以这些要求非常宽松.
谢谢!