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.