We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
deref 命令では,findatom と異なり,付随するはずの neqatom 命令が出ていません.
a(X, X). a(X, Y), a(Y, X) :- b.
これは例えば -O3 --use-swaplink とかつけてコンパイルするとこんな感じになる(オプション有無はこのバグには関係ないが)
spec [1, 5] findatom [1, 0, 'a'_2] deref [3, 1, 1, 0] deref [2, 1, 0, 1] func [2, 'a'_2] eqatom [3, 2] commit ["_aXYa", 0] ...
注意すべきなのは neqatom 命令が出ていないこと.
neqatom が出ていないので,自己終端的なものにもマッチしてしまう.
結果,上記プログラムは,実行すると,
b. @4.
になって停止する(二重解放やメモリリークも発生しているのではないか?と思ったけど,segmentation-fault までははしなかった)
findatom 命令を複数回行う際には neqatom 命令を出すのだが,deref を出す時は忘れているらしい.
The text was updated successfully, but these errors were encountered:
fixing issue #101
c1fa216
fix/101 に修正案を置きました.
Sorry, something went wrong.
No branches or pull requests
アトムへの非単射的マッチング
deref 命令では,findatom と異なり,付随するはずの neqatom 命令が出ていません.
これは例えば -O3 --use-swaplink とかつけてコンパイルするとこんな感じになる(オプション有無はこのバグには関係ないが)
注意すべきなのは neqatom 命令が出ていないこと.
neqatom が出ていないので,自己終端的なものにもマッチしてしまう.
結果,上記プログラムは,実行すると,
になって停止する(二重解放やメモリリークも発生しているのではないか?と思ったけど,segmentation-fault までははしなかった)
findatom 命令を複数回行う際には neqatom 命令を出すのだが,deref を出す時は忘れているらしい.
The text was updated successfully, but these errors were encountered: