【问题标题】:Does KLEE (LLVM) carry out compiler steps?KLEE (LLVM) 是否执行编译器步骤?
【发布时间】:2015-02-19 03:35:38
【问题描述】:

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

【问题讨论】:

    标签: compiler-construction llvm interpreter klee


    【解决方案1】:

    它主要依赖于LLVM正则优化,同时也提供了一些自定义的转换;有关详细信息,请参阅lib/Module

    对于 libc 运行时,它链接由选项 -libc(none, klee, uclibc) 指定的其他 IR ;如果启用了 posix 运行时 (-posix-runtime),则输入位码文件中的原始 main 函数将替换为可以符号化 argv 的函数。 KLEE 执行/解释的最终 IR 是测试用例 klee-last 目录中的assembly.ll。其余部分,KLEE 是assembly.ll 的解释器。

    【讨论】:

    • 好的,它解释了 llvm 位代码。在这个过程过程中是否进行词法分析、语法分析、语义分析、代码优化(我相信它会这样做)、代码生成和符号表链接
    • 你说的词法分析、句法分析、语义分析是什么意思? bitcode 被编码在一个二进制文件中。
    • 所以它是在一个二进制文件中,无法检查词汇、语法和语义错误?
    • 正如wikipedia 所说:词法分析是将字符序列转换为标记序列的过程。你应该准确地告诉你你打算用 KLEE 做什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多