-
Notifications
You must be signed in to change notification settings - Fork 2
/
README.md.devel
114 lines (82 loc) · 4.31 KB
/
README.md.devel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# Grail @GRAIL_VERSION@
Release: @RELEASE_DATE@
Copyright :copyright: 2003-@COPYRIGHT_YEAR@ Richard Moot (Richard.Moot@labri.fr)
Copyright :copyright: 2004-@COPYRIGHT_YEAR@ CNRS (http://www.cnrs.fr)
Copyright :copyright: 2003-2011 INRIA (http://www.inria.fr)
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# The Grail Theorem Prover
Grail is a modern, flexible and robust parser/automated theorem prover
for multimodal categorial grammars. It is designed to allow students
and researchers to design and experiment with their grammars while at
the same time offer the advanced users many optional optimisation
strategies.
Grail can be run either as a command line script or as an application
with a graphical interface, with the possibility to follow Grail's
partial parses/proof attemps interactively.
# Requirements
The minimum configuration required to run Grail is the following.
* [SWI Prolog](http://www.swi-prolog.org) together with its optional
packages, notably XPCE.
* [Graphviz](http://www.graphviz.org)
In addition, the following programs are highly recommended and allow
you to enjoy some of Grail's more powerful features. Many Unix/Linux
installations will have these programs installed.
* [gv](http://www.gnu.org/software/gv/)
* [Tclsh](http://www.tcl.tk/software/tcltk/)
* [pdfLaTeX](http://www.tug.org/applications/pdftex/)
* a pdf previewer (gv suffices here, but your operating system is sure
to provide an alternative)
# Installation
Grail can be install from this directory by typing.
```
./configure --prefix=GRAIL_ROOT
make
(sudo) make install
```
`GRAIL_ROOT` will be the root directory of the Grail system, Grail
will install its executables in the bin subdirectory and some of the
image files in the `share/Grail` subdirectory of this directory. If you
run the configure script without `--prefix option`, installation will
take place with `/usr/local/` as the root directory.
The file `configure.ac` is fairly rudimentary at the moment, but I
welcome any comments and suggestions for improvement.
# Documentation
A short introduction to using Grail 3 can be found in the manual or by
selecting `[Help/About Grail 3...]` from Grail's menu bar.
A more elaborate tutorial can be found at my webpage
http://www.labri.fr/perso/moot/tutorial/
# Acknowledgments
This research was made possible the Centre National de la Recherche
Scientifique, the Institut National de Recherche en Informatique
et en Automatique, the Laboratiore Bordelais de Recherche en
Informatique and the University of Bordeaux.
The files `logarr.pl` (for logarithmic access arrays) `ordset.pl` (for
ordered sets) and the warshall/2 predicate from `graph.pl` are from the
Public Domain DEC-10 Prolog Library. I am indebted to the authors of
those packages for putting their work in the public domain. Any blame
for changes and additions to their code is mine. See the individual
files for changes.
The `tree234.pl` library for 2-3-4 trees is a direct adaptation of code
belonging to the Mercury library, a great resource for
logic/functional programs of several standard algorithms, which is
available under LGPL (Mercury itself is released under GPL). I am
responsible for idiosyncratic additions to this code, as well as
modification of the code to use first argument indexing as much as
possible, in addition to any errors this may have produced.
The (experimental) `chart.pl` chart parser library is an adaptation of code
from the following article (see
[Grail Light](https://github.com/RichardMoot/GrailLight) for a
type-logical chart parser).
Stuart M. Shieber, Yves Schabes and Fernando C. N. Pereira (1995)
*`Principles and Implementation of Deductive Parsing'*, Journal of Logic
Programming **24(1-2)**:3-36