Commit Graph

3955 Commits

Author SHA1 Message Date
krasimir
bfc2df3d04 fix in the Haskell binding for Windows 2015-04-20 09:55:15 +00:00
aarne
168e6a04d8 pgf-hsbind-trans now with linearizeAll 2015-04-17 14:33:28 +00:00
hallgren
54b69e25ea pgf-shell.hs: remove call to performGC and document the 'i' command 2015-04-17 13:34:41 +00:00
hallgren
409f7ab3e3 gf -server: include grammar modification time in the info returned by /version 2015-04-17 13:21:20 +00:00
hallgren
69a192308b PGF web service: add command c-linearizeAll to obtain all variants
Implemented by calling the recently added function PGF2.linearizeAll.
2015-04-17 12:59:03 +00:00
krasimir
a76ea1a99b added linearizeAll in the Haskell bindings 2015-04-17 12:33:22 +00:00
krasimir
5754848626 bugfix in the java binding 2015-04-16 13:53:03 +00:00
aarne
3ddbc44789 simplified the example translator and renamed it to pgf-hsbind-trans 2015-04-16 13:51:18 +00:00
hallgren
9495fc309f Wide Coverage Translation Demo: length limit test uses # of source chars now
The length limit test previously used the URL-encoded UTF-8 representation
of the source sentense. This was needed because of a fixed size buffer in C.
Now that the server is in Haskell, the only reason the length is limited
is to avoid excessive time and space use in the parser, so it is better to
count source characters. This also avoids being too restrictive with
non-European languages.
2015-04-16 12:21:32 +00:00
aarne
538784e6dc restored Cantonese as app Chi speech output: nothing else seems to work 2015-04-16 06:52:09 +00:00
aarne
23992d412d extended pgf-shell functionalities: batch translation with many trees, and intervening context-dependent tree manipulation 2015-04-15 15:53:44 +00:00
hallgren
3aaeaf1325 Translating linearization functions to Haskell: move Haskell AST and pretty printer to GF.Haskell
For further separation of pretty printing concerns from conversion concerns,
the Haskell AST and pretty printer has been moved to its own module,
GF.Haskell, also allowing it to be reused in other places where Haskell
code is generated.
2015-04-14 12:44:14 +00:00
aarne
ca2ef47a47 updated app help file ; added backslash to ? in Thai keyboard xml to make it compile 2015-04-13 09:45:05 +00:00
hallgren
29712a43ac Wide coverage translation demo: show an informative error message for sentences that exceed the length limit 2015-04-09 10:18:41 +00:00
hallgren
e2e943eabc GF.Compile.ConcreteToHaskell: some documentation 2015-04-07 14:51:52 +00:00
hallgren
33442e6b4f GF.CompileInParallel: get rid of the cryptic 'thread blocked indefinitely in an MVar operation' message after compilation errors
Instead show a message saying how many modules were affected by the compilation
errors.
2015-03-31 13:26:51 +00:00
hallgren
d1bca8f4de Wide Coverage Translation Demo: zoomable panable collapsible syntax trees
This is an experimental solution using JavaScript code from
https://github.com/christos-c/tree-viewer, d3js.org and jquery.com.
2015-03-24 18:03:10 +00:00
hallgren
40c431ec6c PGF Service: add an option to return syntax trees in JSON format
The parse/translate/c-parse/c-translate commands now recognize the option
jsontree=true to augment the returned JSON structure with a field called
"jsontree" next to the field "tree", or "jsontrees" next to "trees",
containing the the returned syntax tree in JSON format (the same format
returned by the abstrjson command, similar to the format returned in the
"brackets" field).
2015-03-24 17:37:43 +00:00
hallgren
fbd7e498cd Wide Coverage Translation Demo: add a way to obtain inflection tables
Too see inflection tables, click on a translated sentense, then click on a
blue function name in the textual representation of the abstract syntax tree.
2015-03-22 22:54:05 +00:00
hallgren
de1437d3c4 Wide Coverage Translation Demo: draw abstract trees and parse trees
You can now click on a tree to toggle between the abstract syntax tree and
the parse tree.

Also, the implementation now uses the new C run-time requests, e.g.

	App14.pgf?command=c-abstrtree&tree=...

so no need to install AppEng.pgf on the server any more.
2015-03-19 15:26:18 +00:00
hallgren
374da1f0b0 PGF service: add commands c-abstrtree and c-parsetree
These are the C runtime variants of the absttree and parsetree commands. They
work in the same way, but support fewer rendering options.
2015-03-19 14:17:45 +00:00
hallgren
fac915e783 haskell-bind: add bindings to graphviz rendering functions for abstract&parse trees 2015-03-19 14:14:30 +00:00
krasimir
7c24ce9758 fix the compilation of gu/mem.c on Windows. For now memory mapped pools on Windows are just not supported. 2015-03-19 09:28:31 +00:00
hallgren
e92583ca8c Wide Coverage Translation Demo: draw syntax trees
The trees are drawn by using the Haskell run-time request 

	AppEng.pgf?command=abstrtree&tree=...

