Commit Graph

2464 Commits

Author SHA1 Message Date
hallgren
d45b9edcd8 minibar: quick fix to allow literals to be entered.
If you press Enter, the current word will be accepted, even if there are no
matching completions.
(You can now use names of people when constructing sentences in the Letter
grammar, for example.)
2011-08-22 17:03:47 +00:00
aarne
3afefb0ac9 commented Compute/Concrete with explanations 2011-08-22 17:08:07 +00:00
hallgren
cf9f1057ed pgf service: external service hook: always format the output as a JSON string 2011-08-22 16:10:56 +00:00
hallgren
d8d80693db pgf service: added a hook for external services
This is really reinventing CGI, people should learn how to write CGI scripts
instead...
TODO: better handling of temporary files
2011-08-22 15:34:44 +00:00
hallgren
f19c496b83 minibar: documentation fixes 2011-08-21 21:35:14 +00:00
hallgren
6c8c0cdc24 minibar: bug fix for "Try Google Translate" button 2011-08-19 13:56:12 +00:00
hallgren
9c8fbd74fe gfse: fix an issue with Webkit browers
For lin and lincats with empty RHSs, there was nothing to point to to make the
edit button (the "%" button) appear in browsers based on Webkit
(Safari, Chrome).
2011-08-17 15:41:57 +00:00
hallgren
4cad2daa29 minibar: adding pgf_offline.js
This file exports the same PGF runtime interface as pgf_online.js but calls
the hs2js translation of the PGF runtime library (which is not included
in darcs).
2011-08-16 16:29:51 +00:00
hallgren
b2512234dd minibar: documentation and API work 2011-08-11 16:28:49 +00:00
hallgren
19d84b6de0 minibar: some functions were in the wrong file 2011-08-11 14:56:34 +00:00
hallgren
91cc4de1a2 minibar: more documentation (in minibar-api.html) 2011-08-09 15:57:40 +00:00
hallgren
d4638f54ba minibar: refactoring for improved modularity
Two smaller objects have been factored out from the Minibar object:
Input and Translations. These have been placed in two separate files:
minibar_input.js and minibar_translations.js. Some common auxiliary functions
have also been moved to a separate file: minibar_support.js
2011-08-08 17:28:24 +00:00
hallgren
e50731c511 minibar: resolve conflict 2011-08-08 14:08:55 +00:00
hallgren
ab8ec58e08 minibar: improve pgf_online.js
pgf_online.js has been simplified and generalized to support the full
GF Web Service API. The changes are backwards incompatible, unfortunately.
The documentation and minibar.js have been updated accordingly.
2011-08-03 15:21:38 +00:00
hallgren
a0ec59ccda minibar: small code and documentation tweaks 2011-08-03 14:24:47 +00:00
hallgren
8c620229e1 minibar: recording old configuration changes 2011-08-08 14:04:51 +00:00
hallgren
8cf7671e07 gfse: added links to download PGF files for user's grammars 2011-08-01 15:01:14 +00:00
hallgren
a918bcaf68 gfse: add missing file share.html to darcs
Also fix bug in share.html by adding cloud.js to the list of loaded JavaScript
files.
2011-08-01 14:27:29 +00:00
hallgren
b58fc79908 gfse: some correctness checks for concrete syntax
The editor now calls the GF server to check the syntax of expressions that
are part of concrete syntax (except for parameter types).
This is currently done by using the cc command of the GF shell, which puts
some unnecessary restricitons on operation definitions...
2011-07-29 15:44:19 +00:00
hallgren
7c6f6110eb gfse: refactoring
Factor out functions that interface to the old cloud service (upload.cgi) 
from editor.js into cloud.js. Merge changes from editor2.js into editor.js and
factor out functions that interface to gf -server into clouds2.js.
2011-07-29 13:45:37 +00:00
hallgren
9d547fbdca gfse: about: added a note that each grammar has a unique identity independent of its name 2011-07-26 15:03:33 +00:00
hallgren
0f7743992b gfse: various small improvements 2011-07-25 19:21:46 +00:00
aarne
848373e29e GenIP, GenRP in Extra and any_Quant in ExtraEng 2011-07-21 08:25:04 +00:00
hallgren
6c751da6e8 gfse: new section "Grammars in the cloud" in about.html 2011-07-07 16:59:37 +00:00
hallgren
c4f1fbbc9a gfse: grammars in the cloud, still primitve, but good enough to be installed on the server, I think 2011-07-07 16:57:59 +00:00
hallgren
c7fffd861b gfse: grammars in the cloud, work in progress
Cloud merging: when sharing grammars between two devices that previously each
had separate grammar directoies on the server, clean up one of the directories
and make it a symbolic link to the other.
2011-07-07 13:30:56 +00:00
hallgren
db4753aa2d gfse: grammars in the cloud, work in progress 2011-07-06 16:55:42 +00:00
hallgren
25ae9b2dc4 gfse: initial support for grammars in the cloud
This lets the user access the same set of grammars from multiple devices.

Sharing grammars between multiple users is possible but discouraged at the
moment. There is no version handling, so concurrent editing of the same grammar
by different users might result in one user overwriting changes made by
another user. (The same goes for cuncurrent editing on multiple devices by
a single user, of course.)
2011-06-08 15:29:50 +00:00
hallgren
49c27436f5 minibar support.js: add function ajax_http_post for posting FormData 2011-06-21 16:10:44 +00:00
hallgren
e1385da050 gf-server: make pgf-service work the Apache mod_fastcgi
pgf-service now appears to works with Apache mod_fastcgi (under Mac OS X) in
addition to lighttpd.

