是否有Perl的LLVM后端?

Roh*_*rve 3 perl llvm clang intermediate-language llvm-ir

我有一个用C编写的项目,我希望将其转换为Perl.我的一个朋友建议使用LLVM.我使用Clang将我的C代码编译为LLVM程序集.现在我正在尝试将此中间表示转换为Perl,但我似乎无法找到它的任何后端.有人会指出我正确的方向吗?

Eli*_*sky 7

  1. 不,没有这样的后端.至少不是直接的.Emscripten将LLVM IR转换为Javascript,也许您可以使用其他东西将其转换为Perl.
  2. 将项目从一种语言转移到另一种语言是一个非常糟糕的主意.代码将完全不可读且无法维护.要么做一个诚实的改写或包裹你的C与Perl的外国功能界面工具库,并使用它 Perl的.


ike*_*ami 6

转换为Perl是不行的.它还没有完成,因为在Perl中模拟C会非常慢.对于初学者来说,他们有完全不同的类型系统.但是,完全没有必要将代码转换为Perl以从Perl调用它.您可以从Perl加载已编译的C代码.

您需要做的是告诉Perl如何调用这些C函数.Perl处理标量等等,但C处理整数等等.这是使用XS完成的.

perlxstut包含有关如何完成所有这些操作的文档.