0

我正在尝试使用在函数规则中进行全局环境查找的语法来编译模块。当我尝试使用 Java 后端编译我的模块时,我收到错误Conversion of KAs unsupported on Java backend! (_0,(I),_1) #as #Configuration,可能与脱糖有关(尽管pending-documentation状态“这完全被 K 前端脱糖并且不需要后端的任何特殊支持。”...但由于它待定,我知道它可能并不总是完全准确)。

所以我尝试了 Haskell 后端。这也给了我一个关于 using 的错误#isConcrete,我注意到它被记录为 Haskell 后端不支持......但我没有使用#isConcrete. 但是,我发现如果我从使用的配置中删除单元格stdout,那么我将不再收到此错误。

是否可以同时使用这种语法拥有stdout?理想情况下,我可以继续使用 Java 后端,因为这是我遇到的问题最少的地方。

下面是一个产生错误的简单示例:

module TEST-SYNTAX
    imports DOMAINS-SYNTAX
    syntax Prog ::= run(Int)
endmodule

module TEST
    imports TEST-SYNTAX
    imports DOMAINS

    syntax KResult

    configuration
        <k> $PGM:Prog </k>
        <bar> 6 </bar>
        <log stream="stdout"> .List </log>

    syntax Int ::= foo(Int) [function]

    rule [[ foo(0) => I ]]
         <bar> I </bar>

    rule run(I) => foo(I)
endmodule

程序很简单run(0)

4

0 回答 0