Commit Graph
100 Commits
Author SHA1 Message Date
hallgren 2e4aedd211 Setup.hs: fix two problems with querying darcs 2012-05-30 16:15:59 +00:00
hallgren 25c5ad2bf0 More detailed version info in the startup message
The Setup.hs script now queries darcs to create more detailed version info
to include in the startup message.

Note thought that with distributed version control systems like darcs,
the only way to uniquely identify a version is by the set of patches included.
Since the patches are not totally ordered, just looking at the last patch is
not enough.

For official releases, we tag the current set of patches so we can refer to
it by name (e.g. RELEASE-3.3.3).
2012-05-30 15:45:45 +00:00
hallgren 07e6ff8963 translator: segment imported text based on punctuation 2012-05-29 14:47:59 +00:00
hallgren 5108292f80 translator: better support for ambiguous translations
The translator picks "the first" translation by default, but the user can
choose among the generated translations from a popup menu.
2012-05-28 16:42:02 +00:00
hallgren a3a491d8fc GFServer.hs: apply UTF8 encoding when saving uploaded files
This fixes a bug introduced on May 16.
2012-05-28 11:21:30 +00:00
hallgren 3eeb3d2377 translator: adding "Parallel texts" view
This is in addition to the existing "Segment by Segment" view.
Also some minor documentation updates.
2012-05-27 19:19:54 +00:00
hallgren 25435a6912 gf -server: remove debug output 2012-05-27 11:52:15 +00:00
hallgren 33165aa8e3 translator: you can now import text by copying and pasting 2012-05-25 16:48:03 +00:00
hallgren 842b321ce9 translator: use a more robust test for localStorage support and show a warning if it is missing 2012-05-23 14:39:05 +00:00
hallgren eb380dfb80 translator: fix typo 2012-05-16 14:56:32 +00:00
hallgren ced72bf07b translator: update About page 2012-05-16 14:54:16 +00:00
hallgren e5ec226716 translator: use GF's text lexer/unlexer to obtain more natural looking text
Note though that the unlexer does the wrong thing with initial words that are
supposed to be capitalized, e.g. "I am ready.", "Spanish wine is good.", so
these sentenses are not translated at the moment.
2012-05-16 14:42:26 +00:00
hallgren 8172cf7d94 GFServer.hs: apply UTF8 decoding to all server input 2012-05-16 14:03:09 +00:00
hallgren 5c880fc15b translator: file browser shows files alphabetically now 2012-05-16 13:25:18 +00:00
hallgren 75144d2f7a translator: bug fix
My menu hiding hack didn't work in Gecko browsers because of a difference in
the behaviour of the JavaScript setTimeout function.
2012-05-16 11:53:27 +00:00
hallgren aa105f2916 Adding a Simple Translation Tool
It is part of the cloud services available with gf -server.
2012-05-15 15:36:06 +00:00
hallgren d13f71a27e Integrate Japanese
* Update Setup.hs to build Japanese by default.
* News item about Japanese on the home page.
* Add Japanese to the supported RGL imports in the grammar editor (gfse).
2012-05-15 13:11:32 +00:00
hallgren 496897c8e1 Quick updates to doc/gf-developers.t2t 2012-05-15 12:51:58 +00:00
hallgren 3fed5b1cbc Demos: add a note that the WebAlt Math translator is out of order 2012-05-04 12:52:05 +00:00
hallgren 2774275bf7 alex 3 incompatibility workaround
As a temporary workaround, alex is no longer invoked automatically when
building with cabal. Developers who want to modify the lexer need to run
alex on Lexer.x manually and record the modified Lexer.hs.

    src/compiler/GF/Grammar/lexer/Lexer.x    -- hidden from cabal
    src/compiler/GF/Grammar/Lexer.hs         -- update it manually