One difference appears to be that while lighttpd passes the name of the PGF
file in the SCRIPT_FILENAME variable, Apache passes it in PATH_TRANSLATED.
But perhaps this depends on exactly how the fastcgi service is configured.
The following is what I added to the Apache configuration file to test this:

	<Directory /Library/WebServer/Documents/fcgi-bin>
	  SetHandler fastcgi-script
	  Options +ExecCGI
	</Directory>
	Action pgf-service /fcgi-bin/pgf-service
	AddHandler pgf-service .pgf
2011-06-21 15:49:31 +00:00
hallgren
549cc324d7 gf-server: enable -rtsopts when compiling with ghc>=7.0 2011-06-21 15:45:13 +00:00
hallgren
739e4caef3 gf-server.cabal: a separate flag for the content service
* Use cabal install -ffastcgi to compile the fastcgi server.
  * Use cabal install -fcontent to compile the content service (off by default,
    currently broken)
  * Use both flag to compile both.
2011-06-21 15:38:57 +00:00
hallgren
55a20c6d05 gfse: fix a problem in browsers where "class" is a reserved keyword 2011-05-07 17:36:49 +00:00
virk.shafqat
fabd2fe192 refinementNepali-11-06-20 2011-06-20 11:24:22 +00:00
aarne
098af279e7 allow empty lines in transliteration files 2011-06-14 11:49:10 +00:00
aarne
a3924abece Predef functions toUpper, toLower, isUpper 2011-06-02 16:10:46 +00:00
virk.shafqat
86d2e676bc refinementsTextUrd-11-05-19 2011-05-19 15:57:12 +00:00
hallgren
c207175e98 gfse: you can now add concrete syntax for arbitrary languages
Before, you had to pick a language from a list of supported languages, but now
you can also pick Other and change the language code afterwards.
2011-05-06 15:24:45 +00:00
aarne
f158fad6f8 fixed problems in persian transliteration pointed out by Elnaz 2011-05-06 12:11:45 +00:00
aarne
4ec34bdbb6 transliteration via configuration file: ps -to=file or ps -from=file 2011-05-02 14:53:46 +00:00
hallgren
fd0fb48493 Ctrl-C shouldn't terminate the GF shell
This quick fix should make Ctrl-C in the GF shell behave more like it does in
other shells: even if no command is running, Ctrl-C now just gives you a new
prompt instead of terminating the shell.
2011-04-20 14:30:49 +00:00
hallgren
a53558aac0 GFI.hs: some refactoring for readability
Also some minor changes in how Ctrl-C is handled and how CPU time is measured.
2011-04-15 15:05:44 +00:00
hallgren
99388d116d gfse: use "gf -server" mode instead of upload.cgi
Work in progress on making the online grammar editor use the new "gf -server"
mode instead of the old upload.cgi script. A first benefit is that the
editor now calls the server to check the syntax of lin & lincat definitions.
(But the links to minibar/gfshell/quiz are not available at the moment.)
2011-04-13 15:30:42 +00:00
hallgren
0a27aaf1e6 Added a preliminary "gf -server" mode.
The command "gf -server" now starts a simple HTTP server on port 41295,
providing a simple web API to the GF compiler. It currently support the
follwing operations:

  * creating new temporary directories for grammar uploads,
  * uploading grammars files for use in the GF shell,
  * executing GF shell commands, and
  * accessing static files.

This means that GF now depends on some additional networking related packages,
but they should be available and easy to install on all platforms. There is
also a new configuration flag "server" in gf.cabal, so GF will be compiled
without support for server mode if the extra packages are unavailable.

Note that running gf -server while connected to the internet can be a security
risk. To prevent unauthorized access to the rest of the system, it is
advisable to run the server in GF_RESTRICTED mode and as a user with suitably
restricted file permissions.
2011-04-13 14:58:01 +00:00
hallgren
8fed629a3e Show configuration options as part of build info
The GF shell welcome message will now include something like

	This is GF version 3.2.1-darcs. 
	Built on darwin/i386 with ghc-7.0, flags: interrupt

where a list of enabled configuration flags are included on the last line.

This is implemented in GF.Infra.BuildInfo by consulting the CPP macros
defined by the respective option in gf.cabal. For this to work,
GF.Infra.BuildInfo obviously has to be updated when new flags are added to
gf.cabal or if the CPP macros are renamed.

(Also, I suspect that if you reconfigure with different flags and rebuild GF
without cleaning first, the BuildInfo module will not be recompiled,
resulting in a misleading welcome message...)
2011-04-13 14:45:21 +00:00
hallgren
d066619b8f GF.Infra.UseIO: add functions readBinaryFile & writeBinaryFile 2011-04-13 14:44:18 +00:00
hallgren
6b8fa745e2 minibar: fix typo 2011-04-11 13:03:46 +00:00
hallgren
ca335793de minibar: small documentation updates and corrections 2011-04-11 13:00:52 +00:00
hallgren
4d4a58e54a GF shell restricted mode: found one more writeFile that should be restricted 2011-04-08 13:20:50 +00:00
hallgren
00a08fb4fb avoid warning from ghc-7.0
Warning: -fglasgow-exts is deprecated: Use individual extensions instead
2011-04-06 13:57:19 +00:00