查找有关非平凡编程语言扩展的术语/名称

时间:2013-08-09 08:34:17

标签: language-agnostic programming-languages

像这样的事情:

    在С中
  • alloc/freepthread_*longjump Java中的
  • ThreadThreadLocalClassLoaderJavaCompilerjava.lang.instrumentWeakReference
  • C ++模板语言扩展(回到过去)
  • 运行时二进制/字节代码检测

需要运行时的特殊支持,并为语言本身无法表达的语言添加新的语义。

汇编语言扩展或外部模块或内置反射API也可以访问运行时并可以改变行为。

我寻找一般为这种语言扩展命名的术语,它为通常的语言结构无法表达的语言带来新的语义。

1 个答案:

答案 0 :(得分:1)

听起来你在谈论 Directitive Pragma 。来自wikipedia

  

在计算机编程中,指令或编译指示(来自“实用”)是一个   语言构造,指定编译器(或汇编程序或   解释器)应该处理它的输入。指令不属于   语言本身 - 它们不是语法的一部分,可能会有所不同   编译器到编译器 - 但是作为带内形式起作用   命令行选项,指定编译器行为,或者是   由预处理器处理。在某些情况下,指令指定全局   行为,而在其他情况下,它们只会影响本地部分,例如   作为编程代码块。在某些情况下,例如一些C pragma,   指令是可选的编译器提示,可以忽略,但是   通常它们是规定性的,必须遵循。但是,一个   指令不会在语言本身中执行任何操作,但是   而只是改变了编译器的行为。