正确检查源代码文件(使用Python)
我正在做一个项目,它涉及到读取源代码文件,寻找某些标记。 (在我的例子中,我想确定Objective-C类是否实现了一个协议。)问题是,虽然我可以扫描行中的关键字,但它可能会显示在注释或字符串中正确检查源代码文件(使用Python),python,objective-c,lexical-analysis,Python,Objective C,Lexical Analysis,我正在做一个项目,它涉及到读取源代码文件,寻找某些标记。 (在我的例子中,我想确定Objective-C类是否实现了一个协议。)问题是,虽然我可以扫描行中的关键字,但它可能会显示在注释或字符串中 正确的处理方法是什么?我是否需要标记整个文件并对其执行lex操作?有没有更简单的方法?您的问题是,当您逐行扫描文件时,您可能会匹配关键字,但它可能是注释的一部分? 比如说 /* keyword */ ? 在这种情况下,如果遇到注释,可以将变量设置为True,如果找到注释的结尾,可以将变量设置回Fa
正确的处理方法是什么?我是否需要标记整个文件并对其执行lex操作?有没有更简单的方法?您的问题是,当您逐行扫描文件时,您可能会匹配关键字,但它可能是注释的一部分? 比如说
/*
keyword
*/
?
在这种情况下,如果遇到注释,可以将变量设置为True,如果找到注释的结尾,可以将变量设置回False。如果在变量为False时找到关键字,则知道该关键字出现在代码中。通过类似的方式,您可以检查//是否出现在同一行中
'//' in currentLine
我想到了这一点,但如何处理字符串或包含所需关键字的变量?“//”不在currentLine中,而“myKeyword”在currentLine和noComment中,其中noComment=True如果不在/**/中,则您知道“myKeyword”嵌入在注释之外,您可以采取适当的操作。您如何处理字符串?我得到评论,但是字符串?