Compiler construction KLEE(LLVM)是否执行编译器步骤?

Compiler construction KLEE(LLVM)是否执行编译器步骤?,compiler-construction,llvm,interpreter,klee,Compiler Construction,Llvm,Interpreter,Klee,克莱真的会生成代码吗?它是否执行编译器/解释器的任何其他基准步骤?(词法分析、语法分析、语义分析、代码优化、中间代码生成、代码生成、符号表链接)它主要依赖于LLVM定期优化,但也提供一些定制的转换;有关详细信息,请参见lib/Module 对于libc运行时,它链接由选项-libc指定的附加IRs(无、klee、uclibc);如果启用了posix运行时(-posix运行时),则输入位码文件中的原始主函数将被替换为可以象征argv的主函数。KLEE执行/解释的最终IR是测试用例的KLEE最后一个

克莱真的会生成代码吗?它是否执行编译器/解释器的任何其他基准步骤?(词法分析、语法分析、语义分析、代码优化、中间代码生成、代码生成、符号表链接)

它主要依赖于LLVM定期优化,但也提供一些定制的转换;有关详细信息,请参见
lib/Module


对于libc运行时,它链接由选项
-libc
指定的附加IRs(无、klee、uclibc);如果启用了posix运行时(
-posix运行时
),则输入位码文件中的原始主函数将被替换为可以象征
argv
的主函数。KLEE执行/解释的最终IR是测试用例的KLEE最后一个目录中的
assembly.ll
。在其余部分中,KLEE是
assembly.ll

的解释器。好的,它解释llvm位代码。在这个过程中,它是否进行词汇分析、语法分析、语义分析、代码优化(我相信它会这样做)、代码生成和符号表链接您所说的词汇分析、语法分析、语义分析是什么意思?比特码是在二进制文件中编码的。因此,如果比特码是在二进制文件中,则无法检查词汇、语法和语义错误?正如所说:词汇分析是将字符序列转换为标记序列的过程。你应该确切地告诉我你要对克莱做什么。