素性構造型対応AZ-Prolog Ver.9をリリース致しました。ぜひ一度おためしください。 x

FAQ

■AZ-Prolog全般

【Q】AZ-Prologに付属する拡張機能の使い方について教えて下さい。

質問:

例えば、制約論理述語の「in /xfx」の実行例として

|?-3 in 0..3.

を実行するとnoになってしまいます。


回答:
「dll/so/dylib」化されている拡張機能を使用するには、dlib_requireで拡張ライブラリをロードする必要があります。
質問の実行例にもあります制約論理述語を使用する場合には、clpライブラリをロードしてからご使用下さい。


|?-dlib_require(clp).
yes
|?-3 in 0..3.
yes


なお拡張機能の概要、各機能の詳細は、ユーザーズマニュアル「9.拡張機能パッケージ」をご参照下さい。

【Q】アプリケーションの起動のたびにコンソールが表示されてうっとうしい

質問:

スタンドアロンで動くアプリケーションをPrologで作成してコンパイルした。
これを起動すると毎回コンソールウィンドウが表示される。
文字入出力は全く 必要ないプログラムなのでコンソールが表示されないようにしたい。



回答:

コンパイルの時 azpc にオプション '/i' または '/curses' を指定してください。
このどちかのオプションを指定してコンパイルしたアプリケーションは ウィンドウアプリになるのでスタートメニュー等から起動したときには その必要が生じるまでコンソールを持たないまま動作します。
文字入出力を行ったときにはコンソールを作成するのでデバッグ等も問題ありません。
だだし標準入出力のリダイレクトは無効になります。
オプション '/i', '/curses' のどちらも指定せずにコンパイルしたアプリケーションはコンソールアプリになります。
この場合スタートメニュー等から起動するとシステムが自動的にコンソールを作成します。
そのかわり標準入出力のリダイレクトは有効なのでフィルタとして動作するプログラムが作れます。

【Q】windows Vista で AZ-Prolog のhelpがでません!

回答:

|?-help.
no
となる場合の対処はマイクロソフトのURLに書いてありますのでご対応ください。
http://www.microsoft.com/ja-jp/download/details.aspx?id=5143

【Q】Windows7 で x64としてフルコンパイルする手順は?

回答:

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環境
になっているかどうか確認ください。

以上ですので、ご確認ください。

【Q】AZ-PrologX64でMecab、Cabochaを使う方法

回答:

/*
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.
[私,名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ]
[の,助詞,連体化,*,*,*,*,の,ノ,ノ]
[名前,名詞,一般,*,*,*,*,名前,ナマエ,ナマエ]
[は,助詞,係助詞,*,*,*,*,は,ハ,ワ]
[稲葉,名詞,固有名詞,人名,姓,*,*,稲葉,イナバ,イナバ]
[です,助動詞,*,*,*,特殊・デス,基本形,です,デス,デス]
*/

【Q】Visual Studio 2008 Express Editions によるフルコンパイルの環境作成方法を教えてください

回答:

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).

【Q】Windows(vista,7)x64でフルコンパイルする手順は? (2013.04版)

回答:

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)]を選びます。

<元のファイル>
<372行目> SET LIB=
<373行目> SET LIBPATH=
<374行目> SET INCLUDE=

<書き換え後>
<372行目> :: SET LIB= <-- 372行目コメントアウト
<373行目> SET LIBPATH=
<374行目> :: SET INCLUDE= <-- 374行目コメントアウト

4)コンパイル環境コマンドシェルのショートカットをデスクトップにコピーする
[スタートメニュー]->[すべてのプログラム]->[Microsoft Windows SDK v7.1]->[Windows SDK 7.1 Command Prompt]
をマウス右クリックしてメニューを開き、[送る(N)]->[デスクトップ(ショートカットを作成)]を選択する。

5)以降、AZ-Prologコンパイラを利用するときはこのシェルを開いて作業を行います。
Cコンパイラのインストールがされていれば、Prologフルコンパイルにおいては、AZPCコマンドを使うだけで、C言語を意識することはほとんどありませんので、ぜひインストールしてフルコンパイルをお試しください。

【Q】Windows7のProgram FilesフォルダにAZ-Prolog ver.7をinstallした際の注意点について

回答:

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へのファイルの書き込みが許可されていないために起こるエラーの可能性が高いですので、書き込みができるフォルダに、コンパイルしたいファイルをコピーするなどして対処してください。

【Q】Az-env.batをデスクトップにコピーする際の注意点について

回答:

AZ-Prolog ver.7をinstallしたフォルダの直下には環境変数を設定したコマンドプロンプトを立ち上げる「AZ-env.bat」というバッチファイルがあります。
これをディスクトップなどにコピーしたい場合には、マウス右クリック→送る→デスクトップ(ショートカットを作成)で作成してください。

単にコピーするだけだと相対パスの関係から正常に動作しません。

■エラーについて

【Q】オートメーションサーバーをコンパイルするとリンクエラーになる

質問:

automation/3 述語を使ってオートメーションサーバーを作った。
これをコンパイルしようとするとリンクエラー(未定義シンボル)が出る。



回答:

azpc にオプション '/i' または '/curses' を指定してウィンドウアプリにしてください。
オートメーションサーバーは内部でメッセージループを構成するためウィンドウアプリでなければいけません。
したがってコンパイル時にこれらのオプションのどちらかが必須です。

【Q】Windows API を使用したプログラムがリンクエラーになる

質問:

winCallApi 述語等を使ってWindows APIを呼び出すプログラムを作った。
これをコンパイルしようとするとリンクエラー(未定義シンボル)が出る。



回答:

azpc にオプション '/i' または '/curses' を指定してウィンドウアプリにしてください。
AZ-PrologのWindows API呼び出しの仕組みはウィンドウアプリからでないとうまく働かないため、 コンパイル時にこれらのオプションのどちらかが必須です。

■サイトについて

【Q】chromeブラウザでPDFが表示されない

原因:

chromeブラウザでは、PDF表示においてデフォルトで組み込みの PDF ビューアが起動されるため、うまくPDFを表示できない時があるようです。

 

対処:

組み込みの PDF ビューアを無効にし、Adobe Acrobat または Adobe Reader を有効にしてください。手順は以下のとおりです。

  1. アドレスバーに「chrome://plugins」と入力します。
  2. Adobe Acrobat または Adobe Reader まで下にスクロールします(これらはインストール済みの場合にのみ表示されます)。
  3. [有効にする] をクリックします。

https://support.google.com/chrome/answer/142056?hl=ja