2012-05-04 12:39:07 +00:00
hallgren d19854cf0f minibar_offline: fix the link to the regular minibar 2012-04-30 14:03:58 +00:00
hallgren b57b7bdc4b minibar_offline: Update the API exported by pgf_offline.js to be compatible with pgf_online.js
This makes the minibar offline demo work again.
2012-04-30 13:53:55 +00:00
hallgren 82e1ee4a95 minibar: word-for-word replacements: use concrete syntax for replacement words when possible
Instead of showing the name of a function in the abstract syntax, linearize it
and show the result. For functions with argument, e.g. That : Kind -> Item,
the function is applied to the right number of placeholder arguments: 'That ?'.
If the linearization fails, the name of the function is shown anyway.
2012-04-27 14:00:01 +00:00
hallgren 5241469c8e minibar&gfse: grammar extension user interface improvements
The grammar extension is now done with a regular HTML form, so you can use the
TAB key to move between the fields and press ENTER to submit the extension when
you are done.
TODO: more immediate error feedback
2012-04-24 17:13:33 +00:00
hallgren 42f96474a6 minibar & cloud service: minor style changes
Also include the GF logo on the cloud service start page.
2012-04-19 15:34:56 +00:00
hallgren 22a2945d02 Minibar documentation update
Document recent additions in minibar/about.html.
2012-04-19 12:36:03 +00:00
hallgren fe53747a45 minibar: add buttons to use generated translations as input
This functionality was available in the origial Fridge Poetry app, but has been
missing in minibar until now.
2012-04-18 16:26:49 +00:00
hallgren c5308e99da download page: fixed a typo 2012-04-14 11:50:11 +00:00
hallgren da98d9b527 download page: added a note that Xcode 3.2.3 or later is needed on Mac OS X
The Haskell Platform page for Mac states that Xcode 3.2 or later is ok, but
there seems to be a problem with Xcode 3.2.2.

Also added some other small clarifications.
2012-04-14 10:03:27 +00:00
hallgren 645b29b769 minibar: fix to prevent the typed input field from losing focus when turning word-for-word replacment on or off 2012-04-11 14:03:39 +00:00
hallgren 840f982fd4 minibar: internal state type change
The current intput is now represented as an array of words instead of as a
string.
(This is the kind of change is scary to do in a dynamically type language
like JavaScript. In a statically typed language like Haskell you can do it
with confidence, since you know the compiler can help you catch all mistakes...)
2012-04-10 18:00:13 +00:00
hallgren 69623bf5d0 minibar_input.js: internal state simplification
Get rid of list of previous states, which was only used to delete the last
word.
2012-04-10 16:49:51 +00:00
hallgren 15bf21c091 minibar/pgf_online.js: pass arguments to the browse function in the same way as the other functions
Also document it in gf-web-api-examples.html.
2012-04-10 13:33:12 +00:00
hallgren 4ddf81c05f minibar&gfse: grammar extension user interface fixes
It works OK now, but it could be better, e.g. the number of mouse clicks
required to enter an extension could to be reduced...
2012-04-05 15:25:10 +00:00
hallgren be89ed18b3 minibar&gfse: first working grammar extension interface in minibar
There are still some user interface wrinkles to iron out.
2012-04-04 17:00:25 +00:00
hallgren 117ae47436 minibar: remember current input
If you leave the minibar and later return, the previous input will be
restored. One input string per grammar is rememebered, so you can also switch
back and forth between grammars without losing the input.
This is implemented using localStorage, i.e. the data is stored locally on
the user's device.
2012-04-03 14:53:23 +00:00
hallgren ad8a889894 minibar: better implementation of word replacement
Instead of trying to reconstruct the abstract tree from the bracketed string,
use the node numbers (the field called "fid") to identify which node in the
abstact syntax tree a word in the bracketed string corresponds to.
2012-04-02 16:05:11 +00:00
hallgren d3e809f95b gf-server.cabal: mtl is needed to build pgf-server now 2012-04-02 15:58:21 +00:00
hallgren df4183d92e PGFService.hs: add web API function "abstrjson"
Abstract syntax trees are represented as strings in the web API. To make them
easier to manipulate in JavaScript, the new function converts them to JSON.

To support structural editing, the nodes are numbered in the same way as in
the bracketed string created when linearizing an abstract syntax tree.

Example: "Pred (That Fish) Fresh" is converted to

	{fun:"Pred",fid:3,
	 children:[{fun:"That",fid:1,
		    children:[{fun:"Fish",fid:0}]},
		   {fun:"Fresh",fid:2}]}
