Ubuntu でパッケージ PyGF 0.3 をダウンロードした後、Python で次のコマンドを実行しますhttp://www.grammaticalframework.org/libpgf/pygf/tutorial.html
xavi@xavi-T12C:~/PyGF-0.3$ python3
Python 3.3.1 (default, Apr 17 2013, 22:32:14)
[GCC 4.7.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pgf.pygf import *
>>> import_pgf('Food.pgf')
>>> parse('this wine is very expensive',lang='en_US')
pgf_new_parser (pgf/parser.c:908): precondition failed
concr != NULL
Aborted (core dumped)
これは、作業ディレクトリに Food.pgf 文法ファイルがあることを前提としています。「このワインは非常に高い」という文は、その文法に含まれています。.pgfhttp://www.grammaticalframework.org/doc/gf-quickstart.html
ファイルは、Food.gf、FoodEng.gf、FoodIta.gf を 1 つの作業ディレクトリに置き、次のコマンドを使用して準備できます。
gf -make FoodIta.gf FoodEng.gf
これは、バイナリ バージョンの GF がインストールされていることを前提としています (インストールは非常に短い)。これにより、上記のコードのように Python で使用される Food.pgf ファイルが書き込まれます。
エラーの原因は何ですか? チュートリアルで明確に述べられているように、それは機能し、文を解析します。チュートリアルはPhrasebook.pgf
文法を使用していますが、すべての種類の .pgf 文法で動作することを前提としています。フレーズブックも試してみました(大きかった、同じエラーがありました)。食べ物は小さいですが、試してみてください。