はじめに
N-Prologは古のRUN/PROLOG互換を目指しているPrologインタプリタ、コンパイラです。DCGを組み込みにしてあります。その使用方法についてです。
実装
ISO-Prologで公表されていたDCGのコードを組み込んでいます。起動時にコンパイラとともにDCGが読み込まれています。
DCGの例
s --> np,vp.
np --> det,n.
det -->[a].
n -->[dog].
n -->[postman].
vp --> v,np.
v -->[bites].
中島先生のPrologの本にあった例です。
動作
RUN/PROLOGとの互換
ユーザーマニュアルにありますように次の述語が組み込みとなっています。
□ expand_term(Term,Newterm)
DCG:限定節文法の項を等価なProlog項に変換する。
Github