2012-04-02 15:42:43 +00:00
hallgren 58e45457f2 support.js: add an implementation of Array.isArray for older browsers that lack it 2012-04-01 18:23:28 +00:00
hallgren 836b5f6afa gf.cabal: removing -O2
Removing "ghc-options: -O2" from gf.cabal has the following advantages:

+ Compiling GF is faster (time drops from 182s to 142s on my laptop)
+ Compiling the RGL is faster (time drops from 159s to 155s on my laptop)
+ Without the hardwired optimization level, the 'cabal configure' options
  --enable-optimization=<n> and --disable-optimization work as expected
  (so if you still want -O2, use --enable-optimization=2)
+ GF can be compiled with ghc-7.2.2 and ghc-7.4.1 (-O2 triggers a bug in
  these versions of ghc, it seems. Another workaround, discovered by
  Sergei Trofimovich, is to use -O0 in Data.Binary.)
2012-03-30 15:07:12 +00:00
hallgren 7114c59827 gfse&minibar: work in progress on grammar extension fromminibar 2012-03-29 17:10:36 +00:00
hallgren bb44210ff0 gfse: show an informative error message in browsers that lack support for localStorage 2012-03-29 14:11:38 +00:00
hallgren 8195c36f6f Workaround for bug in ghc-7.2.2
An apparent bug in ghc-7.2.2 causes the type Value to be exported from PGF.Data.
Workaround: restrict the imports from PGF.Data in GF.Command.Abstract and
GF.Compile.GeneratePMCFG to avoid the clash with locally defined type Value.
(ghc-7.0.4 and ghc-7.4.1 appear to be free from this bug.)
2012-03-26 23:56:56 +00:00
hallgren 3f1f9211db minibar: support for adding grammars from several servers to the grammar menu
You can also add grammars from several directories on the same server of course.
The included minibar configuration file adds the user's own grammars from the
grammar editor.
2012-03-26 17:17:54 +00:00
hallgren 833f72b2e1 gfse: enable word replacement in minibar when activated from the editor 2012-03-26 17:13:40 +00:00
hallgren ecd6d193ce gfse&minibar: fix bug caused by function name clash
+ Function div_id was defined in both editor.js and support.js. Solution:
  moved the more general version from editor.js to support.js.
+ Function div_class was defined in both editor.js and support.js. Solution:
  resolv incompatibility with an argument type test and put the generalized
  function in support.js.
2012-03-26 17:08:29 +00:00
hallgren dc67d6015e gf-book: apply GF style sheet
Also brought index.txt and index.html back in sync. (It looks like someone
updated index.html instead of updating index.txt and regenerating index.html.)
2012-03-26 15:02:15 +00:00
hallgren 402ec51ac4 doc/icfp-2012.t2t: link back to ICFP 2012 web site 2012-03-23 13:27:08 +00:00
hallgren 4d28af9352 GF home page: News: GF Tutorial at ICFP 2012 2012-03-23 13:20:58 +00:00
hallgren 68b8a78e76 minibar: word-for-word replacement fixes
Check that the reconstructed abstract syntax tree is type correct before
enabling word-for-word replacement. Show an error message if word replacement
nevertheless fails.
2012-03-22 14:33:42 +00:00
hallgren f899d54057 pgf_online.js: error callbacks
To enable customized error handling, the methods in the pgf_online objects and
the AJAX server call functions in support.js accept an error callback function
as an extra argument, in addition to the callback (continuation) for normal
results.
2012-03-22 14:09:53 +00:00
hallgren 45ba976e3e ICFP 2012 tutorial page: use the GF stylesheet for a consistent look 2012-03-20 14:04:57 +00:00
hallgren e988171c5c minibar: word-for-word replacement fix
Turn off the highlighting that indicates that word-for-word replacement is
enabled when it is no longer available (e.g if a word is deleted and there no
longer is a complete parse).
2012-03-19 15:24:35 +00:00
hallgren 053a29bd67 minibar: fix for recently introduced bug affacting Webkit browsers
It seems that in Gecko browsers, the effect of "with(x) stmts" reaches inside
the bodies of local functions in stmts, but in Webkit browers it does not.
2012-03-19 15:15:47 +00:00
hallgren 253244bad9 minibar: don't try to select the most recently used grammar if it isn't in the current grammar list 2012-03-19 00:35:10 +00:00
hallgren 3398e1060b minibar: automatically select the most recently used grammar when returning to the minibar 2012-03-18 23:54:50 +00:00
hallgren c234e58a6a PGF run-time library: function names in BracketedString (experimental)
+ Make room for function names in the BracketedString data structure.
+ Fill in function names when linearizing an abstract syntax tree to a
  BracketedString.
