See the download page.
Over 800 changes have been pushed to the source repository since the release of GF 3.6 in June 2014.
-retain
flag are now a superset of the commands available after
importing without -retain
.
(Previously commands that require compilation all the way to PMCFG were
not available when the -retain
flag was used.)
-s
/-q
now silences all warnings.
-j
flag. (For the time being, you also need to pass +RTS -N -RTS
to enable
parallelism in the GHC run-time system.)
-output-format=haskell
translates abstract syntax to Haskell as before.
By also adding -haskell=concrete
you get a Haskell module for each
concrete syntax of the grammar. These contain translations of
linearization types and linearization functions.
By adding -haskell=variants
you get linearization functions that output
all variants.
(You don't get any functions for parsing.)
BIND
, SOFT_BIND
, SOFT_SPACE
, CAPIT
, ALL_CAPIT
and
nonExist
.
gf -server
: improved responsiveness when large grammars are
loaded (by increasing the GHC RTS idle timeout before full GC from the
default 0.3s to 5s).
.pgf
and .gfo
files have been bumped. PGF files
produced with this version of GF can not be used with older versions of GF.
If you get an error message saying .gfo file version mismatch
, remove
old .gfo
files.
GF
serves as a preliminary compiler API. It exports a selection of
types and functions from the compiler.
c-abstrtree
and c-parsetree
.
These are the C runtime variants of the absttree
and parsetree
commands. They work in the same way, but support fewer rendering options.
parse
/translate
/c-parse
/c-translate
commands now
recognize the option jsontree=true
to augment the returned JSON
structure with a field called
jsontree
next to the field tree
, or jsontrees
next to trees
,
containing the the returned syntax tree in JSON format.
full=yes
with the complete
command,
additional information about completions is included in the output, in
particular there is an additional field seq
containing the longest
possible completion.
c-linearizeAll
to obtain all variants.
-j
flag.