グラフのテキスト出力で','が抜けてしまう問題
m-nozo opened this issue · comments
m-nozo commented
slim(version 2.3.1 (5da0247))で以下のプログラムを実行すると膜の間のカンマが抜けてしまう
a({+X},{},{+X})
実行結果
a(L0,{},L3). {+L1. +L3. }{+L1. +L0. }.
m-nozo commented
原因はおそらく膜を順番に出力する際に、すでに出力済みの膜があった場合にカンマを出力しないコードになっているから
https://github.com/lmntal/slim/blob/develop/src/vm/dumper.c#L760-L763
/* 次の膜が既に出力済みならスキップする */
if (lmn_mem_next(m) && !hashtbl_contains(ht, (HashKeyType)(lmn_mem_next(m)))) {
port_put_raw_s(port, ", ");
}