Commit Graph

8590 Commits

Author SHA1 Message Date
kr.angelov
ff45e7dd3a the type checker for the abstract syntax now allows let expressions in def rules, since they are easily compilable to byte code. This fails in the Haskell runtime since let expressions are not allowed as abstract syntax expressions. 2014-09-17 21:59:45 +00:00
kr.angelov
db68456727 fix a portability problem with the Python binding (found by Prasanth) 2014-09-17 16:12:40 +00:00
aarne
a2936678e7 fixed anschauen in LexiconGer, pointed out by DV 2014-09-17 05:30:52 +00:00
kr.angelov
e308f384de dummy jit_base_tail_finishr for x86_64. 2014-09-16 12:29:35 +00:00
aarne
240287b6f6 enabled VP-valued rules for V2V, V3, etc in App. Improve quality with less loss of speed than VPSlash-valued original rules. 2014-09-15 16:10:18 +00:00
aarne
55621783cb fixes in DictionarySwe - mainly missing words 2014-09-15 15:16:31 +00:00
kr.angelov
67d30ce861 fix screen_N in Swedish 2014-09-15 07:59:04 +00:00
aarne
b492666c0e Finnish NPSep form, to avoid empty Nominative forms in wrong places in case of pro drop. 2014-09-15 07:17:11 +00:00
aarne
8b95b86b0a Romance particle verbs: show the p field also in infinitives 2014-09-15 06:33:08 +00:00
aarne
dcc3d70ac5 added field p for particle in romance Verb. This was already assumed in Dictionary, and created many spurious ambiguities when parsing Romance languages in the wide-coverage translation, because p was simply ignored. 2014-09-14 14:30:08 +00:00
aarne
6d15353a84 enabled many more functions, in particular verb patterns, in App, to increase translation quality. This comes with 30% longer translation time with my benchmark but should still be OK. 2014-09-14 08:43:21 +00:00
aarne
e8cc5856f4 reverted the pre-variant of vocatives in TranslateEng, because the definition of Voc messes it up. Will have to return to this. 2014-09-14 08:20:09 +00:00
aarne
372e216389 in TranslateEng, made vocative possible both before and after the phrase. Should be so in other languages as well. There should also be an optional comma, but this is not right if the vocative is empty - which means that empty vocatives are probably not the right thing to have 2014-09-12 12:37:53 +00:00
aarne
19965c0b60 fixes in DictionarySwe 2014-09-12 12:25:37 +00:00
aarne
7ddf965061 separate independent (NP without CN) forms of IndefArt and DefArt in Romance languages. The choice of words was unsure in some cases, but at least this eliminates the problem of empty NP's translating to "ones". 2014-09-12 11:59:50 +00:00
aarne
6b47126c8c GF index: shortcut links to Android app, Best practices, REMU, and new Android development instructions 2014-09-12 09:01:43 +00:00
aarne
aff3405b8d fixes in LexiconGer and DictGer proposed by Denny Vrandecic 2014-09-11 19:36:53 +00:00
kr.angelov
923ad6b3c0 a major revision of the bytecode generator and JIT compiler. the effect is that now we can compute with lambda functions and with true tail recursion 2014-09-11 15:39:39 +00:00
hallgren
a0d75d0ea8 gf.cabal: add missing c-sources for the Haskell binding to the C run-time library 2014-09-11 11:53:07 +00:00
hallgren
7cf87a3441 Setup.hs: don't ask darcs for the version history if _darcs is not present
This is to avoid a (harmless) error message from darcs when compiling sources
obtained e.g. from github.
2014-09-11 11:47:17 +00:00
kr.angelov
5c0ef5c4ed now release the FunPtr:s that are allocated for each literal callback 2014-09-10 15:41:53 +00:00
kr.angelov
d84d3b5763 added an API for custom literals in the Haskell binding 2014-09-10 14:56:18 +00:00
kr.angelov
fb18482aeb added loadConcr/unloadConcr to the Haskell binding. This exposes an API for loading grammars compiled with -split-pgf 2014-09-10 14:35:54 +00:00
hallgren
98e01dc63e Wide Coverage Demo web app: use the App grammar instead of the Translate grammar
This gives faster but slightly lower quality translations.
2014-09-09 13:53:10 +00:00
hallgren
782bdf3a52 (1) Refactor concurrency, (2) write to .gfo.tmp then rename to .gfo
(1) introduces the module GF.Infra.Concurreny with lifted concurrency
    operators (to reduce uses of liftIO) and some additional concurrency
    utilities, e.g. a function for sequential logging that is used in
    both GF.CompileInParallel and GFServer.
(2) avoids leaving broken .gfo files behind if compilation is aborted.
2014-09-08 15:43:20 +00:00
kr.angelov
d7dc541f74 the code for def rules now uses proper graph update to preserve lazyness 2014-09-05 11:53:02 +00:00
kr.angelov
5e5ad8f2db full support for recursive def rules in the C runtime 2014-09-05 10:09:43 +00:00
hallgren
fe8daf7f94 gf.cabal, gf-server.cabal: add version bounds on network & httpd-shed
* httpd-shed-0.4 does not specify an upper bound on network, but it fails
  to build against network>=2.6. This is fixed in httpd-shed-0.4.0.2.
* With network-2.6, the Network.URI modules is moved to a separate package,
  so for the time being GF requires network>=2.3 && <2.6. This is compatible
  with the four most recent versions of the Haskell Platform.
