正确检查源代码文件(使用Python)

时间:2013-10-02 15:08:58

标签: python objective-c lexical-analysis

我正在开发一个涉及阅读源代码文件,寻找某些令牌的项目。 (在我的情况下,我想确定一个Objective-C类是否实现了一个协议。)问题在于,虽然我可以只扫描关键字的行,但它可能会显示在注释或字符串中。

处理此问题的正确方法是什么?我是否需要将整个文件标记化并使其变为现实?有更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

您的问题是,当您逐行扫描文件时,您可能会匹配该关键字,但它可能是评论的一部分? 例如

/*
  keyword
*/

在这种情况下,如果遇到注释,可以将变量设置为True,如果找到注释的结尾,则将其设置为False。如果在变量为False时找到关键字,则表示关键字出现在代码中。以类似的方式,您可以检查//是否出现在同一行中。

'//' in currentLine