Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何标记c++;源代码文件(转换为令牌序列)?_C++_C++builder_Tokenize_Plagiarism Detection - Fatal编程技术网

C++ 如何标记c++;源代码文件(转换为令牌序列)?

C++ 如何标记c++;源代码文件(转换为令牌序列)?,c++,c++builder,tokenize,plagiarism-detection,C++,C++builder,Tokenize,Plagiarism Detection,可能重复: 我有一个项目“C++文件剽窃检测器”< /P> 以及需要知道如何将C++文件转换为令牌序列: int factorial(int n) { if (n == 0) return 1 ; else return n * factorial(n-1) ; } 为此: Int, factorial, (, int, n, ), {, if, (, n, ==, 0, ), return, 1, ;, else, return, n, *, factorial, (, n, -, 1,

可能重复:

我有一个项目“C++文件剽窃检测器”< /P>

以及需要知道如何将C++文件转换为令牌序列:

int factorial(int n) {
if (n == 0) return 1 ;
else return n * factorial(n-1) ;
}
为此:

Int, factorial, (, int, n, ), {, if, (, n, ==, 0, ), return, 1, ;, else, return, n, *, factorial, (, n, -, 1, ), ;, }

人们通常使用lexer生成器或解析器生成器的lexer部分编写标记器,如。C++语法和LeX和YACC的词法分析器和解析器是.< 这些lexer(在一定程度上)归结为许多正则表达式,以及一些用于在模式(例如字符串模式、注释模式和语言模式)之间切换的代码