See the download page.
Over 1300 changes have been pushed to the source repository since the release of GF 3.5 in August 2013.
Closed issues: 25, 30, 41, 57, 60, 61, 68, 80, 81, 82.
--# -coding=
enc, instead of flags coding=
enc. See the separate document GF character encoding changes for more details.r ** s
, the values assigned in s
now overwrite those in r
. In previous versions, record extensions with overlapping assignments in r
and s
were not supported, and their behaviour was unpredictable.pg -pgf
command.PGF.Lexing
which contains lexing and unlexing functions, and PGF2
, which is a binding to the C run-time system. The latter is included only if GF is configured with -fc-runtime
, which is not the default, since the C run-time system still has to be compiled and installed separately before installing GF. The binary packages for GF 3.6 available from the download page will include C run-time support.nonExist
now exists. It can be used in concrete syntax to mark non-existing morphological forms.BIND
and SOFT_BIND
can be used in concrete syntax to mark that the surrounding tokens should not be separated by space.Ints n<=Ints m
and contravariance in table types.--new-comp
and --old-comp
) has been removed.gf -make
to avoid recreating a PGF file when an uptodate PGF file already exists.--output-dir
option now applies also to PGF files.lookupmorpho
request has been added to lookup the morphological analysis of a word.parse
and translate
that parse text input now accept a lexer
parameter to apply a lexer to the input text before parsing. The lexer can be text
, code
or mixed
.linearize
and translate
that produce linearizations now accept an unlexer
parameter to apply an unlexer to the linearizations. The unlexer can be text
, code
or mixed
.c-parse
, c-linearize
, c-translate
, c-lookupmorpho
, c-grammar
. These work in the same way as the corresponding requests without the c-
prefix. Since the c-parse
and c-translate
can produce very many (even infinitely many) results when used with large ambiguous grammars, using the limit
parameter to restrict number of results, e.g. limit=10
, is recommended.c-wordforword
: this works as c-translate
but does a word-for-word lookup to create a (potentially very low quality) translation that can be used if all else fails.