在 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 语法文件。“这酒很贵”这句话被那个语法覆盖了。现在就像这里:http://www.grammaticalframework.org/doc/gf-quickstart.html
,可以通过在一个工作目录中包含 Food.gf、FoodEng.gf、FoodIta.gf 来准备 .pgf 文件,并使用以下命令:
gf -make FoodIta.gf FoodEng.gf
这假设您安装了 GF 的二进制版本(安装时间非常短)。这将像上面的代码一样编写要在 Python 中使用的 Food.pgf 文件。
错误来自什么?正如教程中明确指出的那样,它将工作并解析句子。虽然教程是Phrasebook.pgf
语法,但假设它适用于各种 .pgf 语法。我也尝试过 Phrasebook(很大,同样的错误在那里)。食物很小,但很好尝试。