我正在寻找一种编程语言,该语言具有编译器并支持自修改代码。我听说Lisp支持这些功能,但我想知道是否有一种更像C/C++/D的语言具备这些功能。
为了澄清我的意思:
我希望能够以某种方式在运行时访问程序代码,并对其进行任何类型的更改,即删除命令、添加命令、更改命令,就像我拥有程序的AstTree一样。当然,在编译语言中无法拥有该树,因此必须采用不同的方法。编译器需要将自修改命令转换为它们的二进制等效修改,以便它们可以在编译后的代码中运行。
我不想依赖虚拟机,这就是我所说的编译 :)
为了澄清我的意思:
我希望能够以某种方式在运行时访问程序代码,并对其进行任何类型的更改,即删除命令、添加命令、更改命令,就像我拥有程序的AstTree一样。当然,在编译语言中无法拥有该树,因此必须采用不同的方法。编译器需要将自修改命令转换为它们的二进制等效修改,以便它们可以在编译后的代码中运行。
我不想依赖虚拟机,这就是我所说的编译 :)