Thus AppEng.pgf has to be installed on the server and in sync with App14.pgf.
This is to avoid loading the huge App14.pgf in the Haskell run-time system, and
is enough since we only need the abstract syntax.
2015-03-18 16:23:04 +00:00
hallgren
3502750052 GF.CompileInParallel: fix a Win32 problem
Recognize \ in addition to / when extracting path components.
2015-03-13 13:48:14 +00:00
hallgren
4ff30e6771 Wide Coverage Translation Demo: improved performance
For improved performance, request only one translation from the server
initially. When the user clicks on a translated sentense, request 9 more
translations.
2015-03-11 17:53:25 +00:00
hallgren
9efbe0e47a GF.Server: request logging: increase length limit from 100 500 chars per field 2015-03-11 15:56:06 +00:00
aarne
02ed9cea8b DictionarySwe: kick_V2, mouse_N 2015-03-11 08:08:38 +00:00
krasimir
35c4b5f3eb remove the meta_item variable from the parse state 2015-03-06 15:18:50 +00:00
hallgren
82763282bb Simple Translation tool: add File menu command 'Open in Wide Coverage Translation Demo'
Just as a quick way to test different documents in the Wide Coverage
Translation Demo.
2015-03-06 12:04:17 +00:00
krasimir
d408c7df9f remove some more old code 2015-03-05 14:47:36 +00:00
krasimir
9d85f53002 removed some operations in GeneratePMCFG. They didn't work well with variants and are now obsolete with the new partial evaluator 2015-03-05 13:58:18 +00:00
hallgren
0ea372f230 GF.Compile.Compute.ConcreteNew: add dynamic table conversion
If the enumaration of table parameter values fails during the static
traversal phase, try again in the dynamic computation phase, when the values
of bound variables are known.

This is necessary to properly deal with generic table construction in opers,
like the ones found in prelude/Coordination.gf, e.g.

  consTable : (P : PType) -> ... = \P ... -> {s1 = table P {...} ; ... }
2015-03-04 18:20:16 +00:00
hallgren
31f6cbe9e0 GF.Compile.Compute.ConcreteNew: some refactoring for readability 2015-03-04 13:30:11 +00:00
hallgren
cc014e659f Fix to avoid "error (no reason given) OCCURRED IN optimizing <cat>"
GF.Compile.Optimize.mkLinReference can fail and cause this error because
the helper function inside it applies msum to a list that might be empty
(if there is a record type that does not contain a field of type Str).
This means that it can return mzero::Err, i.e.

   Bad "error (no reason given)"

which can slip through the top level test that only catches Bad "no string".
2015-03-02 14:27:36 +00:00
hallgren
801582d27f GF shell: fixed problems with previous change of the -retain flag
Because the prompt included the name of the abstract syntax, the loading
of the PGF was forced even if -retain was used. Even worse,
if an error occured while loading the PGF, it was repeated and caught
every time the prompt was printed, creating an infite loop. The solution
is to not print the name of the abstract syntax when the grammar is
imported with -retain, which is the way things were before anyway.
2015-02-27 16:42:09 +00:00
hallgren
d809c5db1e GF shell: create a PGF also when the -retain flag is used
The commands available in the shell after import -retain are now a superset
of the commands available after import without -retain.

The PGF is created lazily, so there should be no performance penalty if
the PGF isn't needed. If there are errors, they won't be reported until a
command that uses the PGF is entered.
2015-02-27 13:49:13 +00:00
hallgren
5cf0ab4110 PGFService: make the restriction on parallelism more effective
Restrict the entire request handler instead of just the call to the C parser.
2015-02-25 16:08:21 +00:00
krasimir
0764d518c7 fix some out-of-date code for the PGF_RESULT_DEBUG mode in the parser 2015-02-26 13:31:26 +00:00
krasimir
42908bd95f use the same trick for comparison of doubles in cmp_expr_state 2015-02-26 13:10:01 +00:00
krasimir
dfd69d5d4b bugfix in the parser which caused some items to be poped in the wrong order if their probability differ with less that 0.5 2015-02-26 12:17:59 +00:00
hallgren
83c5269a84 Wide Coverage Translation Demo: better resizing behavior on startup and when pasting text 2015-02-25 15:36:25 +00:00
hallgren
7631527395 PGFService.hs: text lexer: slightly smarter decapitalization of the first word of a sentence
Keep the first letter in upper case if it is followed by more upper case
letters.

(Also remove some left over debugging output.)
2015-02-24 15:04:06 +00:00
krasimir
79a7ae6553 remove three more uses of meta productions that were left in debugging mode 2015-02-24 10:59:18 +00:00
krasimir
8664dd80ed implemented escape characters when reading/printing an abstract expression with string literals 2015-02-24 09:35:12 +00:00
krasimir
d71d59cdc0 fix in thai_page2.xml 2015-02-20 15:31:32 +00:00
hallgren
8d0bb75121 gftransate.js: increase sentence length limit for "fast" language to 500
Currently Bul, Chi, Eng and Swe are marked as "fast" in the documentation.
2015-02-20 14:34:37 +00:00
krasimir
205403be76 set the keyboard pages for Thai in Translator.java 2015-02-20 14:26:30 +00:00
krasimir
cefd6440fe experimental Thai keyboard (still not tested) 2015-02-20 14:08:12 +00:00
joel.hinz
186cc84d37 translation app for iOS, replicating some of the functionality of the Android app. Compiles and works on iPad retina but may crash and has known issues. 2015-02-20 07:47:43 +00:00