mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-21 18:59:32 -06:00
85 lines
2.1 KiB
Plaintext
85 lines
2.1 KiB
Plaintext
GF Version 3.0
|
|
Aarne Ranta
|
|
7 November 2007
|
|
|
|
|
|
This document summarizes the goals and status of the forthcoming
|
|
GF version 3.0.
|
|
|
|
==Overview==
|
|
|
|
GF 3 results from the following needs:
|
|
- refactor GF to make it more maintainable
|
|
- provide a simple command-line batch compiler
|
|
- replace gfc by the much simpler gfcc format for embedded grammars
|
|
|
|
|
|
The current implementation of GF 3 has three binaries:
|
|
- gfc, batch compiler, for building grammar applications
|
|
- gfi, interpreter for gfcc grammars, for using grammars
|
|
- gf, interactive compiler with interpreter, for developing grammars
|
|
|
|
|
|
Thus, roughly, gf = gfc + gfi.
|
|
|
|
Question: should we have, like current GF, just one binary, gf, and
|
|
implement the others by shell scripts calling gf with suitable options?
|
|
- +: one binary is less code altogether
|
|
- +: one binary is easier to distribute and update
|
|
- -: each of the components is less code by itself
|
|
- -: many users might only need either the compiler or the interpreter
|
|
- -: those users could avoid installation problems such as readline
|
|
|
|
|
|
There are some analogies in other languages:
|
|
|
|
|| GF | Haskell | Java ||
|
|
| gfc | ghc | javac |
|
|
| gfi | ghci* | java |
|
|
| gf | ghci* | - |
|
|
|
|
In Haskell, ghci makes more than gfi since it reads source files, but
|
|
less than gf since it does not compile them to externally usable target
|
|
code.
|
|
|
|
|
|
|
|
|
|
==Status of code and functionalities==
|
|
|
|
GF executable v. 2.8
|
|
- gf: 263 modules, executable 7+ MB (on MacOS i386)
|
|
|
|
|
|
Current status of GF 3.0 alpha:
|
|
- gf3: 94 modules, executable 4+ MB
|
|
- gfc: 71 modules, executable 3+ MB
|
|
- gfi: 35 modules, executable 1+ MB
|
|
|
|
|
|
Missing functionalities
|
|
- in gfc:
|
|
- input formats: cf, ebnf, gfe, old gf
|
|
- output formats: speech grammars, bnfc
|
|
- integrating options for input, output, and debugging information
|
|
(as described in Devel/GFC/Options.hs)
|
|
|
|
|
|
- in gfi:
|
|
- command cc (computing with resource)
|
|
- morphological analysis, linearization with tables
|
|
- quizzes, treebanks
|
|
- syntax editor
|
|
- readline
|
|
|
|
|
|
==Additional feature options==
|
|
|
|
Native Haskell readline
|
|
|
|
Binary formats for gfo and gfcc
|
|
|
|
Parallel compilation on multicore machines
|
|
|
|
|