kr.angelov
ab8dd16e8d
include malloc.h in a few places to avoid warnings on Windows
2014-02-27 19:34:14 +00:00
kr.angelov
d7b8f9d9a1
update the Eclipse project for jpgf with settings needed for Windows
2014-02-27 19:28:25 +00:00
kr.angelov
adca68ecaf
bugfix with the keyboard label for Chinese
2014-02-25 12:15:29 +00:00
kr.angelov
889afe32e3
the Android UI uses a new progress indicator which works on both Nexus 1 and Nexus 7
2014-02-25 09:46:05 +00:00
kr.angelov
57310f1398
the Android App is now using the documentation modules instead of xml files for generating the inflection tables. The xml files are removed
2014-02-21 16:34:59 +00:00
hallgren
3712b2a2c0
Wide coverage demo web app: add link to Google Translate
2014-02-19 14:17:49 +00:00
hallgren
800bdcaa37
src/www/js/langcode.js: functions for converting language codes
...
factored out from src/www/translator/translator.js
2014-02-19 14:15:14 +00:00
kr.angelov
c61cf4ce5a
bugfix in the android ui
2014-02-18 13:09:56 +00:00
kr.angelov
e566756746
fix in GF.Compile.Compute.ConcreteNew which makes it possible to compile DocumentationBul.gf
2014-02-17 09:00:14 +00:00
hallgren
286c5a035a
Wide coverage demo: show up to 10 translations
...
The translations are loaded one at a time so you don't have to wait for all
10 to see the first one.
2014-02-12 16:08:18 +00:00
hallgren
15bf881e45
Work on web api & apps based on the C run-time system
...
+ PGFService.hs: add command c-grammar, include probability in parse results
+ js/gftranslation.js: add start position and limit parameters, return more
info to applications
+ Simple Translator: show two wide coverage translations
+ Wide coverage demo: show parse tree and probability (intended as grammar
debugging aids)
2014-02-11 16:43:29 +00:00
hallgren
d99f3e19d7
GFServer.hs: avoid intertwined log messages from parallel requests
2014-02-11 14:22:12 +00:00
hallgren
be31b52e07
Restore compatibility with GHC 7.0
2014-02-10 21:44:34 +00:00
hallgren
ac3fae334e
Fix broken C runtime support in gf.cabal and PGFService.hs
...
Also add PGF service command c-flush to explicitly flush cached parse results
from memory.
2014-02-10 16:04:40 +00:00
kr.angelov
2451ed123d
proper error checking in the C runtime
2014-02-10 14:07:17 +00:00
hallgren
1efb9824f8
haskell-bind: fix broken pgf-shell
...
The type CId was replaced with String, so can't use show and read anymore.
2014-02-10 12:59:31 +00:00
kr.angelov
0e2c3f86a6
bugfix in pgf2-bind.cabal
2014-02-10 10:28:19 +00:00
aarne
bcabc34527
disabled ad hoc overloading, as it still causes mysterious errors. It is just a few lines in Rename.hs
2014-02-09 19:55:17 +00:00
kr.angelov
e11a247d82
updated haskell-bind/README
2014-02-09 20:56:01 +00:00
kr.angelov
e527a526d8
cleanup the code for the FFI binding. The API is now more uniform with the Python and the Java bindings. Fixed a lot of memory leaks.
2014-02-09 20:45:11 +00:00
kr.angelov
7c66e438e1
GuVariant is now plain uintptr_t instead of a structure to make it easier to write Haskell bindings
2014-02-09 19:07:15 +00:00
hallgren
96594e405d
pgf-shell: show the names of the concrete syntaxes after loading the grammar
2014-02-07 16:40:13 +00:00
inari
ea49a7b388
haskell-bind: add function languages
2014-02-07 15:56:12 +00:00
hallgren
d1ab3072db
pgf-shell: enable -rtsopts, call performGC between commands
...
This is to make it easier to find the cause of space leaks.
2014-02-07 13:57:13 +00:00
inari
13e7d3e518
fixed some memory leaks
2014-02-06 10:50:59 +00:00
kr.angelov
4b8c1db6d2
bugfix in the recognizer for literals in the C runtime
2014-02-05 20:13:52 +00:00
hallgren
abfd4b9c96
PGF.Optimize: one more fix for unsafeFreeze
2014-02-04 13:47:37 +00:00
hallgren
8a5ade8897
PGF.Optimize: import unsafeFreeze from Data.Array.Unsafe for compatibility with ghc-7.8
2014-02-04 13:44:07 +00:00
hallgren
c8310cf17c
GFC.hs: encodeFile_ is not available in the standard Data.Binary
2014-02-04 13:36:16 +00:00
aarne
cf196cb0dd
new overload resolution, taking care of ad hoc overloading.
2014-02-01 13:17:52 +00:00
aarne
2552b859fd
ad hoc overloading: a new way to deal with name resolution conflicts. Previously the renamer warned if there was e.g. an unqualified reference to mkAdv, which could come from either Syntax or Paradigms. The renamer picked randomly one of the alternatives, which then often failed in type checking. Now, all candidates are collected into a new structure AdHocOverload [Term], which is accessed by the type checker to make the choice based on the type of the constant. This eliminates some of the warnings and some of the error due to wrong choices. In some rare cases, the inherited constants have the same type, which cannot be resolved by overloading. In such cases, the type checker does the same as the renamer did before: pick the "first" option (i.e. the one that happens to be the first in the list returned by the renamer) and issues a warning. In this patch, only a couple of lines are changed. The typechecker (RConcrete) has more substantial changes, and will be recorded as the next patch.
2014-02-01 13:10:36 +00:00
aarne
c727f7c85c
typo in Concrete type checker: when type checking <e : t>, return annotated e and not e itself. Fixed in RConcrete, which should soon replace Concrete; and hopefully will be replaced by some cleaner code soon, such as ConcreteNew which has been under construction for quite some time.
2014-01-31 21:16:07 +00:00
aarne
e19a28f46c
experimental type checker module GF.Compile.TypeCheck.RConcrete.hs with record updates enabled by ** expressions. Can be changed back to Concrete.hs by just changing one import command in GF.Compile.CheckGrammar.hs. The worst thing that *should* happen with the new type checker is that some old code is detected to be invalid, which happens if it contains a type-incompatible record extension, e.g. {x = "foo"} ** {x = 1}. Previously such errors were silently ignored. A set of test runs detected one such error in the RGL, which was corrected. On the positive side, the new type checker now enables record updates in the natural way: R ** {x = 1} will give value x = 1 overshadowing any value of x in R (provided the expected type of x is Int). lib/src/experimental/PredicationSwe.gf illustrates this, as opposed to PredicationSwO.gf which has to use old-style copying of even the unchanged record fields.
2014-01-31 20:28:25 +00:00
hallgren
82fd8c9f94
gf-server.cabal: flag to include C run-time support in the FastCGI PGF service
2014-01-31 16:11:41 +00:00
kr.angelov
f7b978f063
fix in the bracketedLinearize in Haskell
2014-01-31 08:52:32 +00:00
inari
bdf297d0b1
changes to pools in haskell bindings
2014-01-29 16:02:07 +00:00
hallgren
f1c4b353e3
Wide coverage translation web demo improvements
...
+ Add lexing/unlexing
+ Add a button to swap input and output
+ Minor layout adjustments
2014-01-28 16:51:21 +00:00
hallgren
4e6db5d621
PGFService.hs: fix a type ambiguity when compiling without C run-time support
2014-01-27 16:46:48 +00:00
hallgren
ca72fa94eb
PGFService.hs: add a cache for C run-time parse result and a start offset parameter
...
Cached parse results are discarded when they have been unused for 10 minutes.
2014-01-27 16:32:09 +00:00
hallgren
1d251b2395
gf -server: fix a redirection bug...
...
...that was introduced with the recent changes to the handling of the
current working directory
2014-01-27 16:30:03 +00:00
hallgren
39a0d9b668
gf -server: allow multiple PGF service requests to be handled in parallel
...
PGF service requests are stateless and can run in parallel, but some other
requests handled by the server are not and might even change the current
working directory temporarily, and this affects all threads, so it is
important that the PGF service requests access PGF files by absolute paths.
2014-01-24 13:49:02 +00:00
kr.angelov
fbc8bb6769
fix in the Haskell runtime
2014-01-24 08:34:55 +00:00
hallgren
7cf6391ee1
simple translator: Replaced 'GF Robust Parser' with 'GF Wide Coverage Translation'
...
The interface to the wide coverage translation is in js/gftranslate.js
and it assumes that the grammar is installed on the cloud server
as /robust/Translate8.pgf.
The list of supported languages is hardwired in gftranslate.js, since
there is no support for obtaining this info from the C run-time system
at the moment.
2014-01-21 16:47:23 +00:00
hallgren
b8f3914209
Optionally include C run-time support
...
If the C run-time library is compiled and installed on your system, you can now
do 'cabal configure -fc-runtime' to get the following extras:
+ The haskell binding to the C run-time library will be included in the
PGF library (so you can import it in Haskell applications).
Documentation on the new modules will be included when you run
'cabal haddock'.
+ The new command 'pgf-shell', implemented on top of haskell binding to
the C run-time system.
+ Three new commands in the web API: c-parse, c-linearize and
c-translate. Their interfaces are similar to the corresponding commands
without the "c-" prefix, but they should be considered preliminary.
2014-01-20 17:06:11 +00:00
hallgren
1631a46040
haskell-bind: add an export list to hide internal stuff
...
It also makes the generated haddock documentaiton more structured.
2014-01-20 14:40:38 +00:00
hallgren
29d1b58ff5
haskell-bind.cabal: relax overly restrictive version bounds and add cc-options
2014-01-17 14:18:20 +00:00
hallgren
4226be69e8
haskell-bind: add a cabal file and examples/pgf-shell.hs
...
* The haskell-bind.cabal file makes it easy to build the haskell binding and
use it in ghci.
* pgf-shell.hs is a simple example of how to use the haskell binding.
2014-01-17 14:02:35 +00:00
hallgren
33024f3130
haskell-bind: change the type of CRuntimeFFI.getConcr
...
Change the type of getConcr from
getConcr :: PGF -> Language -> Concr
to
getConcr :: PGF -> Language -> Maybe Concr
This is to prevent programs from crashing later if you try to select a
concrete syntax that is not present in a grammar.
2014-01-17 13:58:48 +00:00
hallgren
a158bbce53
Check file datestamp before creating PGF file when compiling grammars
...
When running a command like
gf -make L_1.gf ... L_n.gf
gf now avoids recreating the target PGF file if it already exists and is
up-to-date.
gf still reads all required .gfo files, so significant additional speed
improvements are still possible. This could be done by reading .gfo files
more lazily...
2014-01-09 17:30:24 +00:00
hallgren
de5b714573
Check file datestamps before unioning PGF files (fix)
...
Also check that no additional output formats have been selected.
2014-01-09 15:14:35 +00:00