Commit Graph

2726 Commits

Author SHA1 Message Date
kr.angelov
fdcd0de336 added pgf-service.c in the robust parser' 2012-05-25 07:27:29 +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
kr.angelov
bd8046f23d another attempt to port the robust parser to MacOS 2012-05-16 15:18:44 +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
kr.angelov
e342e5e7d6 small fix for compiling the robust parser on MacOS 2012-05-16 12:18:50 +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
aarne
d59f54ba41 missing case in partial evaluation of + fixed 2012-05-15 11:48:30 +00:00
kr.angelov
4aca965109 a new unbiased statistical parser. it is still far from perfect use it on your own risk. 2012-05-08 12:13:28 +00:00
kr.angelov
ed6a53609b yet another fix for parsing literals 2012-04-18 15:50:55 +00:00
kr.angelov
c6c54f8815 some fixes in the robust parser and a new API for literals 2012-04-12 06:55:25 +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
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
kr.angelov
99cc07ad67 simple cleanup in the robust parser 2012-04-02 19:01:18 +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
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
Sergei Trofimovich
73040e9c50 compiler/GF/Text/Coding.hs: fix build failure against ghc-7.2 2012-03-26 20:48:57 +00:00
Sergei Trofimovich
4404be284d Fix List.foldl / Map.foldl ambiguosity
Fixes the following error:
src/runtime/haskell/PGF/Expr.hs:111:14:
    Ambiguous occurrence `foldl'
    It could refer to either `List.foldl',
                             imported from `Data.List' at src/runtime/haskell/PGF/Expr.hs:27:1-24
                             (and originally defined in `GHC.List')
                          or `Map.foldl',
                             imported from `Data.Map' at src/runtime/haskell/PGF/Expr.hs:28:1-40
2012-03-26 20:18:23 +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
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
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