【发布时间】:2016-01-21 08:28:44
【问题描述】:
我们正在使用 FSharp 编译器服务 FSI 评估会话来执行 DSL。准确地说,我们使用 F# 代码来模拟 CNC 机器的 G 代码。随着 FSI 脚本的每一行将机器移动到不同的位置,我们的用户希望看到正在执行的脚本的当前行与机器的位置同步。
是否可以从 FSI 评估会话中获取回调,指示当前正在执行的行?
【问题讨论】:
-
您想在哪里查看此信息?我在某处描绘了一个单独的窗口,仅显示一行,该行是一行 F#(可能是生成的 G 代码)。我理解正确吗?
-
是的。在真实控制器上,它们显示当前执行的 G 代码位。对于我的模拟,我想复制它。
-
...为了清楚起见,在 sim 上,同时显示 G 代码(如在真实控制器上)和 F# 源代码? (顺便说一句,我并不是说我知道该怎么做,只是澄清一下,以防其他人知道。)
-
你能不能用 sed 脚本替换每一行
line := __LINE__ ; actual contents。该转换适用于许多位 F# 代码。然后你可以检查line的值 -
这是一个长镜头,但这有关系吗? markheath.net/post/linqpad-dump-for-f
标签: f# read-eval-print-loop fsi