Files
gf-core/doc/gf3-release.txt

59 lines
2.2 KiB
Plaintext

GF 3.0
Krasimir Angelov, Björn Bringert, and Aarne Ranta
Beta release, 27 June 2008
GF Version 3.0 is a major revision of GF. The source language is a superset of the
language in 2.9, which means backward compatibility. But the target languages, the
compiler implementation, and the functionalities (e.g. the shell) have undergone
radical changes.
==New features==
Here is a summary of the main novelties visible to the user:
- **Size**: the source code and the executable binary size have gone
down to about the half of 2.9.
- **Portability**: the new back end format PGF (Portable Grammar Format) is
much simpler than the old GFC format, and therefore easier to port to new
platforms.
- **Multilingual web page support**: as an example of portability, GF 3.0 provides a
compiler from PGF to JavaScript. There are also JavaScript libraries for creating
translators and syntax editors as client-side web applications.
- **Incremental parsing**: there is a possibility of word completion when
input strings are sent to the parser.
- **Application programmer's interfaces**: both source-GF and PGF formats,
the shell, and the compiler are accessible via high-level APIs.
- **Resource library version 1.4**: more coverage, more languages; some of
the new GF language features are exploited.
- **Uniform character encoding**: UTF8 in generated files, user-definable in
source files
==Non-supported features==
There are some features of GF 2.9 that will //not// work in the 3.0 beta release.
- Java Editor GUI: we now see the JavaScript editor as the main form of
syntax editing.
- Pre-module multi-file grammar format: the grammar format of GF before version 2.0
is still not yet supported.
- Context-free and EBNF input grammar formats.
- Probabilistic GF grammars.
- Some output formats: LBNF.
- Some GF shell commands: while the main ones will be supported with their familiar
syntax and options, some old commands have not been included. The GF shell
command ``help -changes`` gives the actual list.
Users who want to have these features are welcome to contact us,
and even more welcome to contribute code that restores them!
==GF language extensions==
Operations for defining patterns.
Inheritance of overload groups.