Commit Graph

4062 Commits

Author SHA1 Message Date
aarne
1eb0fcba11 added book in the documentation 2011-04-15 12:07:59 +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
hallgren
b4e3e8c0fa avoid warning from ghc-7.0
Warning: -fglasgow-exts is deprecated: Use individual extensions instead
2011-04-06 13:43:29 +00:00
aarne
75e401d1a7 generate Eq instance for GADT 2011-04-06 12:27:31 +00:00
aarne
7067b1c992 fixed the printing of predefined and list categories in haskell=gadt 2011-04-06 07:45:35 +00:00
hallgren
b1c2c27ae6 GFI.hs: refactoring to add a function for executing a single GF shell command.
The intention is to use the new function to implement a web service API to
the GF shell.
2011-04-04 20:06:55 +00:00
hallgren
1b08ca8a61 Add build info to the GF shell welcome message 2011-04-04 19:52:07 +00:00
hallgren
d1b95cef99 gfse: somewhat simplified configuration/installation 2011-03-28 15:04:43 +00:00
hallgren
06a29cb573 gfse: added an alternate style sheet with the MOLTO color scheme 2011-03-28 14:46:15 +00:00
hallgren
17f3b456ce minibar: don't force focus to the typed input field after every word
On touch-based devices, the on-screen keyboard kept popping up after every word,
which was very annoying if you were entering a sentence by tapping on the
magnets.
2011-03-22 15:17:48 +00:00
hallgren
5c7ebcc511 minibar: add trailing slash in suggested grammar URLs 2011-03-22 15:12:54 +00:00
gdetrez
9a0889d687 Adding a missing file for the tokenizer... 2011-03-17 16:04:21 +00:00
gdetrez
45ecae4b77 Adding a basic lexicon-based tokenizer and the asociated command in gf shell 2011-02-10 15:00:06 +00:00
gdetrez
d7ae73f1c7 Adding an option to the gf compiler to add an index to pgf files
This is gonna be used by the android library to skip unused part of a
pgf file
2010-12-11 16:36:30 +00:00
aarne
a59df6b495 started a grammar for grammatical terms, covering the cats of the RGL 2011-03-14 18:48:08 +00:00
aarne
b9ebd48a2c smaller query grammars for MOLTO KRI 2011-03-13 19:49:41 +00:00
aarne
7361ddea45 make it possible to override opers defined in an interface by syntax 'instance Foo of Bar - [f,g,h]' 2011-03-12 11:24:14 +00:00
aarne
3ddc29f2dc make later flags take priority over earlier ones in PGF generation 2011-03-12 11:22:21 +00:00
aarne
1599ce4ba9 generalized pt -transfer so that it goes into subtrees (naive implementation in TreeOperations; using PGF.Expr.match would be better); example given in 'h pt' 2011-03-12 10:20:54 +00:00
hallgren
b9bfb3ccec gfse: documentation fixes, links to MOLTO meeting slides and compiler API document 2011-03-09 11:11:47 +00:00
hallgren
d30a3b182b gfse: add a link from demo page to the editor 2011-03-09 10:05:53 +00:00
krasimir
18519c20fd fix the grammar browser in the editor 2011-03-08 12:32:51 +00:00
krasimir
42ad2d5e95 the user can now upload their own grammars in the editor 2011-03-07 21:05:29 +00:00
hallgren
62c85f1bb6 gfse: create a new concrete syntax by copying an existing one
When adding a new concrete syntax to a grammar, the currently open concrete
syntax will be copied. If the abstract syntax is currently open, the new
concrete syntax will start out empty.
2011-03-07 17:52:15 +00:00
hallgren
cfb5f6eb7e gfse: link back to the editor from the upload page 2011-03-07 16:05:55 +00:00
hallgren
629919667b gfse: minor layout/formatting variation 2011-03-06 10:19:17 +00:00
aarne
f32307b39d added composOp generation to haskell-gadt, and an example in examples/gadt-transfer 2011-03-05 22:25:03 +00:00
aarne
d9b5d3ed4d switched the upper and lower parts of lexc entries to their standard order 2011-03-04 17:25:53 +00:00
aarne
14f11bb2b9 revived GADT generation 2011-03-04 17:05:40 +00:00
aarne
88a0790f32 fixed a variable refreshing bug in the compiler 2011-03-04 16:44:30 +00:00
hallgren
914ee33396 minibar: add icon for word alignment button 2011-03-03 19:19:47 +00:00
hallgren
527e000a12 minibar: add a button to display word alignment 2011-03-03 19:18:09 +00:00
hallgren
2c1feccd17 GF shell restricted mode
By setting the environment variable GF_RESTRICTED before starting GF, the shell
will be run in restricted mode. This will prevent the GF shell from starting
arbitrary system commands (most uses of System.Cmd.system are blocked) and
writing arbitrary files (most commands that use writeFile et al are blocked).

Restricted mode is intended minimize the potential security risks involved
in allowing public access to the GF shell over the internet. It should be used
in conjuction with system level protection mechanisms (e.g. file permissions)
to make sure that a publicly acessible GF shell does not give access to parts
of the system that should not be publicly accessible.
2011-03-03 15:42:57 +00:00
hallgren
b190d30fad gf.cabal: bump version number, add source repository info
I changed the version number to 3.2.1-darcs.
I think the version number of the current version from darcs should always
include the "-darcs" suffix (or "-current" perhaps?). The suffix should be
removed only momentarily when making an official release.
2011-03-03 15:24:43 +00:00
aarne
f8c4903285 overloaded opers included in sorting of judgements 2011-03-03 15:10:31 +00:00
aarne
f32091cd53 print lexicon in Xerox LEXC format: pg -lexc 2011-03-03 08:31:15 +00:00
aarne
8e3674600c corrected help for l command 2011-03-01 16:15:20 +00:00
hallgren
e06e587de1 demos/index.html: minibar is now available on the standard port
Minibar was at http://www.grammaticalframework.org:41296/minibar/minibar.html
but now also at http://www.grammaticalframework.org/demos/minibar/minibar.html
which means it is accessible behind firewalls that block requests to
nonstandard ports.
2011-03-01 15:02:13 +00:00
hallgren
6c60b086cf demo/indx.html: record translation quiz entry 2011-03-01 14:58:51 +00:00
hallgren
45b59b0e7e minibar/support.js: recognize relative URLs as locations on the same server
This means that the relative grammar directory location in the default
configuration will result in AJAX requests rather than the less efficient
JSONP requests.
2011-03-01 14:47:20 +00:00
hallgren
a01704fd3e minibar: make the feedback form work in the generic minibar
It is still disabled by default, since some manual configuraiton of
feedback.cgi is required.
2011-03-01 13:46:00 +00:00
hallgren
758e2a031d gfse: fix missing startcat flag bug + documentation updates 2011-02-28 16:47:25 +00:00
hallgren
790e086a54 gfse: fix persmission problem in upload.cgi 2011-02-28 15:46:42 +00:00