0
我需要爲java源代碼抄襲檢測器編寫一個詞法分析器。 這是我想要實現的一個例子。JFlex Lexer區分「類括號」和「方法括號」
//Java code Tokens:
public class Count { Begin Class
public static void main(String[] args) Var Def, Begin Method
throws java.io.IOException {
int count = 0; Var Def, Assign
while (System.in.read() != -1) Apply, Begin While
count++; Assign, End While
System.out.println(count+" chars."); Apply
} End Method
} End Class
我認爲Jflex是生成詞法分析器的正確工具。然而在看過一些例子之後。我無法找到區分類括號和方括號的方法。我發現大多數分化器只是將它們識別爲相同的標記。另外我如何區分一個方法適用於變量標識符?
感謝您的澄清。是否有任何現有的示例代碼或工具可以修改以我的方式解析代碼? –
@ Y.Zhao有各種解析器組合器的Java語法示例,但是我無法找到與JFlex一起使用的Java語法。我不認爲JFlex + Cup或JFlex + BYaccJ或流行組合(如果他們曾經是)。如果你沒有和JFlex結婚,你應該很容易找到Antlr的Java語法。 – sepp2k