gpt4 book ai didi

java - 什么是合适的词法分析器生成器,我可以使用它从许多语言源文件中去除标识符?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:29:14 24 4
gpt4 key购买 nike

我正在为我的大学开展一个小组项目,该项目将用于计算机科学中的剽窃检测。

我的小组主要使用这篇期刊文章中描述的哈希/指纹识别技术:Winnowing: Local Algorithms for Document Fingerprinting .这与 MOSS 的方式非常相似剽窃检测系统有效。

我们基本上是获取同学源代码的 k-gram 哈希值,并在数据库中查找它们以进行相关匹配(以及我们如何确定选择哪些哈希值作为文档指纹的大量优化)。

我们项目的第一个方面是它的“前端”部分,它将包含关于我们的检测系统可以处理的每种文件格式的一些语义知识。这将使我们能够从文档中删除一些我们不再需要的细节,以进行剽窃检测。基本上我们希望能够将各种编程语言中的所有变量重命名为常量字符串或字母。

什么是我们可以用来帮助将不同语言源代码文件中的所有变量重命名为常量的轻量级解决方案(词法分析器生成器或类似的东西)?

我们的项目是用 Java 编写的。

理想情况下,我只是希望能够为每种语言定义一个语法,然后我们的前端将能够将该语言源文件中的所有标识符重命名为某个常量。然后,我们将为我们想要支持的每种文件格式(java、c++、python 等)执行此操作。

最佳答案

对于词法分析器/解析器生成器,您应该查看 ANTLR。 TXL,一个文本转换解释器,也值得一看。两者都应该有现成的语法。

关于java - 什么是合适的词法分析器生成器,我可以使用它从许多语言源文件中去除标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2120026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com