If you cannot understand Japanese, please translate this page by "Google toolbar translation button"
Powered by 翻訳

AZ-Prolog Version 6 for Win32/Win64

ユーザーズマニュアル

<操作・機能解説書>

概要 

AZ-Prologは、手軽なデバッグや開発を提供する“インタープリタ”、インタープリタ上での実行を高速化する“バイトコード・コンパイル”、そして様々なOSでシステム・言語として採用されている「C言語」のソースファイルを出力する事で、さらに高速化して単独実行可能なプログラムの作成を実現する“PrologソースからC言語ソースへのコンパイル”、プログラムをCGIとして公開可能、などの豊富な機能を提供しています。

 WindowsのOLE・オートメーション機能もサポートし、これを利用する事で、AZ-Prolog自体を1つのオブジェクトとしてパッケージ化し、他のWindowsプログラムと連動させる事が出来、開発の効率化を計る事が出来ます。

例えばWindowsのGUI部分は、他のGUI向きの開発言語でコーディングし、複雑なロジックを必要とするプログラム本体は、それを容易に記述出来るPrologでコーディングしこれらの連携によるシステムを実現させるといったものです。

つまり、各々の言語などのアプリケーションの特徴を最大限に利用する事でシステムの設計・開発の可能性を拡大させる事が出来ます。

このようにAZ-Prologはシステム開発における“AZ-Prologの役割”を明確化した、ひとつのプログラミング環境という事が出来ます。

 Version6においては、64ビットOS対応により、OSの提供する広大なメモリ空間を利用することができるようになり、従来は求まらなかった解を求め、巨大なプログラムも走らせることが可能となりました。

 

9Gバイト超のメモリをグローバルスタックに割り当てアッカーマン関数ack(3,N) がどこまで計算できるかのテスト

さらに、CPUのマルチコア化を生かしプログラムを複数のプロセスに分散し、並列で駆動するMPI(Message Passing Interface )ライクな仕組みを取り入れることによって、より高速化が可能となっています。

 [日本Prolog協会Prologプログラミングコンテスト技術賞受賞作品 ペントミノ全解によるベンチマーク(By M.Akita) Windows Vista 64bit Core i7 920]

  AZ-Prolog  V6 WAMベース他Prolog 処理系
並列処理  フルコンパイルコード 6.8 sec N/A
並列処理  AbstractMachine Code: 8.6 sec N/A
逐次処理  フルコンパイルコード 22.9 sec N/A
逐次処理  AbstractMachine Code: 28.3 sec 45.9 sec

AZ-Prolog Version 6 for Windowsの動作環境

OS Win32/64 (Windows XP,Vista,7)
対応Cコンパイラ Microsoft Visual C++ 2005 Express Edition 以上
ハードウェア 上記OSが動作する環境。64ビット版では6Gバイト以上のメモリを推奨。
ディスク容量 60MB以上

注:Win32版は64ビットOS上でも動作しますが、Win64版は32ビットOSでは動作しません。

また、外部ライブラリを利用する関係から、2010年現在、一部機能は32ビット版のみであり、セル構造の制約から、

64ビット版のみのものがあります。

32ビット版と64ビット版の主な相違点

  32ビット版 64ビット版
セルサイズ 8byte 16byte
整数の範囲 -2147483648~2147483647
e_register/3,repeat/1のとる値も同じ
9223372036854775808~9223372036854775807
e_register/3,repeat/1のとる値も同じ
数値演算 - 整数と浮動小数点数(倍精度)の混在する計算結果は浮動小数点数になりますが、浮動小数点数の仮数部(52ビット)よりも整数の範囲が大きいため、大きな整数の演算では、計算結果が情報落ちすることがあります。
数値アレイ 1,2,4byte 1,2,4,8byte
MeCab/CaBochaインタフェース サポート MeCab/CaBochaが32ビットライブラリのため未サポート
ODBCインタフェース サポート Accessなど64ビットODBCが未提供のため、未検証
Assertしない項(プロセス間通信項など)に含まれる変数の個数 最大512個 最大5120個
ヒープ・スタックサイズ 合計最大2Gバイト OSと実メモリの提供範囲

AZ-Prolog Version 6 for Windowsの主な特徴

■MPIライクなマルチプロセス並列処理機能のサポート

並列化可能なモジュールをプロセスに分散し、CPUのコア数に比例した高速化が図れます。

■Microsoft Win32 /64 APIに対応

OLEオートメーション(クライアント及びコントローラ)機能をサポートしています。

■多様な外部ライブラリとの接続インタフェースの提供

鬼車、Mecab、Cabocha、ODBCのインタフェースを備えています。

注:2010年3月のリリースでは、Mecab、Cabocha、ODBCにつきましては32ビット版のみとなります。

■マルチOS対応

MS-DOS(エクステンダー版)、Win32、UNIX、Linuxなどをはじめとする複数のOSに対応し、パーソナルコンピュータから、エンジニアリング・ワークステーションに致るまで広範囲に対応します。Prologソースは、各システムでほぼそのまま共通に利用できます。

