ASM2LLVM:从定制汇编器到LLVM IR的最简单翻译器

时间:2024-05-01 18:34:30
【文件属性】:

文件名称:ASM2LLVM:从定制汇编器到LLVM IR的最简单翻译器

文件大小:66KB

文件格式:ZIP

更新时间:2024-05-01 18:34:30

C++

ASM2LLVM 该存储库将用于体系结构的二进制程序转换的源代码包含到LLVM IR代码中。 要求 该项目使用软件包(版本10.0.0)。 语言标准是c ++ 14。 命令提示符 例如,构建项目后,可以在翻译器文件中使用以下命令: -i <文件名> 指定包含编译程序的输入文件。 启动时需要此标志。 -o <文件名> 指定翻译器的输出文件。 如果未指定此标志,则翻译结果将显示在屏幕上。 -l <文件名> 指定日志文件的名称。 默认的日志文件是“ log.log”。 -n 禁用日志记录。 发生错误时,调试信息会打印到屏幕上。 -r 广播后启动程序执行。 --memorySize = <字节数> 指定虚拟处理器内存的大小(以字节为单位)。 最小内存大小为128字节,最大为512 KB。 --makeItBetter 设置此标志后,转换器将优化生成的LLVM IR。 例子 目录包含


【文件预览】:
ASM2LLVM-main
----Compile&RunIR.sh(235B)
----CircularBuffer.h(2KB)
----InterpretedFunctions.inc(1KB)
----Asm()
--------AsmTables.h(666B)
--------Disasm.cpp(13KB)
--------Compilator.cpp(29KB)
--------Asm.h(3KB)
--------Asm.cpp(5KB)
----Readme_en.md(2KB)
----staticLib.cpp(4KB)
----CPU()
--------CPU.h(3KB)
--------CPUInfo.h(486B)
--------Memory.cpp(1KB)
--------CPU.cpp(21KB)
----Compile&RunIR.bat(254B)
----examples()
--------simple_stack.asm(106B)
--------factorial.asm(150B)
--------Readme_en.md(407B)
--------variables.asm(120B)
--------Readme.md(731B)
--------sum.asm(74B)
--------sum.ll(1KB)
--------variables.ll(2KB)
--------factorial.ll(2KB)
--------simple_stack.ll(3KB)
----Tools()
--------LibStr.h(176B)
--------Logger.cpp(2KB)
--------CallStack.cpp(955B)
--------Argparser.h(719B)
--------LibStr.cpp(4KB)
--------Logger.h(993B)
--------CallStack.h(327B)
--------Argparser.cpp(1KB)
----README.md(4KB)
----Extend.h(26KB)
----Types.h(264B)
----main.cpp(1KB)
----ASM2LLVM()
--------LLVMPreparationStage.cpp(2KB)
--------BBMapGeneratorStage.cpp(6KB)
--------External_functions.inc(202B)
--------ASM2LLVM.h(4KB)
--------ExecutionStage.cpp(2KB)
--------CodeGenerationStage.cpp(31KB)
--------ASM2LLVM.cpp(5KB)
--------ParseBinaryStage.cpp(2KB)
----SimplestIR.cpp(3KB)
----Stack()
--------Stack.h(3KB)
--------Stack.cpp(16KB)
--------Stack_kernel.h(5KB)

网友评论