mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-18 17:29:32 -06:00
222 lines
6.1 KiB
HTML
222 lines
6.1 KiB
HTML
<html>
|
|
<body bgcolor="#FFFFFF" text="#000000" >
|
|
<center>
|
|
<IMG SRC="gf-logo.gif">
|
|
|
|
|
|
<h1>Grammatical Framework History of Changes</h1>
|
|
|
|
|
|
|
|
Changes in functionality since May 17, 2005, release of GF Version 2.2
|
|
|
|
</center>
|
|
|
|
<p>
|
|
|
|
14/9 (BB) Added finite state approximation of grammars.
|
|
Internally the conversion is done <tt>cfg -> regular -> fa -> slf</tt>, so the
|
|
different printers can be used to check the output of each stage.
|
|
The new options are:
|
|
<dl>
|
|
<dt><tt>pg -printer=slf</tt></dt>
|
|
<dd>A finite automaton in the HTK SLF format.</dd>
|
|
<dt><tt>pg -printer=slf_graphviz</tt></dt>
|
|
<dd>The same FA as in SLF, but in Graphviz format.</dd>
|
|
<dt><tt>pg -printer=fa_graphviz</tt></dt>
|
|
<dd>A finite automaton with labelled edges, instead of labelled nodes which SLF has.</dd>
|
|
<dt><tt>pg -printer=regular</tt></dt>
|
|
<dd>A regular grammar in a simple BNF.</dd>
|
|
</dl>
|
|
|
|
<p>
|
|
|
|
4/9 (AR) Added the option <tt>pg -printer=stat</tt> to show
|
|
statistics of gfc compilation result. To be extended with new information.
|
|
The most important stats now are the top-40 sized definitions.
|
|
|
|
<p>
|
|
|
|
1/7 <b>Release of GF 2.3</b>.
|
|
|
|
<p>
|
|
|
|
|
|
1/7 (AR) Added the flag <tt>-o</tt> to the <tt>vt</tt> command
|
|
to just write the <tt>.dot</tt> file without going to <tt>.ps</tt>
|
|
(cf. 20/6).
|
|
|
|
<p>
|
|
|
|
29/6 (AR) The printer used by Embedded Java GF Interpreter
|
|
(<tt>pm -header</tt>) now produces
|
|
working code from all optimized grammars - hence you need not select a
|
|
weaker optimization just to use the interpreter. However, the
|
|
optimization <tt>-optimize=share</tt> usually produces smaller object
|
|
grammars because the "unoptimizer" just undoes all optimizations.
|
|
(This is to be considered a temporary solution until the interpreter
|
|
knows how to handle stronger optimizations.)
|
|
|
|
<p>
|
|
|
|
27/6 (AR) The flag <tt>flags optimize=noexpand</tt> placed in a
|
|
resource module prevents the optimization phase of the compiler when
|
|
the <tt>.gfr</tt> file is created. This can prevent serious code
|
|
explosion, but it will also make the processing of modules using the
|
|
resource slowwer. A favourable example is <tt>lib/resource/finnish/ParadigmsFin</tt>.
|
|
|
|
<p>
|
|
|
|
23/6 (HD,AR) The new editor GUI <tt>gfeditor</tt> by Hans-Joachim
|
|
Daniels can now be used. It is based on Janna Khegai's <tt>jgf</tt>.
|
|
New functionality include HTML display (<tt>gfeditor -h</tt>) and
|
|
programmable refinement tooltips.
|
|
|
|
<p>
|
|
|
|
23/6 (AR) The flag <tt>unlexer=finnish</tt> can be used to bind
|
|
Finnish suffixes (e.g. possessives) to preceding words. The GF source
|
|
notation is e.g. <tt>"isä" ++ "&*" ++ "nsa" ++ "&*" ++ "ko"</tt>,
|
|
which unlexes to <tt>"isänsäkö"</tt>. There is no corresponding lexer
|
|
support yet.
|
|
|
|
|
|
<p>
|
|
|
|
22/6 (PL,AR) The MCFG parser (<tt>p -mcfg</tt>) now works on all
|
|
optimized grammars - hence you need not select a weaker optimization
|
|
to use this parser. The same concerns the CFGM printer (<tt>pm -printer=cfgm</tt>).
|
|
|
|
<p>
|
|
|
|
20/6 (AR) Added the command <tt>visualize_tree</tt> = <tt>vt</tt>, to
|
|
display syntax trees graphically. Like <tt>vg</tt>, this command uses
|
|
GraphViz and Ghostview. The foremost use is to pipe the parser to this
|
|
command.
|
|
|
|
<p>
|
|
|
|
17/6 (BB) There is now support for lists in GF abstract syntax.
|
|
A list category is declared as:
|
|
<pre>
|
|
cat [C]
|
|
</pre>
|
|
or
|
|
<pre>
|
|
cat [C]{n}
|
|
</pre>
|
|
where <tt>C</tt> is a category and <tt>n</tt> is a non-negative integer.
|
|
<tt>cat [C]</tt> is equivalent to <tt>cat [C]{0}</tt>. List category
|
|
syntax can be used whereever categories are used.
|
|
|
|
<p>
|
|
|
|
<tt>cat [C]{n}</tt> is equivalent to the declarations:
|
|
<pre>
|
|
cat ListC
|
|
fun BaseC : C^n -> ListC
|
|
fun ConsC : C -> ListC -> ListC
|
|
</pre>
|
|
|
|
where <tt>C^0 -> X</tt> means <tt>X</tt>, and <tt>C^m</tt> (where
|
|
m > 0) means <tt>C -> C^(m-1)</tt>.
|
|
|
|
<p>
|
|
|
|
A lincat declaration on the form:
|
|
<pre>
|
|
lincat [C] = T
|
|
</pre>
|
|
is equivalent to
|
|
<pre>
|
|
lincat ListC = T
|
|
</pre>
|
|
|
|
The linearizations of the list constructors are written
|
|
just like they would be if the function declarations above
|
|
had been made manually, e.g.:
|
|
<pre>
|
|
lin BaseC x_1 ... x_n = t
|
|
lin ConsC x xs = t'
|
|
</pre>
|
|
|
|
<p>
|
|
|
|
10/6 (AR) Preprocessor of <tt>.gfe</tt> files can now be performed as part of
|
|
any grammar compilation. The flag <tt>-ex</tt> causes GF to look for
|
|
the <tt>.gfe</tt> files and preprocess those that are younger
|
|
than the corresponding <tt>.gf</tt> files. The files are first sorted
|
|
and grouped by the resource, so that each resource only need be compiled once.
|
|
|
|
<p>
|
|
|
|
10/6 (AR) Editor GUI can now be alternatively invoked by the shell
|
|
command <tt>gf -edit</tt> (equivalent to <tt>jgf</tt>).
|
|
|
|
<p>
|
|
|
|
10/6 (AR) Editor GUI command <tt>pc Int</tt> to pop <tt>Int</tt>
|
|
items from the clip board.
|
|
|
|
<p>
|
|
|
|
4/6 (AR) Sequence of commands in the Java editor GUI now possible.
|
|
The commands are separated by <tt> ;; </tt> (notice the space on
|
|
both sides of the two semicolons). Such a sequence can be sent
|
|
from the "GF Command" pop-up field, but is mostly intended
|
|
for external processes that communicate with GF.
|
|
|
|
<p>
|
|
|
|
3/6 (AR) The format <tt>.gfe</tt> defined to support
|
|
<b>grammar writing by examples</b>. Files of this format are first
|
|
converted to <tt>.gf</tt> files by the command
|
|
<pre>
|
|
gf -examples File.gfe
|
|
</pre>
|
|
See <a href="../lib/resource/doc/example/QuestionsI.gfe">
|
|
<tt>../lib/resource/doc/examples/QuestionsI.gfe</tt></a>
|
|
for an example.
|
|
|
|
<p>
|
|
|
|
31/5 (AR) Default of p -rawtrees=k changed to 999999.
|
|
|
|
<p>
|
|
|
|
31/5 (AR) Support for restricted inheritance. Syntax:
|
|
<pre>
|
|
M -- inherit everything from M, as before
|
|
M [a,b,c] -- only inherit constants a,b,c
|
|
M-[a,b,c] -- inherit everything except a,b,c
|
|
</pre>
|
|
Caution: there is no check yet for completeness and
|
|
consistency, but restricted inheritance can create
|
|
run-time failures.
|
|
|
|
<p>
|
|
|
|
29/5 (AR) Parser support for reading GFC files line per line.
|
|
The category <tt>Line</tt> in <tt>GFC.cf</tt> can be used
|
|
as entrypoint instead of <tt>Grammar</tt> to achieve this.
|
|
|
|
<p>
|
|
|
|
28/5 (AR) Environment variables and path wild cards.
|
|
<ul>
|
|
<li> <tt>GF_LIB_PATH</tt> gives the location of <tt>GF/lib</tt>
|
|
<li> <tt>GF_GRAMMAR_PATH</tt> gives a list of directories appended
|
|
to the explicitly given path
|
|
<li> <tt>DIR/*</tt> is expanded to the union of all subdirectories
|
|
of <tt>DIR</tt>
|
|
</ul>
|
|
<p>
|
|
|
|
|
|
26/5/2005 (BB) Notation for list categories.
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|