使用不支持的语言检查语法

时间:2011-04-04 13:08:19

标签: syntax ada

我有一些文件具有与ada类似的特定语法(虽然不完全相同),但我想在运行它们之前验证语法。这些文件没有编译器,所以在使用它们之前我无法检查它们。我尝试使用以下内容:

gcc -c -gnats <file>

然而,这表示编译单位的预期。我已经尝试了一些变化,但无济于事。

我只是想在使用它之前确保文件在语法上是正确的,但我不知道该怎么做,而且我真的不想为此编写完整的语法检查器。

有没有办法在不经过重新编译的情况下为gcc添加其他不受支持的语言?这也只是一个文件,详细说明了gcc语法结构是什么,或者会带来什么?我不需要完整的编译,只需要语法检查。

或者,我是否可以使用任何语法检查器,我可以使用此语言所需的少量更改来更新ada语法检查?

我已经将Ada列为标签,因为语法几乎完全相同,找到一些可以在不编译的情况下进行语法检查的内容对我来说将是90%的解决方案。

1 个答案:

答案 0 :(得分:3)

您可以先尝试通过gnatchop运行文件。 GCC Ada编译器非常独特,因为它希望文件名与文件中的主要单元名称匹配。这可能是您的错误消息试图说的内容。

gnatchop将查看您提供的任何文件并写出具有相应名称的Ada源文件,以使gcc满意(甚至在需要时将文件拆分为多个文件)。

您可能感兴趣的另一个选项是OpenToken。它是一个用Ada编写的解析器构建工具包,它允许您相当容易地构建自己的解析器。它为Ada提供了语法识别器,因此您可以根据需要稍微调整一下。