■DEC-10 Prolog準拠

言語仕様は事実上のProlog標準仕様である「DEC-10 Prolog」に準拠しています。

■各スタック領域などのワークエリアの大きさを自由に設定可能

プログラムエリアなどのメモリ容量の制限を取払い、特に64ビット版では、ほぼ無限に等しい(上限はOSやハード構成に依存します)プログラムエリアを確保出来ます。

しかも、各ワークエリア毎の最大使用量を認知し、各ワークエリアを必要最小限に設定する事もできます。

■高速である。

AZ-Prologは、完全な32bit・64bitプログラムとして動作し、パーソナルコンピュータ上での高速処理を実現しています。しかも、面倒な手続き(変数の型宣言など)もほとんどありません。

■様々な実行環境

AZ-Prologの実行環境は

・プログラム開発・デバッグ時に使用するインタープリタ。

・実行/デリバリ時に威力を発揮するコンパイラ。

・Webアプリケーションとして公開できるCGIインタプリタ

と使い分けすることにより効率的なプログラム開発と公開が可能です。つまり、各々の言語等のアプリケーションの特徴を最大限に利用する事でシステムの設計・開発が容易になり、またこの柔軟性により、Windows上でのプログラム開発の可能性を拡大させる事が出来ます。このように<AZ-Prolog Version 6 for Windows>はシステム開発における“AZ-Prolog “の役割を明確化した、一つのプログラミング環境と言う事が出来ます。

■C言語ソースを生成し、単独実行可能プログラムを生成可能

AZ-Prologコンパイラはその出力としてC言語のソースコードを生成します。通常は生成されたCソースを各OSの標準Cコンパイラでコンパイルし、リンカでAZ-Prologの組込み述語ライブラリ・Cコンパイラ標準関数ライブラリなどとリンクすることにより「単独実行可能プログラム」を生成します。ユーザが作成したCプログラムとソース又はオブジェクトレベルでのリンクも可能です。

■ユーザプログラムを組込み述語として定義が可能

PrologやC言語で記述されたプログラムをコンパイルして、インタープリタの組込み述語として追加登録できます。さらにプログラム開発の効率が向上します。

■マルチバッファで、EmacsライクなProlog用のエディタ(AzEdit)を内蔵

EmacsライクのPrologプログラム用のフルスクリーンエディタ(AzEdit)を標準のインタープリタに組み込み述語として内蔵しており、同時に8個までのテキストファイルを編集する事が出来るマルチバッファ機能を装備しています。また、エディタ白身Prologで記述されており、そのソースコードも付属していますので、機能の追加・変更、キー割当て等のカスタマイズも自由に出来ます。

■強力なソースレベルデバッガ装備

トレース・スパイ・ブレーク機能を内蔵したソースレベルデバッガを装備しています。
またソースレベルデバッガでトレースする事で、Prologの動作を把握できるためProlog言語を理解する上でも大きな助けとなります。

■オンラインヘルプ機能

操作方法や組込み述語の書式や使い方をガイドするオンライン・ヘルプファイルが付属しており、このヘルプファイルにアクセス機能を組込み述語で提供しています。

トップレベル及びプログラムの中からも利用出来ます。

■トップレベル(コンソール画面上)におけるテンプレート機能

トップレベル(コンソール画面上)で、過去に入力した文字列を10行前までの入力を記憶し、そのままか又は編集して再入力できるテンプレート機能があります。

■豊富な組込み述語(300以上)

■算術演算

AZ-Prologは浮動小数点演算をサポートしています。 加えて、三角関数・対数・指数関数などの算術関数(27個)も利用できます。

■アレイ(配列)型

データ型としてアレイを導入しました。高速な書換え・検索が可能です。

■完全日本語対応

AZ-Prologはコメント文は勿論、アトム・述語名・変数名・その他どの部分にも漢字が使えます。
勿論、内蔵エディタ(AzEdit)も漢字に対応しています。

■グローバルレジスタ採用

数値やアトム、それぞれ専用のレジスタが32個ずつ用意されています。アサートやファイルの操作なしにグローバルなデータを保存できますから、さらに高速に実行できます。

■任意の階層からより浅い階層に一気に実行制御を戻す大域脱出機能

Prologの階層構造プログラムにおいて実行時にthrow述語のある階層から、 Catch述語のあるより浅い階層に一気に実行制御を戻す(ジャンプする)事かが可能です。

■プログラム開発をより容易にする豊富なサンプルプログラム集の付属

より良い開発環境を提供するシステムユーティリティプログラム、プログラム作成のヒントとなる実用例のサンプルプログラム、プログラムの一部としてそのまま使えるユーティリティプログラムなどが付属しています。

なお、改良のため予告なしに仕様変更・バージョンアップを行なう事が有りますのでご了承下さい。バージョンアップ情報などは登録ユーザの皆様にはお知らせ致します。

本パッケージに入っている「ユーザ登録カード」は必要事項をご記入の上、弊社までご返送下さいますようお願い致します。