-2

我正在做一个关于软件剽窃检测的项目..我打算用语言 C..因为我应该创建一个令牌生成器和一个解析器..但我不知道从哪里开始..任何人都可以帮我解决这个..

我创建了一个令牌数据库,并将令牌从我的程序中分离出来。接下来我想做的是比较两个程序,看看它是否被抄袭。为此,我需要创建一个语法分析器。我不知道从哪里开始......

即我想为python中的c程序创建一个解析器

4

3 回答 3

3

如果您想在 Python 中创建解析器,可以查看以下库:
PLY
pyparsing
Lepl - 新但非常强大

于 2010-10-20T12:05:56.777 回答
1

自己构建一个真正的 C 解析器是一项非常艰巨的任务。

我建议你要么找到一个已经完成的,例如。pycparser或者你定义一个很容易解析的非常简单的 C 子集。

在完成 C 的解析之后,你的抄袭检测器还有很多工作要做。

于 2010-10-20T19:29:52.130 回答
0

我不确定您是否需要解析令牌流来检测您正在寻找的功能。事实上,它可能会使事情变得比任何事情都复杂。

您真正要寻找的是与正在测试的可疑示例代码具有非常强相似性的原始源代码序列。这听起来与贝叶斯分类器的用途非常相似,例如用于垃圾邮件过滤和语言检测的分类器。

于 2010-10-20T19:55:32.310 回答