【问题标题】:PolyML runtime evalPolyML 运行时评估
【发布时间】:2016-01-06 18:41:23
【问题描述】:
我目前正在使用 PolyML 5.5.2,并尝试创建一个运行时编译器函数,该函数接受一个字符串并运行它。
想要的功能应该是这样的
有趣的评估字符串 -> 单位
输入时
>eval "val a=1;";
val a = 1: int
我做了一些研究,在旧版本中有一个类似 PolyML.compilerEx 的函数,但在 PolyML 5.5.2 中似乎没有这样的东西。
非常感谢大家。
【问题讨论】:
标签:
compiler-construction
runtime
eval
polyml
【解决方案2】:
你会想要一些类似的东西
PolyML.compiler(infn,
[PolyML.Compiler.CPErrorMessageProc record_error,
PolyML.Compiler.CPOutStream obufPush]) ()
其中infn 是提供编译器字符的函数,obufPush 是消耗编译器输出的函数。 record_error 在我从中采样的代码中定义为:
fun record_error {message,...} = PolyML.prettyPrint(obufPush,70) message