lilfesという言語のソースにassoc_new <- [pred].なるものがあるのですが、これはオブジェクト思考でいうインスタンス化のようなものですか?
以下ソースの一部
:- module("common:sem:sem_variable").
:- module_interface.
sem_init <- [pred].
sem_get <- [pred].
sem_set <- [pred].
sem_delete <- [pred].
%% 意味素性を取りだします。
get_sem_features <- [pred].
%% 意味素性をセットします。
set_sem_features <- [pred].
%% 現在の意味情報
:- assoc_new("common:sem:sem_variable:sem").
このソースをロードすると
Warning: 'common:sem:sem_variable':assoc_new <- [pred]. is assumed implicitly at /usr/local/Kura/common/sem/sem_variable.lil:24
Run-time Warning: no goal of 'common:sem:sem_variable':'assoc_new/1' is defined
てな警告が出てしまいます。
アドバイスお願いします。
No.2ベストアンサー
- 回答日時:
> lilfesという言語のソースにassoc_new <- [pred].なるものがあるのですが、
提示されたソースの中にはないようですが?
> これはオブジェクト思考でいうインスタンス化のようなものですか?
おそらく違います。
assoc_new という述語を assoc_new <- [pred]. で型定義する前に :- の右辺に使ったために警告が出ているだけに見えます。
参考: http://www-tsujii.is.s.u-tokyo.ac.jp/lilfes/manu … の「型定義」の項
「プログラム中で使用する型(定数及び述語)は予め、 supertype(親の型)とともに型定義がされている必要があります。」
ありがとうございます!!
assoc_new <- [pred].を付け加えたら
Warning: 'common:sem:sem_variable':assoc_new <- [pred]. is assumed implicitly at /usr/local/Kura/common/sem/sem_variable.lil:24
は出なくなりましたが
Run-time Warning: no goal of 'common:sem:sem_variable':'assoc_new/1' is defined
これは消えてくれませんでした・・。
これはなぜなのでしょう?
No.3
- 回答日時:
> Run-time Warning: no goal of 'common:sem:sem_variable':'assoc_new/1' is defined
> これは消えてくれませんでした・・。
> これはなぜなのでしょう?
assoc_newが述語であることだけを型定義しても、その述語の内容がどこにも定義されていないからです。つまり、
assoc_new(X). とか
assoc_new(X) :- 構造1, 構造2, …… . という形の確定節が必要なのではないかと思われます。
ありがとうございます。どうやらlilfesについて(もしくはprologに関して)もっと勉強しなければ前に進まないとわかりました。
lilfesに関してはサイトはあるにはあるのですが、私には難解で難しく、たびたびまたこちらで質問することになりそうです・・・。
ありがとうございました。
No.1
- 回答日時:
「lilfesという言語のソースにassoc_new <- [pred].なるものがある」と書かれてますけど, これは「LiLFeS の処理系のソース」ではないですよね? 「LilFeS 言語で書いたソース」のことですよね? でも, 自分で書いたものなら当然自分で理解できてないと困ると思うんだけどなぁ.
エラーメッセージに
「at /usr/local/Kura/common/sem/sem_variable.lil:24」
と出ているということは, ソースァイル /usr/local/Kura/common/sem/sem_variable.lil の 24行目が怪しいってことだ.
その 24行目ってどれ? ソースが短いならわざわざ隠すことなく全日見せてほしいな.
この回答への補足
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%
%%% Name: s**_variable.lil
%%% Author: Iwa**** To**** <t_i**@p****.ai.kyutech.ac.jp>
%%% Id: $Id: s**_variable.lil,v 1.2 2002/12/18 00:21:15 t_iwa Exp $
%%% Purpose: 意味素性関係の変数を扱う.
%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
:- module("common:sem:sem_variable").
:- module_interface.
sem_init <- [pred].
sem_get <- [pred].
sem_set <- [pred].
sem_delete <- [pred].
%% 意味素性を取りだします。
get_sem_features <- [pred].
%% 意味素性をセットします。
set_sem_features <- [pred].
%% 現在の意味情報
:- assoc_new("common:sem:sem_variable:sem").
%% 意味素性の情報
:- assoc_new("common:sem:sem_variable:configuration").
:- module_implementation.
sem_init :- !,
assoc_new("common:sem:sem_variable:sem"),!.
sem_get($MID, $PATH, $VALUE) :- !,
assoc_get(("common:sem:sem_variable:sem", [$MID, $PATH]), $VALUE),!.
sem_set($MID, $PATH, $VALUE) :- !,
assoc_set(("common:sem:sem_variable:sem", [$MID, $PATH]), $VALUE),!.
sem_delete($MID, $PATH) :- !,
assoc_delete(("common:sem:sem_variable:sem", [$MID, $PATH])),!.
%% 登録されている意味素性を取りだす.
get_sem_features($SemFutureList) :- !,
assoc_get(("common:sem:sem_variable:configuration", "sem_path"), $SemFutureList),!.
%% 使用する意味素性を登録する.
set_sem_features :- !,
(
strtotype("sem", $SEM),
type_featurelist($SEM, $LIST),
assoc_set(("common:sem:sem_variable:configuration", "sem_path"), $LIST),!
;
strprintln("<system_warning>意味素性が設定されていないようです.</system_warning>"),!
),!.
補足にソースをのせました
これは私が作成したソースではなくとあるフリーソフトのソースです。
アドバイスお願いします。
lilfesはprolog likeなものだそうで、prologに詳しい方、もしや分かるのではないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(IT・Webサービス) zoom のダウンロードはどのサイトからが安全か 2 2023/01/19 10:37
- その他(プログラミング・Web制作) pythonのエラーについて 2 2022/08/17 17:17
- プリンタ・スキャナー プリンタ壊れました。新しいの買うしかないかなと思ってます。10年以上前にmp550のキャノンのやつ買 5 2022/07/26 11:18
- オープンソース stable diffusionのインストールがうまくいきません。 1 2023/06/20 13:09
- 英語 The primary outcome variable was the overall coron 3 2022/09/28 16:11
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- サーバー WindowsでApache が起動しない 1 2022/11/29 12:21
- その他(ニュース・時事問題) 景観行政団化や景観計画策定が何故かあまり進んでいない。 3 2023/06/30 19:22
- その他(プログラミング・Web制作) Pythonのライブラリ、randomについて 3 2022/09/20 14:30
- PHP preg_matchで Warning: Undefined variableが出ます 1 2022/11/15 17:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラム時のヘッダコメント...
-
有料サイトに飛ばされる
-
VBAで#Regionに変わるものは無...
-
ソースの追加行数と変更行数
-
右クリック以外のソース表示方法
-
ポップアップを1日1回だけ表示...
-
IEでテキストの文字が一部だけ...
-
レストラン、英語のメニュー表記
-
ソースの表示を無効にする方法。
-
htmlソース文の 各行 改行位置...
-
VB詳しい方
-
実行オブジェクトからソースを...
-
c言語の改修されたソースから改...
-
#ifdef多用でソースが見づらい
-
JSPの実行結果をHTMLに変換
-
Dreamweaverのコードカラーが黒...
-
ソースを表示させない方法はあ...
-
ホームページの文字化け
-
ホームページビルダー HTMLの...
-
HTMLからフォルダを開きたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで#Regionに変わるものは無...
-
プログラム時のヘッダコメント...
-
【VC++6.0(MFC)】Access Violat...
-
ソースの追加行数と変更行数
-
Dreamweaverのコードカラーが黒...
-
レストラン、英語のメニュー表記
-
JSPの実行結果をHTMLに変換
-
#ifdef多用でソースが見づらい
-
ソースの表示を無効にする方法。
-
generatorとは?
-
VBAでhtmlソースから特定の文字...
-
c言語の改修されたソースから改...
-
「INT86(・・・・・・);」 っ...
-
コメントが閉じてないというエ...
-
jsファイルの中身を確認したい…
-
borderの下線が表示されない
-
画像と文字が重なって表示される。
-
VisualBasicがインストールされ...
-
htmlでソースを表示させたくな...
-
innerHTML で表示変更した時の...
おすすめ情報