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.