From 44d1a5a9f71b03d9aceeccd760a63fcdc45f8bad Mon Sep 17 00:00:00 2001 From: hallgren Date: Wed, 12 Oct 2011 17:03:54 +0000 Subject: Improvements of "gf -server" mode and related setup "gf -server" mode now contains everything needed to run the minibar and the grammar editor (including example-based grammar writing). The Setup.hs script installs the required files where gf -server can find them. These files have been moved to a new directory: src/www. The separate server program pgf-http is now obsolete. --- src/www/gfse/about.html | 243 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 243 insertions(+) create mode 100644 src/www/gfse/about.html (limited to 'src/www/gfse/about.html') diff --git a/src/www/gfse/about.html b/src/www/gfse/about.html new file mode 100644 index 000000000..8660621a3 --- /dev/null +++ b/src/www/gfse/about.html @@ -0,0 +1,243 @@ + + + +About: GF online editor for simple multilingual grammars + + + + + + + + + + + + + + +

GF online editor for simple multilingual grammars

+ +
+
+ [GF online editor screen shoot] + + + +
+
+

Introduction

+ +Traditionally, GF +grammars are created in a text editor and tested in the +GF shell. Text editors know very little (if anything) about the syntax of +GF grammars, and thus provide little guidance for novice GF users. Also, the +grammar author has to download and install the GF software on his/her own +computer. + +

+In contrast, the +GF online editor for simple multilingual grammars +is available online, making it easier to get started. All that +is needed is a reasonably modern web browser. Even Android and iOS devices +can be used. +

+The editor +also guides the grammar author by showing a skeleton grammar file and +hinting how the parts should be filled in. When a new part is added to the +grammar, it is immediately checked for errors. + +

+Editing operations are accessed by clicking on editing symbols embedded +in the grammar display: ++=Add an item, +×=Delete an item, +%=Edit an item. +These are revealed when hovering over items. On touch devices, hovering is +in some cases simulated by tapping, but there is also a button at the bottom +of the display to "Enable editing on touch devices" that reveals all editing +symbols. + +

+In spite of its name, the editor runs entierly in the web +browser, so once you have opened the web page, you can +continue editing grammars even while you are +offline. + +

Current status

+ +

+At the moment, the editor supports only a small subset of the GF grammar +notation. +Proper error checking is done for abstract syntax, but not (yet) for concrete +syntax. + +

+The grammars created with this editor always consists of one file for the +abstract syntax, and one file for each concrete syntax. + +

Abstract syntax

+ +The supported abstract syntax corresponds to context-free grammars +(no dependent types). The definition of an abstract syntax is limited to + + +Available editing operations: + + +Error checks: + + + +

Concrete syntax

+ +At the moment, the concrete syntax for a language L is limited to + + +Available editing operations: + +Also, + + + +Error checks: + + +

Compiling and testing grammars

+ +When pressing the Compile button, the grammar will be compiled +with GF, and any errors not detected by the editor will be reported. +If the grammar is free from errors the user can then +test the grammar by clicking on links to the online GF shell, the Minibar or +the Translation Quiz. + +

+Grammars in the +cloud

+ +While the editor normally stores grammars locally in the browser, it is also +possible to store grammars in the cloud. Grammars can be stored in the cloud +just for backup, or to make them accessible from multiple devices. + +

+There is no automatic synchronization between local grammars and the cloud. +Instead, the user should press +[Cloud Upload] +to upload the grammars to the cloud, and press +[Cloud download] +to download grammars from the cloud. In both cases, complete grammars +are copied and older versions at the destination will be overwritten. +When a grammar is deleted, both the local copy and the copy in the cloud +is deleted. + +

+Each device is initially assigned to its own unique cloud. Each device can thus +have its own set of grammars that are not available on other devices. It is +also possible to merge clouds and share a common set of grammars between +multiple devices: when uploading grammars to the cloud, a link to this grammar +cloud appears. Accessing this link from another device will cause the clouds of +the two devices to be merged. After this, grammars uploaded from one of the +devices can be downloaded on the other devices. Any number devices can join the +same grammar cloud in this way. + +

+Note that while it is possible to copy grammars between +multiple devices, there is no way to merge concurrent edits from multiple +devices. If the same grammar is uploaded to the +cloud from multiple devices, the last upload wins. Thus the current +implementation is suitable for a single user switching between different +devices, but not recommended for sharing grammars between multiple users. + +

+Also note that each grammar is assigned a unique identity +when it is first created. Renaming a grammar does not change its identity. +This means that name changes are propagated between devices like other changes. + +

Example-based grammar writing

+ +This is work in progress... + +

Future work

+ +This prototype gives an idea of how a web based GF grammar editor could work. +While this editor is implemented in JavaScript and runs in the web browser, +we do not expect to create a full implementation of GF that runs in the +web browser, but let the editor communicate with a server running GF. +

+By developing a GF server with an appropriate API, it should +be possible to extend the editor to support a larger fragment of GF, +to do proper error checking and make more of the existing GF shell functionality +accessible directly from the editor. +

+The current grammar cloud service is very primitive. In particular, it is not +suitable for multiple users developing a grammar in collaboration. + +

Related documents

+ + +
+
+ Last modified: Fri Oct 7 14:06:14 CEST 2011 +
+
+TH + +
+ -- cgit v1.2.3