2014-09-03 15:40:26 +00:00
hallgren
0e87a88f4b src/server: refactoring to isolate dependencies on the cgi/fastcgi packages
* Introducing the module CGI, re-exporting a subset of the cgi package. It
  might complete replace the cgi package in the future.
* Introducing the module CGIUtils, containing functions from FastCGIUtils that
  have nothing to do with fastcgi.

Some low level hackery with unsafePerformIO and global variables was left
in FastCGIUtils, but it is actually not used, neither for gf -server nor
exec/pgf-fcgi.hs.
2014-09-02 12:27:47 +00:00
kr.angelov
442dadf100 partial implementation for recursive def rules 2014-09-01 14:51:20 +00:00
inari
0ce95397a1 Added TopDictionaryCat 2014-09-01 14:27:41 +00:00
kr.angelov
9adf01a91e bug fixes in the JIT compiler 2014-09-01 12:53:14 +00:00
aarne
8f273837c9 by_Prep causing conflict in AppChi, therefore excluded from the import of PhrasebookChi 2014-08-30 23:13:39 +00:00
aarne
a6c3ebcd1a removed the temporary SaldoWN.gf file 2014-08-26 09:14:56 +00:00
hallgren
6494313a14 examples/app/Makefile2: simplifed Makefile for the App grammar (doesn't work yet)
This makefile just calls GF once and lets GF figure out in which order to
compile things. It uses the -j flag to enable parallel compilation and
specifies an explicit -path, overriding the -path flags in the source files.
This allows all needed modules to be found automatically and ensures that
that alltenses is consistently used everywhere. But for some reason, this
doesn't work...
2014-08-30 17:00:14 +00:00
kr.angelov
fcef855ef0 add brikett in DictionarySwe 2014-08-30 10:51:09 +00:00
hallgren
224d3a43f7 Add OS X Installed package to the GF 3.6 download page 2014-08-29 11:48:53 +00:00
hallgren
9b8b2d5f03 bin/build-binary-dist.sh: just a small fix 2014-08-29 11:48:10 +00:00
kr.angelov
9bc507f1d6 added evaluator.h which I had forgoten 2014-08-29 08:36:53 +00:00
hallgren
d25014f24c You can now use 'make pkg' to build OS X Installer packages for GF
The script bin/build-binary-dist.sh has been updated to build either a plain
.tar.gz package or OS X Installer package (.pkg).

Note that bin/build-binary-dist.sh is designed to build and include the
C run-time system in the binary package.  If the C run-time system fails to
build, no binary package will be created.
2014-08-28 13:30:22 +00:00
hallgren
cc61d7edd8 gf.cabal ghc-options: don't force -j, -auto-all has been renamed to -fprof-auto 2014-08-25 23:30:22 +00:00
aarne
fecda3e64b implemented some_Quant in Dictionary for many languages where it was missing. Also added some_Det, which has a different meaning: compare "some man" (existential, Quant) to "some tea" (mass term similar to "a little tea", Det) 2014-08-25 19:02:01 +00:00
aarne
51e53559b8 in TranslateEng, variant "third-largest" to "third largest" in OrdNumeralSuperl 2014-08-25 19:01:06 +00:00
aarne
c93e2780d3 type error in ExtensionsChi fixed 2014-08-25 19:00:45 +00:00
hallgren
20d5a89664 Fix GHC 7.4 compatibility issue caused by previous patch 2014-08-25 11:26:58 +00:00
hallgren
238652c6f9 Setup.hs: disable parallel RGL build support for now, since it is incompatible with Cabal<1.20 2014-08-25 11:22:20 +00:00
hallgren
c0eb79b403 Experimental: parallel batch compilation of grammars
On my laptop these changes speed up the full build of the RGL and example
grammars with 'cabal build' from ~95s to ~43s and the zero build from ~18s
to ~5s.

The main change is the introduction of the module GF.CompileInParallel that
replaces GF.Compile and the function GF.Compile.ReadFiles.getAllFiles. At
present, it is activated with the new -j flag, and it is only used when
combined with --make or --batch. In addition, to get parallel computations,
you need to add GHC run-time flags, e.g., +RTS -N -A20M -RTS, to the command
line.

The Setup.hs script has been modified to pass the appropriate flags to GF
for parallel compilation when compiling the RGL and example grammars, but you
need a recent version of Cabal for this to work (probably >=1.20).

Some additonal refactoring were made during this work. A new monad is used to
avoid warnings/error messages from different modules to be intertwined when
compiling in parallel, so some functios that were hardiwred to the IO or IOE
monads have been lifted to work in arbitrary monads that are instances in
the appropriate classes.
2014-08-25 09:56:00 +00:00
aarne
59e71e5cfd corrected own_V2 in DictionarySpa 2014-08-24 20:30:24 +00:00
aarne
e9d83e1f9d added the constructor Noun.NumeralSuperlOrd for phrases like "third largest", which have special linearizations in many languages e.g. German (drittgrösste) and Finnish (kolmanneksi suurin). Implemented for Chi (to check), Dut, Eng, Fin, Ger, Romance, Scand so far 2014-08-24 14:32:44 +00:00
aarne
67fefa20a5 made the "how old" construction in Chinese more efficient by moving variants to the top level; the resulting rule is the same. This kind of inefficiencies are best found if you compile with the -v option and check for constructors creating unexpectedly many PGF rules. 2014-08-24 14:28:48 +00:00