AZ-Prolog全般
回答:
AZ-Prolog ver.7をinstallしたフォルダの直下には環境変数を設定したコマンドプロンプトを立ち上げる「AZ-env.bat」というバッチファイルがあります。
これをディスクトップなどにコピーしたい場合には、マウス右クリック→送る→デスクトップ(ショートカットを作成)で作成してください。
単にコピーするだけだと相対パスの関係から正常に動作しません。
1) OfficeとともにリリースされているWindows7x64にはAccessx64のODBCが含まれています。
コントロールパネル->管理ツール->データソース(ODBC)->ドライバを開き、Microsoft Access Driver(*.mdb,*.accdb)があることを確認してください。
2) Accessドライバがない場合、次のURLから AccessDatabaseEngine_X64.exe をダウンロードして実行することでインストールします。
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=ja
3) このドライバを使ってシステムDSNを作成します。
手順はAZ-PrologのHP [Windows版インストールと使い方] 【5:ODBCの設定】の32ビットODBCの設定を64ビットに読み替えてください。
4) AZ-PrologX64のインタプリタを再生成します。
4-1) AZ-Prologインストールディレクトリ\system\pl\odbc_prolog.plの256行目を[管理者権限のエディタ]で開き修正します。
<修正内容>
該当行中の s_version(_,’Win32′,_,_),を削除
<元のファイル>
s_version(_,’Win32′,_,_),!,A0 is A/256,A1 is A mod 256,
<書き換え後>
!,A0 is A/256,A1 is A mod 256,
4-2) AZ-Prologインストールディレクトリ\system\make をディレクトリごと作業場所へコピーします。
4-3) 64ビット C++コンパイル環境コマンドシェルを開き、コピーしたディレクトリに移動します。
4-4) コンパイルバッチ azpc_sample2.bat を実行します。
4-5) 生成された prolog.exe prolog_c.exe prologcgi.exe を AZ-Prologインストールディレクトリ\binへコピーします。
5) ODBCのテストは AZ-PrologのHP [Windows版インストールと使い方] の【5:ODBCの設定】を参照し、prolog32.exe ではなく、
今生成した64ビット版Prologインタプリタ(prolog.exe) を立ち上げて確認してください。
回答:
/*
Win版Mecab,Cabochaの提供ライブラリは32ビットアプリのため、2011年現在、AZ-PrologX64にリンクして利用することができませんが、
次のような簡単なプログラムによってMecab,Cabochaを子プロセスとして立ち上げ、利用することができます。
*/
:-kanji_mode(_,off).
:- public launch_put/2.
launch_put(I,[]) :- !,nl(I).
launch_put(I,[A|L]) :-put(I,A),launch_put(I,L).
:- public launch_get/2.
launch_get(O,L):- launch_get2(O,dummy,[_|L]).
launch_get2(O,[‘EOS’] ,[] ):-!.
launch_get2(O,X, [X|L]):- get0(O,S),m_get(O,S,Q-Q,Y),launch_get2(O,Y,L).
m_get(O,31,Q-[], W):- !,m_to_atom(Q,W-[]). % End Of Line
m_get(O,D, Q-[], W):- (D=32;D=9;D=44),!,m_to_atom(Q,W-L),get0(O,Y),m_get(O,Y,R-R,L). % Delimita
m_get(O,X, Q-[X|R],W):- get0(O,Y),m_get(O,Y,Q-R,W). % Word Proceeding
m_to_atom([],L-L):-!.
m_to_atom(X,[A|L]-L):-name(A,X).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% Launcher Test Program ( How To Use ) %%%%
test_mecab:- test(mecab,[]).
test_cabocha1:- test(cabocha,[]).
test_cabocha2:- test(cabocha,[‘-f1’]).
test(Exe,Param):-
s_child(Exe,Param,I,O,D),
launch_put(I,”私の名前は稲葉です”),
launch_get(O,L),
s_kill(D,9),
m_write(L).
m_write([]):-!,nl.
m_write([X|L]):- write(X),nl,m_write(L).
/*
<実行例>
| ?-test_mecab.
[私,名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ]
[の,助詞,連体化,*,*,*,*,の,ノ,ノ]
[名前,名詞,一般,*,*,*,*,名前,ナマエ,ナマエ]
[は,助詞,係助詞,*,*,*,*,は,ハ,ワ]
[稲葉,名詞,固有名詞,人名,姓,*,*,稲葉,イナバ,イナバ]
[です,助動詞,*,*,*,特殊・デス,基本形,です,デス,デス]
*/
質問:
例えば、制約論理述語の「in /xfx」の実行例として
|?-3 in 0..3.
を実行するとnoになってしまいます。
回答:
「dll/so/dylib」化されている拡張機能を使用するには、dlib_requireで拡張ライブラリをロードする必要があります。
質問の実行例にもあります制約論理述語を使用する場合には、clpライブラリをロードしてからご使用下さい。
|?-dlib_require(clp).
yes
|?-3 in 0..3.
yes
なお拡張機能の概要、各機能の詳細は、ユーザーズマニュアル「9.拡張機能パッケージ」をご参照下さい。
回答:
1)Microsoftのサイトから次の手順でCコンパイラ等をダウンロード・インストールします。
www.microsoft.com/japan/msdn/vstudio/express/
・VisualC++ 2008 Express Edition の Webインストール
・MSDN Express Library のダウンロード・インストール
2)コントロールパネル⇒システムの詳細設定⇒環境変数で bin,include,lib にパスを追加します。
【F:がシステムボリュームの場合の追加例】
include=F:¥AZPROLOG.500¥include
<追加>;F:¥Program Files¥Microsoft Visual Studio 9.0¥VC¥include
lib=F:¥AZPROLOG.500¥lib
<追加>;F:¥Program Files¥Microsoft Visual Studio 9.0¥VC¥lib;F:¥Program Files¥Microsoft SDKs¥Windows¥v6.0A¥Lib
Path=F:¥Windows¥system32;……
<追加>;F:¥Program Files¥Microsoft Visual Studio 9.0¥VC¥bin;F:¥Program Files¥Microsoft Visual Studio 9.0¥Common7¥IDE
3)DOS窓を開きコンパイルします。
>azpc -p queen.pl /i /e queen
4)エラーがでなければ実行してみます。
>queen
| ?- q(8).
回答:
|?-help.
no
となる場合の対処はマイクロソフトのURLに書いてありますのでご対応ください。
http://www.microsoft.com/ja-jp/download/details.aspx?id=5143
回答:
Microsoft のC++ ダウンロードページと内容は時々かわりますので、2013年4月現在のC++ インストールと環境設定方法を記載します。
1)「Windows SDK for Windows 7 and .NET Framework4」をダウンロードし、インストールする。(Ver.は4.5であること)
www.microsoft.com/en-us/download/details.aspx?id=8279
2)「Visual Studio Express 2012 for Windows Desktop」をダウンロードし、インストールする。
www.microsoft.com/visualstudio/jpn/downloads#d-express-windows-desktop
※この手順でもSDKがインストールできない場合
・「Visual C++ 2010 Redistributable」がインストールされているとNGとなるので先にアンインストールしておく。
・「.NET framework 4.5」がインストールされていないとエラーとなるので、先に「.NET framework 4.5」をインストールしておく。
3)SetEnv.Cmdの一部修正
なぜか、AZ-Prologのインストールなどで設定されたINCLUDEパス、LIBパスがクリアされる記述になっていますので、SetEnv.Cmdの一部を修正します。
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd を[管理者権限のエディタ]で開き372行目と374行目をコメントアウトしセーブする。
注:管理者権限でメモ帳などのエディタを開くには、該当エディタをマウス右クリックでメニューを開き[管理者として実行(A)]を選びます。
<元のファイル>
SET LIB=
SET LIBPATH=
SET INCLUDE=
<書き換え後>
:: SET LIB= <-- 372行目コメントアウト
SET LIBPATH=
:: SET INCLUDE= <-- 374行目コメントアウト
4)コンパイル環境コマンドシェルのショートカットをデスクトップにコピーする
[スタートメニュー]->[すべてのプログラム]->[Microsoft Windows SDK v7.1]->[Windows SDK 7.1 Command Prompt]
をマウス右クリックしてメニューを開き、[送る(N)]->[デスクトップ(ショートカットを作成)]を選択する。
5)以降、AZ-Prologコンパイラを利用するときはこのシェルを開いて作業を行います。
Cコンパイラのインストールがされていれば、Prologフルコンパイルにおいては、AZPCコマンドを使うだけで、C言語を意識することはほとんどありませんので、ぜひインストールしてフルコンパイルをお試しください。
回答:
Windows7 Home Premium で x64としてフルコンパイルする手順です。
2010年9月10日現在
1. Microsoft Visual C++ 2010 Express のinstall
www.microsoft.com/japan/msdn/vstudio/express
のweb installから
2. Microsoft SDK 7.1 のinstall
www.microsoft.com/en-us/download/details.aspx?id=8279
のweb install
3. VC++のinstall directoryの Program Files(x86)¥
Microsoft Visual Studio 10.0¥VC¥vcvarsall.batで
amd64オプションを指定すると vcvars64.bat バッチファイル
で環境が設定されるはずだが、これが見つからない。
install directoryのbinの下に vcvars32.batがあるので
これを書き換える。
6行目: 32bit No64bit –> 32bit 64bit
16行目から20行目までのSdkDirを設定するところを
@set WindowsSdkDir=
@set “WindowsSdkDir=C:¥Program Files¥Microsoft SDks
¥Windows¥v7.1″
@set “PATH=%WindowsSdkDir%bin¥NETFX 4.0 Tools;%
WindowsSdkDir%bin¥x64;%PATH%”
@set “INCLUDEはそのまま
@set “LIB=%WindowsSdkDir%lib¥x64;%LIB%”
38行目:@if exist の後の部分を
set “PATH=%VCINSTALLDIR%BIN¥amd64;%PATH” とします。
57行目:上記と同様に
set “LIB=%VCINSTALLDIR%LIB¥amd64;%PATH%” とします。
62行目:上記と同様に
set “LIBPATH=%VCINSTALLDIR%LIB¥amd64;%LIBPATH%” とします。
書き換えたファイル名をmy_vcvars64.batなどとし、通常のコマ
ンドプロンプトを起動し、my_vcvars64.batを実行します。
setなどで内容を確認します。
基本的にbin, lib, libpathのあとにx64,amd64と64bit環境
になっているかどうか確認ください。
以上ですので、ご確認ください。
回答:
AZ-Prolog ver.7を例えば、Windows7の C:¥Program Files¥AZ-Prolog.708としてインストールした場合、そのフォルダ以下でコンパイルをするとエラーになる場合があります。
具体的には、AZ-Prolog.708¥sample¥parallel¥make_pen.batを実行すると、
COMPILER INTERNAL ERROR
C:¥Program Files¥AZ-Prolog.708¥sample¥paralell>del *.c & del *.obj & del mkaz.bat*.c
が見つかりませんでした。
…
というエラーになります。
これは、C:¥Program Filesへのファイルの書き込みが許可されていないために起こるエラーの可能性が高いですので、書き込みができるフォルダに、コンパイルしたいファイルをコピーするなどして対処してください。
質問:
スタンドアロンで動くアプリケーションをPrologで作成してコンパイルした。
これを起動すると毎回コンソールウィンドウが表示される。
文字入出力は全く 必要ないプログラムなのでコンソールが表示されないようにしたい。
回答:
コンパイルの時 azpc にオプション ‘/i’ または ‘/curses’ を指定してください。
このどちかのオプションを指定してコンパイルしたアプリケーションは ウィンドウアプリになるのでスタートメニュー等から起動したときには その必要が生じるまでコンソールを持たないまま動作します。
文字入出力を行ったときにはコンソールを作成するのでデバッグ等も問題ありません。
だだし標準入出力のリダイレクトは無効になります。
オプション ‘/i’, ‘/curses’ のどちらも指定せずにコンパイルしたアプリケーションはコンソールアプリになります。
この場合スタートメニュー等から起動するとシステムが自動的にコンソールを作成します。
そのかわり標準入出力のリダイレクトは有効なのでフィルタとして動作するプログラムが作れます。
setup
【STEP1】
AZ-Prolog製品サイト(https://az-prolog.com/)内のダウンロードページより、インストールするマシンのOSに対応する版をダウンロードします。(32ビットOSには、AZ-Prolog32ビット版を、64ビットOSにはAZ-Prolog64ビット版をダウンロード)
【STEP2】
ファイルを任意の場所に保存します。
【STEP3】
保存したファイルをダブルクリックで開くとインストールを開始します。(もしくは、ファイルを右クリックして「インストール」を選んでもインストールが開始します。)以降はインストーラの指示に従って操作してください。
「次のプログラムにこのコンピューターへの変更を許可しますか?」とダイアログがでたら、「はい」をクリックします。
【STEP4】
インストールが完了するとスタート画面にAZ-Prologとマニュアルが登録され、ここから開くことができます。
※古いバージョンはこの画面からアンインストールすることができます。
× 閉じる
AZ-Prologは日本語形態素解析エンジン「MeCab」と、日本語係り受け解析器「CaboCha」のインターフェースを拡張機能として提供しています。
この機能を使うためには「MeCab」及び「CaboCha」のインストールが必要です。
2014年3月現在、OSによって提供範囲が次のようになっています。
Windows 32bit | Windows 64bit | Linux 32bit | Linux 64bit | |
MeCab | ○ | ○ | ○ | ○ |
CaboCha | ○ | × | × | × |
1)MeCabインストール
日本語形態素解析エンジン「MeCab」のダウンロードサイトはここです。
2013年12月現在、AZ-Prolog Version7はmecab-0.996.exe版を使って動作確認をおこないました。
インストーラーの指示に従ってインストールしてください。
2)CaboChaインストール(Windows 32bitのみ)
日本語係り受け解析器「CaboCha」のダウンロードサイトはここです。
2014年3月現在、AZ-Prolog Version7はcabocha-0.66.exe版を使って動作確認をおこないました。
インストーラーの指示に従ってインストールしてください。
※ 最新版ではございませんので注意してダウンロード、インストールをしてください。
3)MeCab、CaboChaインストール後の設定作業
環境変数PATHに「MeCab」と「CaboCha」のインストール先「binディレクトリ」を両方とも追加してください。
なお標準インストールされた場合、以下の場所となっております。
対応OS | MeCab | CaboCha |
32ビットOS | C:\Program Files\MeCab\bin | C:\Program Files\CaboCha\bin |
64ビットOS | C:\Program Files (x86)\MeCab\bin | C:\Program Files (x86)\CaboCha\bin |
環境変数の追加方法については、2-1-2.環境設定をご参照してください。
また、Windows64bitの場合のみ、AZ-Prologパッケージで提供している64bit用dllとlibをMeCabインストール先にコピーが必要となります。
「%AZ-Prolog%\macab64」にコピーバッチ”install.bat”がありますので、同ファイルをテキストエディタで開き、インストール先を確認の上、必要であれば書き換えてください。
コマンドプロンプトを「管理者として実行」で開き、コピーバッチ先のディレクトリへ移動の上実行してください。
4)設定が完了したら、Prologインタプリタを開いてテストしてみましょう。
× 閉じる
AZ-Prologのフルコンパイラ(C言語ソース出力)を使う場合、「Visual Studio Community 2017 」のインストールが必要です。 Microsoft Visual Studioのダウンロードサイトから無償でダウンロードできます。
- Microsoftダウンロードセンターの「Visual Studio Community」ダウンロードページへアクセスします。【ダウンロードサイトURL】https://www.visualstudio.com/ja/vs/community/
- 「VS Community 2017 のダウンロード」をクリックしてください。
- vs_community_xxxxxxxxx.exeを起動しインストールを開始してください。
インストールする際にc++によるデスクトップ開発にチェックを入れ、インストールしてください。 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2017\Visual Studio Tools\VC
からVisual Studio ツールを開き、64ビット版の場合は「x64 Native Tools Command Prompt for VS 2017」、32ビット版の場合は「x86 Native Tools Command Prompt for VS 2017」を右クリック ⇒ 送る ⇒ デスクトップ(ショートカットの作成)をクリックすると、デスクトップにショートカットが作成されます。
Microsoft Visual Studio Express 2015のインストール方法はこちら
× 閉じる
エラー
質問:
winCallApi 述語等を使ってWindows APIを呼び出すプログラムを作った。
これをコンパイルしようとするとリンクエラー(未定義シンボル)が出る。
回答:
azpc にオプション ‘/i’ または ‘/curses’ を指定してウィンドウアプリにしてください。
AZ-PrologのWindows API呼び出しの仕組みはウィンドウアプリからでないとうまく働かないため、 コンパイル時にこれらのオプションのどちらかが必須です。
質問:
automation/3 述語を使ってオートメーションサーバーを作った。
これをコンパイルしようとするとリンクエラー(未定義シンボル)が出る。
回答:
azpc にオプション ‘/i’ または ‘/curses’ を指定してウィンドウアプリにしてください。
オートメーションサーバーは内部でメッセージループを構成するためウィンドウアプリでなければいけません。
したがってコンパイル時にこれらのオプションのどちらかが必須です。