+ Fill in wildCId when it is not obvious what the function is.
+ Function bracketedLinearize: for compatibility with the other linearization
  functions, return Leaf "" instead of error "cannot linearize".
+ Export flattenBracketedString from module PGF.
+ PGFServce: make function names available in the JSON representation of
  BracketedString.
2012-03-18 20:12:26 +00:00
hallgren c62a015eca minibar: word-for-word replacement (experimental)
The new functionality also needs some new PGF service functionality, which will
be provided in a separate patch.
2012-03-18 20:02:11 +00:00
hallgren 2b845b49e4 Cloud service start page layout fix for small screens 2012-03-17 16:23:54 +00:00
hallgren 7de13a100c Adding a .ghci file to make it easier to load GF in ghci. 2012-03-16 14:01:29 +00:00
hallgren 661d7edfe7 PGFService.hs: command=browse can now produce output in JSON format.
To get JSON output, add the parameter format=json. The JSON structure contains
the output from the function PGF.browse.
The default is format=html for backwards compatibility.
2012-03-16 13:55:19 +00:00
hallgren f5737e8222 minibar: add an option to make it easy to select png or svg output
for abstract synax trees, parse trees and word alignment diagrams.
2012-03-08 15:30:31 +00:00
hallgren b3a66202ae GF home page: direct link to Issues
"Wiki" is a word with very low information scent: there is no way to know
what type of informaiton is hiding behind the Wiki link, e.g., that there is
a bug tracker (or an FAQ), so not many users will click on it.
2012-03-08 15:24:26 +00:00
hallgren 5837ba990b gf.cabal: update version number to 3.3.3-darcs 2012-03-08 13:03:25 +00:00
hallgren 7091ba131a PGFService.hs: add output format option to the commands abstrtree, parsetree and alignment
Supported output formats: gv, png, svg.
2012-03-08 11:25:15 +00:00
hallgren 5a43e69f30 gfse: small usability improvements 2012-03-06 23:04:36 +00:00
hallgren 1b4f1863c6 gfse: more helpful hints about grammar parts and RGL modules 2012-03-05 21:12:33 +00:00
hallgren 61be155fc3 gfse: bug fix: avoid hickup when inhertiting from a missing concrete syntax 2012-03-05 20:47:52 +00:00
hallgren 139e90b2e1 gf-server.cabal: always build the fastcgi module (pgf-server), lower version requirement on the cgi package
+ The flag fastcgi is removed: building the fastcgi is the main purpose of
  this cabal file again.
