hallgren
aa9280b287
Workaround for a problem with lock fields
...
This problem showed up after delaing eta expansion until just before partial
evaluation
2013-09-10 13:43:59 +00:00
hallgren
b93f817058
new-comp: delay eta expansion until just before partial evaluation
...
This seems to work for the most part, but a problem showed up in WordsCat.gf in
the phrasebook.
2013-05-30 16:01:12 +00:00
hallgren
bf5dfb2293
Nonlinear patterns in concrete syntax are now detected and reported as errors
...
Before, they were silently converted to linear patterns.
Nonlinear patterns in MorphoCat.gf, ParadigmsGre.gf and ParadigmsFin.gf have
been make linear by renaming pattern variables.
2013-09-09 19:52:08 +00:00
hallgren
3543cb7a16
partial evaluator: prettier complaint about nonlinears patterns
2013-09-09 16:23:01 +00:00
hallgren
990789eb91
partial evaluator: complain about nonlinear patterns
2013-09-09 15:53:14 +00:00
hallgren
83283b0d6a
Fix an old name shadowing bug in concrete syntax by removing the refresh pass
...
The refresh pass does not correctly keep track of the scope of local variables
and can convert things like \x->(\x->x) x into \x1->(\x2->x2) x2. Fortunately,
it appears that the refresh pass is not needed anymore, so it has been removed.
2013-09-09 14:29:57 +00:00
hallgren
d7916c1b08
Fix an old bug that prevented pattern matching agains values containg tables
...
The function GF.Grammar.PatternMatch.isInConstantForm returned False for all
tables, causing matchPattern to fail, claiming that "variables occur in" the
term if it contains tables.
This problem is several years old, confirmed present in GF 3.2.10 (Oct 2010).
2013-09-05 15:20:41 +00:00
hallgren
d626a194de
gf.cabal: version: 3.5-darcs
2013-09-02 20:27:47 +00:00
hallgren
018b43837b
Demo page: added a link to Phrasomatic
2013-08-22 19:27:33 +00:00
hallgren
9efb9ce2fb
gfse: don't use multiline text boxes everywhere, just for concrete syntax
2013-08-21 14:19:05 +00:00
hallgren
08766585e6
gf -server: fix for directory URLs without a trailing slash
...
When a browser requests a URL that refers to a directory, web server usually
redirect the browser to the same URL with a trailing '/' added, if one was not
already present. This is to prevent relative links in the returned document
from being interpreted relative to the parent directory instead of the current
document. This type of redirection was missing in gf -server.
2013-08-20 15:38:26 +00:00
hallgren
4e7be49927
download page: link to Inari's notes on installing GF on windows
2013-08-20 08:09:58 +00:00
hallgren
2aa14bfef8
gfse: only try to upload/compile grammars when browser is online
...
Show error message "Offline" if browser is offline.
2013-08-19 15:00:55 +00:00
hallgren
029f1d40e5
gfse: always open a resizable text box when editing concrete syntax
...
(Also fixed a broken link in gf-web-api-examples.html)
2013-08-19 14:19:18 +00:00
hallgren
8a81641b00
doc/gf-developers.t2t: add some notes on how to create .deb and .rpm packages
2013-08-08 12:51:24 +00:00
hallgren
fad63a14be
Better error messages for attempts to redefine predefined constants
...
Instead of just "syntax error", you now get e.g.
PType is a predefined constant, it can not be redefined
This is a simple change in the parser.
2013-08-07 19:36:09 +00:00
hallgren
824fbee593
Update to version 3.5 in gf.cabal and debian/changelog
2013-08-06 15:42:57 +00:00
hallgren
4dd9a42f4a
Move GF 3.5 download page into place. Update home page.
2013-08-06 15:32:20 +00:00
hallgren
2b3854b635
Finalize GF 3.4 download page and release notes
2013-08-06 15:28:53 +00:00
hallgren
f0cded5f53
Next release will be GF 3.5, release notes moved to download/release-3.5.t2t.
...
Some more work on the 3.5 release notes and download page.
2013-08-05 12:38:38 +00:00
hallgren
3be7ab3f49
Update shell reference manual
2013-08-05 11:47:17 +00:00
hallgren
27da46a79d
Cloud & PGF service: use Content-Type application/json for JSON output
...
This is in accordance with RFC 4627. http://tools.ietf.org/html/rfc4627
Use application/javascript for JSONP output.
2013-07-29 16:05:54 +00:00
hallgren
ecfcaa5395
Adding download page and release notes for the next release of GF
...
The suggested next release is 3.4.8 in early August.
Feel free to add things in download/release-3.4.8.t2t.
2013-07-29 13:26:22 +00:00
hallgren
3b334b5707
minibar: more robust test for availability localStorage
...
Minibar should now work if localStorage is disabled or unavailable.
(In Firefox, disabling cookies also disables localStorage.)
2013-07-29 11:58:17 +00:00
hallgren
e07a74df01
Allow cross origin requests to GF cloud & PGF services
...
By adding a header
Access-Control-Allow-Origin: *
to the HTTP responses, web browsers are informed that it is OK to call the
services from web pages hosted on other sites.
This is apparently supported in most modern browsers, so it should no longer
be necessary to resort to JSONP.
See https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS
2013-07-25 16:04:43 +00:00
hallgren
fe79e8cd25
gf-server.cabal: same changes as in gf.cabal for ghc-7.6 compatibility
2013-07-15 17:07:51 +00:00
hallgren
bdfd663e91
Fix UTF-8 decoding problem in gf -server
...
The package network-2.4.1.1 thoughlessly introduced a backward incompatible
change to the function Network.URI.unEscapeString, see
https://github.com/haskell/network/commit/f2168b1f8978b4ad9c504e545755f0795ac869ce
This also affects the function Network.Shed.Httpd.queryToArguments, which is
used in GFServer.hs.
To remain compatible with older and newer versions of the network package,
we need to stay clear of queryToArguments and unEscapeString. A replacement
function has been added to server/URLEncoding.hs.
2013-06-13 08:23:48 +00:00
hallgren
d010dfdcfa
Update the usage text for the --output-format option
...
It needs to be updated manually when the list of available output format
changes.
2013-06-10 12:00:14 +00:00
hallgren
5b36461c1d
GF.Text.Transliterations: avoid error prone function Data.Map.fromAscList
2013-06-02 10:10:46 +00:00
hallgren
29f1487aa4
Demo page: add a version of the minibar that shows just the MOLTO Application grammars
2013-05-24 14:20:36 +00:00
hallgren
da577d15ef
Download page: the .deb packages also work on Ubuntu 13.04
2013-05-03 13:14:27 +00:00
hallgren
e44580aced
Setup.hs: comment out ineffective parallelisation
2013-05-02 12:36:16 +00:00
hallgren
41bccf5737
Download page & developers guide: add a section about known problems with Cabal
2013-04-29 13:12:37 +00:00
hallgren
8d866541d3
gfse: use alltenses/ instead of present/ when looking up RGL oper types
2013-04-26 15:01:11 +00:00
hallgren
b88065e250
Add greek to Setup.hs and the web apps
2013-04-26 13:42:01 +00:00
hallgren
c841c2c3c9
minibar: remove two more uses of with()
2013-04-25 15:08:26 +00:00
hallgren
7fe4ff8c46
minibar: fix bug that prevented minibar from working in Webkit browsers
...
The with(...) {...} statement has different scoping rules in Webkit browsers
and Gecko browsers, so it is better to avoid it.
2013-04-25 14:55:24 +00:00
hallgren
5fe680c837
PGF service: apply the token binding operator &+ to all linearizations
...
The &+ operator is now consistently eliminated from the output of commmands
that produce linearizations. Before, only the commands translate and
translategroup did this.
2013-04-24 18:32:53 +00:00
hallgren
7f0f91a54b
js/localstorage.js: don't throw an exception if JSON parsing fails
...
Return the given default value instead.
2013-04-23 14:14:38 +00:00
hallgren
1146b94685
gfse: add access to the syntax editor
...
via the minibar
2013-04-23 13:55:00 +00:00
hallgren
2639dc67b1
js/gfrobust.js: don't try to translate sentenses that are too long
...
The C run-time responds badly to input that is too long, so we return an
error message here instead.
The limit is 200 URL-encoded characters.
2013-04-23 13:40:38 +00:00
hallgren
ba1bdaa3dc
js/localstorage.js: improved faked localStorage if real localStorage is missing
2013-04-23 12:44:12 +00:00
hallgren
bcf8346716
minibar: use the common interface to localStorage
...
...for more streamlined code and better browser compatibility.
2013-04-23 12:39:18 +00:00
hallgren
a0bcea3076
gfse: don't add --# -path=.:present
...
Nowadays GF includes alltenses by default in the grammar search path.
2013-04-20 07:25:38 +00:00
hallgren
4ca26b8734
simple translation tool: minor documentation fix
2013-04-19 14:10:03 +00:00
hallgren
8f187584e9
gf-cloud-api.html: fixed a typo
...
in the documentation of command=remake.
2013-04-19 12:17:27 +00:00
hallgren
27545f6d18
gf-cloud-api.html: clarification
...
Unrecoginzed parameter in cloud service requests are silently ignored.
2013-04-19 12:06:00 +00:00
hallgren
ff691dee7b
simple translator: improved translation with the GF robust parser
...
by separate punctuation from the string sent to the robust parser.
Also added buttons to view parse trees from the robust parser.
2013-04-18 13:11:46 +00:00
hallgren
5f35a59b95
gfrobust.js: add a method for constructing parse tree image URLs.
2013-04-18 13:11:05 +00:00
hallgren
6ae28fc693
GF home page: add "machine translation" in a meta keywords tag
...
GF does not show up if you google for machine translation. This meta tag might
help, but in general I think it is better for SEO to mention relevant keyword
in the body text than to rely on meta tags.
2013-04-18 12:02:32 +00:00
hallgren
563299085d
minibar: syntax editor integration bug fix
...
The minibar has the alternative "All" in the target language menu. This should
not be included when transfering to the syntax editor.
2013-04-17 08:49:31 +00:00
hallgren
b037fa2b32
minibar: fixes for phrasebook
...
Add minibar option to_multiple to be able to turn off selection of multiple
target languages.
2013-04-17 08:39:39 +00:00
hallgren
d35790e656
GF cloud: work on syntax editor integration
...
+ The syntax editor is now accessible from the Simple Translaton Tool.
+ The minibar now automatically provides access to the syntax editor (provided
the necessary JavaScript files and style sheets have been loaded).
+ Preparations for making the syntax editor accessible from the grammar editor.
2013-04-12 18:29:15 +00:00
hallgren
1d0f9372f4
syntax editor: fix references to global object 'server'
2013-04-12 17:50:44 +00:00
hallgren
eb941d6eac
minibar/syntax editor integration fixes
...
When starting from the minibar, the selected set of target languages is now
preserved when switching back and forth.
2013-04-12 14:30:27 +00:00
hallgren
a0d785610d
Simple Translation Tool: eliminate &+ in translations from GF
...
Also fixed a bug introduced in previous refactoring.
2013-04-12 13:00:05 +00:00
hallgren
40e9fe30c3
gfrobust.js: adding a JavaScript API to the GF Robust Parser translation service
...
Factored out from the Simple Translation Tool.
2013-04-12 12:47:13 +00:00
hallgren
59f9f9dd17
minibar.html: add debug element
...
to allow debug output from the syntax editor when it is started from the
minibar.
Also fix broken markup.
2013-04-11 11:47:06 +00:00
hallgren
5bce1d7a16
gf -s/-q now silences "no linearization of" warnings
2013-04-10 23:00:01 +00:00
hallgren
b8ce5ef5b3
PGF.hs: export function missingLins
...
Also in Commands.hs: be explicit about things imported from the PGF library
that are not in the public API.
Also a couple of haddock documentation fixes.
2013-04-08 15:38:11 +00:00
hallgren
35b47968d2
minibar: add a visual hint that linearizations can be expanded into tables
2013-04-07 12:06:12 +00:00
hallgren
cc0743ade1
Compiler.hs: ghc 7.6.2 compatibility
2013-04-05 20:37:37 +00:00
hallgren
5a7e8cc601
Simple Translator: add GF Robust Parser to the menu for individual segments
2013-04-05 20:32:20 +00:00
hallgren
0bbbda0911
Simple Translator: use lextext/unlextext for translations with the robust parser
2013-04-05 15:15:40 +00:00
hallgren
fca0a00c81
Simple Translator: initial support for translation with the GF robust parser
2013-04-05 13:25:09 +00:00
hallgren
3c244ff27f
minibar/syntax editor integration improvements
...
Work in progress on preserving the start category and selected target languages
when switching between the minibar and the syntax editor.
2013-04-04 14:04:31 +00:00
hallgren
a22a419bc7
Simple Translation Tool: initial support for editing source segments in the minibar
2013-04-03 20:24:57 +00:00
hallgren
0568a1a32a
Adding src/www/js/localstorage.js
...
A common interface to localStorage, to store JSON data under a unique prefix.
2013-04-03 20:23:32 +00:00
hallgren
c02d5b188b
Prevent Unicode characters in warning messages from stopping grammar compilation
...
When compiling a grammar containing characters that are not supported in the
current locale, warning messages could cause GF fail with
hPutChar: invalid argument (Invalid or incomplete multibyte or wide character)
With this quick fix, warning messages that can not be displayed are silently
truncated instead, and compilation continues.
2013-04-03 06:42:08 +00:00
hallgren
078edf3e6b
gf.cabal: fix tab char problem
2013-04-02 14:53:15 +00:00
hallgren
eb3fc960d5
gf.cabal: gf depends on utf8-string even when compiled without server support
2013-04-02 14:50:01 +00:00
hallgren
f26778feb0
minibar: remember the selected set of target langauges
2013-04-02 13:49:50 +00:00
hallgren
4e40fd5697
minibar: abstract syntax trees are now shown with or without category names
...
Function names are always shown.
2013-04-02 11:56:10 +00:00
hallgren
63c0b7ae5d
minibar: show abstract syntax trees without or with function names
...
Click once to show abstract syntax trees without function names. Click again
to add function names.
2013-03-28 16:00:04 +00:00
hallgren
08046137cb
PGF web API: command=abstrtree not supports the nocat and nofun options
2013-03-28 15:57:17 +00:00
hallgren
be1d380ea5
minibar: fix problems with the To: menu
...
Automatically expanding the menu when the mouse is over it seems to cause wierd
scrolling behavior in Chrome (and also in Firefox but less severe).
2013-03-27 23:39:35 +00:00
hallgren
323982b0ea
minibar: documentation update
2013-03-27 16:45:09 +00:00
hallgren
8b06936c01
minibar: click on a linearization to obtain a table with all variants and forms
...
Click again to hide the table.
2013-03-27 16:35:56 +00:00
hallgren
7e214fee01
support.js: add function replaceNode
2013-03-27 16:35:32 +00:00
hallgren
1ff78dae97
PGF web API: add comand linearizeTable
...
The new command linearizeTable outputs linearizations as tables containing all
variants and forms, labelled by parameters
2013-03-27 16:31:52 +00:00
hallgren
060e3147e8
minibar: fix buttons for abstract syntax trees and word alignment diagrams
...
They stopped working after yesterday's changes.
2013-03-27 14:07:16 +00:00
hallgren
2cb7ed5734
minibar: documentation update
2013-03-26 14:38:10 +00:00
hallgren
155c559e5f
minibar: show parse trees without or with function names
...
Click once to show the parse tree without function names. Click again to
add function names.
2013-03-26 14:24:22 +00:00
hallgren
1962574941
PGF service: support all parse tree visualziation options in the web API
...
The new options are
* noleaves, nofun, nocat (booleans, false by default)
* nodefont, leaffont, nodecolor, leafcolor, nodeedgestyle, leafedgestyle
(strings, empty by default)
2013-03-26 14:17:24 +00:00
hallgren
9faa3407ab
haddock bug workaround
2013-03-26 13:14:37 +00:00
hallgren
dca51e7417
minibar: initial support for selecting an arbitrary subset of target languages
...
This affects which translations are shown and which languages are included in
the word alignment diagrams.
2013-03-25 17:43:12 +00:00
hallgren
3ae3df209e
Setup.hs: paralell RGL module compilation experiment
...
For this to have any effect, Setup.hs has to be compiled with -threaded, which
cabal-install doesn't do, unfortunately...
2013-03-25 14:03:10 +00:00
hallgren
80fe693546
Fix a problem with pattern macros in pre { } expressions
...
The old partial evaluator has special rules to convert pattern macros in
pre { } expressions. These rules were missing in the new partial evaluator.
2013-03-16 13:36:23 +00:00
hallgren
66dae1fe17
Update shell reference manual
2013-03-14 08:08:51 +00:00
hallgren
07f958a9b7
PGF web API: add 'to' parameter to the 'alignment' command
...
Word alignment diagrams can now be restricted to a subset of the languages
supported by the grammar.
2013-03-13 15:56:03 +00:00
hallgren
d4fc60f260
PGF web API: generalize the 'to' parameter to accept a list of languages
...
Some commands (linearize, linearizeAll, random, generate, translate and
translategroup) by default produce output in all languages supported by the
grammar and the 'to' parameter could be used to restrict output to a single
language. Now you can restrict the output to a list of languages. Languages
should be separated by spaces.
Also removed an unnecessary LANGUAGE pragma and reduced code verbosity.
2013-03-13 15:25:28 +00:00
hallgren
e5ce4d4b1e
partial evaluator: push predefined functions inside variants
...
This should prevent errors like
Internal error in Compute.ConcreteNew:
Applying Predef.drop: Expected a value of type String, got VFV [VString "gewandt",VString "gewendet"]
2013-03-12 16:36:58 +00:00
hallgren
d1c5fafc69
Additional changes for GHC 7.4 & 7.6 compatibility
2013-03-11 12:57:09 +00:00
hallgren
8200145513
Fix a bug that could cause "Prelude.head: empty list"
...
In Data.Operations, the function topoTest2 assumed too much about the form of
the input, compared to the older function topoTest.
2013-02-28 17:46:13 +00:00
hallgren
95d77e3c37
pattern match length estimation code simplication
2013-02-28 15:13:20 +00:00
hallgren
0feb386691
Faster regular expression pattern matching in the grammar compiler.
...
The sequence operator (x+y) was implemented by splitting the string to be
matched at all positions and trying to match the parts against the two
subpatterns. To reduce the number of splits, we now estimate the minimum and
maximum length of the string that the subpatterns could match. For common
cases, where one of the subpatterns is a string of known length, like
in (x+"y") or (x + ("a"|"o"|"u"|"e")+"y"), only one split will be tried.
2013-02-27 20:59:43 +00:00
hallgren
95c4cbb8f5
GF grammar pretty printer improvements
...
Allow line breaks in more places to make large terms more readable.
2013-02-27 14:22:47 +00:00
hallgren
4f243fbf12
Fix for a PGF portability problem
...
GF produced slightly different PGF files on 64-bit systems and 32-bit systems.
This could cause problems when a PGF was produced on a 32-bit system and used
on a 64-bit system.
To fix this, the GF compiler and the Haskell PGF run-time library now reads
and writes PGF files like the 32-bit version even when compiled on a 64-bit
system.
Note: the Haskell type Int is still used internally in GF, which could be
32 bits or 64 bits...
2013-02-13 14:28:06 +00:00
hallgren
e5231eebbd
translator: add some menu padding for touch devices
2013-02-11 16:46:43 +00:00
hallgren
ae16e48d0d
translator: small style change
2013-02-11 16:33:48 +00:00