+ pgf-http superseded by gf-server, but is still available as an option
+ Require cgi>=3001.7.3 instead of cgi>=3001.8.0.
2012-03-05 16:38:54 +00:00
hallgren 7c6ea86357 minibar: tool tip on the feedback button and hint in the feedback form
that the user should select a language from the To: menu to suggest a better
translation to a particular language.
2012-03-05 14:54:42 +00:00
hallgren b6736ae159 Update home page and download page for GF 3.3.3 release 2012-03-03 11:53:10 +00:00
hallgren c2289b5f21 GF download page: Windows binary package added 2012-03-02 17:54:38 +00:00
hallgren a4ed7a17f7 GF 3.3.3 download page: initial set of binary packages added 2012-03-02 16:12:51 +00:00
hallgren 993380720e Fix release notes typos 2012-03-02 13:43:02 +00:00
hallgren b401b1087e Updated GF 3.3.3 release notes 2012-03-02 13:33:37 +00:00
hallgren 8c29d8247a gf.cabal: update version number to 3.3.3
but I am not tagging it yet, there is still time for some changes
2012-03-02 10:57:08 +00:00
hallgren 7458562652 Update doc/gf-help-full.txt
* echo help -full -t2t | gf -run >doc/gf-help-full.txt
* Insert 3 empty lines first in the file.
2012-03-01 19:39:42 +00:00
hallgren 2394a09cc0 gfse: bug fix
Fix a problem opening grammars created before grammar extension was introduced.
2012-03-01 18:11:58 +00:00
hallgren ec04f9118c WebSetup.hs: avoid ? wildcards because of odd behaviour under Win32
There is some discussion here: http://www.xxcopy.com/xxcopy18.htm
2012-03-01 16:33:32 +00:00
hallgren c48e7aab7c doc-phrasebook.txt: update link to minibar doc 2012-03-01 15:53:22 +00:00
hallgren 127d8ccbd5 doc-phrasebook.txt: update hyperlinks
Link to www.grammaticalframework.org instead of code.haskell.org/gf.
2012-03-01 15:45:05 +00:00
hallgren 4d4aefebdd GF home page minor style update 2012-03-01 14:51:16 +00:00
hallgren 9260797e6b Setup.hs: include Hindi and Thai by default in RGL builds 2012-03-01 14:25:41 +00:00
hallgren 9f6dc5e6e5 WebSetup.hs: use </> instead of '/' for Win32 compatibility 2012-03-01 14:21:47 +00:00
hallgren 8df2f298b5 Rename FoodsThai.gf back to FoodsTha.gf
so that it is included by default when building Foods.pgf for gf -server mode.
2012-03-01 13:53:48 +00:00
hallgren 1fed3349f7 gfse & minibar: minor style adjustments 2012-02-29 17:37:13 +00:00
hallgren 4ae34abd04 gf -server: update start page, add links to some documentation 2012-02-29 17:05:45 +00:00
hallgren 74b643bfc3 gfse: add missing file sort.js to the repository 2012-02-29 16:36:28 +00:00
hallgren cc2299dde7 PGFService.hs bug fix: pattern match failure in doParse
doParse was missing a branch for PGF.ParseIncomplete.
Also introduced the operator .= to simply the code that builds JSON objects.
2012-02-29 16:21:34 +00:00
hallgren c73d252155 Updated GF 3.3.3 release notes 2012-02-28 17:47:10 +00:00
hallgren eb1b4ecf3f gfse: Translation Quiz integration
Also moved the translation quiz from demos/TransQuiz to src/www/TransQuiz so
that it will be installed by 'cabal install' along with the other files that
are installed for use by gf -server mode.
2012-02-28 17:24:34 +00:00
hallgren a68331d287 gf -server mode: JSONP support for grammar lists
Needed by the translation quiz.
2012-02-28 17:20:59 +00:00
hallgren 725747ef62 GF 3.3.3 release notes: mention the new RGL languages 2012-02-28 15:53:08 +00:00
hallgren d5cf95bbbd Updates for the GF 3.3.3 download page 2012-02-28 14:51:09 +00:00
hallgren 7445ca2ae5 Adding release notes and download page for version 3.3.3
Feel free to add to the release notes!
2012-02-28 11:02:08 +00:00
hallgren ae6ec34337 gfse: recognize Predef categories Int, Float and String
but don't show them in the startcat menu.
2012-02-27 17:18:05 +00:00
hallgren 6191dc4f51 gfse: text mode improvements
+ Preserve the startcat flag.
+ Preserve judgement order when possible (GF's parser does not preserve order
  and does not record exact source locations, only line numbers)
2012-02-27 16:50:06 +00:00
hallgren fc784e92df gfse: text mode editing: accept grammars with printname judgements
But printname judgements are ignored for now.
Also fixed an UTF-8 encoding bug when parsing uploaded grammars in gf -server
mode.
2012-02-24 17:12:38 +00:00
hallgren 8b33d91317 GF home page: News: Hindi, Sindhi 2012-02-24 15:42:57 +00:00