1
0
forked from GitHub/gf-core
Commit Graph

9451 Commits

Author SHA1 Message Date
hallgren
b717031cbf doc/gf-developers.t2t: script name for installing the C run-time was wrong, should be setup.sh 2015-09-14 11:19:29 +00:00
hallgren
a3dcc2ff0e doc/gf-developers.t2t: some updates 2015-09-14 09:24:10 +00:00
hallgren
03d1066a1c WebSetup.hs: always enable parallel compilation of the RGL and the example grammars
This should work nicely now that GF itself can detect the number of processors
in the system.

Previously there was some code in WebSetup.hs that relied on Cabal to do this,
but it was commented out because it requires Cabal>=1.20, which is fairly new
and it would complicate the installation instructions if it was required to
compile GF...
2015-09-11 15:15:53 +00:00
hallgren
6aa4a7b737 Remove debug output introduced in previous patch
Oops.
2015-09-11 14:46:31 +00:00
hallgren
264fd05444 Parallel compilation: "gf -make -j" and "gf -make -j=n" now work as expected
* "gf -make -j=n" uses n parallel threads.
  * "gf -make -j" adapts to the number of processors in the system.

This mimics how "cabal build -j" and "ghc --make -j" works.

Support for this is implemented in the new module GF.System.Concurrency and
it depends on the function Control.Concurrent.setNumCapabilities, which is
only available in GHC>=7.6 (base>=4.6). GF can still be compiled with
GHC<7.6, but then you have to use +RTS -N -RTS to take advantage of
multicore processors.

To detect the number of processors in the system, the code depends on a
foreign import of a C function in the GHC run-time system.
2015-09-11 14:18:01 +00:00
krasimir
21078c8bfe fix the debug mode in the tree generator in the C runtime 2015-09-11 09:26:17 +00:00
hallgren
a976a49cef PGF2.Expr: a fix for ghc-7.6
Apparently Foreign.unsafePerformIO is not just a re-export of
System.IO.Unsafe.unsafePerformIO (or vise versa), it is a different function,
so you get an ambiguity if you import both.
2015-09-10 15:07:48 +00:00
hallgren
6b285d215c example/foods/FoodsIce.gf: converted from Latin-1 to UTF-8 encoding 2015-09-10 12:37:12 +00:00
krasimir
1196b48b5e add readTriple in the Haskell binding 2015-09-08 13:04:31 +00:00
krasimir
af3c514e18 bugfix in the parser 2015-09-08 09:42:42 +00:00
krasimir
30dfd35e59 fix the metadata for sg databases 2015-09-04 16:34:40 +00:00
aarne
ae94991571 removed bogus "om" from Dut infinitives; fixed "wrong" in Chi 2015-09-04 15:38:49 +00:00
krasimir
ab086e7cb3 storage for literals in libsg 2015-09-04 14:45:18 +00:00
thomas
395e16a737 src/pgf-binary: reimplementation of GF's customized Data.Binary on top of the standard binary packages
This reduces the amount of duplicated code from 2400 to 490. No code from
data-binary-ieee754 is duplicated.

The module is called PGF.Data.Binary instead of Data.Binary. It is not
in use yet.
2015-09-04 12:58:29 +00:00
krasimir
2cfb0a41c8 libsg is now accessible on android 2015-09-04 11:18:21 +00:00
krasimir
73274da145 API for triple queries from Java 2015-09-04 11:03:46 +00:00
krasimir
9f37d11107 the Haskell binding now covers everything in the libsg API 2015-09-04 10:02:42 +00:00
krasimir
05f7150759 the new triples API in libsg now always works with expressions 2015-09-04 10:01:19 +00:00
hallgren
81a99fc8ed GF shell: write_file now writes one tree per line
This compensates for other changes that removed line breaks.
Maybe it should have a -lines options like ps and rf?
2015-09-03 20:42:38 +00:00
hallgren
dab749a956 PGF2.Expr fixes
It needs to be listed in gf.cabal
unsafePerformIO is only exported from System.IO.Unsafe, starting with ghc-7.8
2015-09-03 20:41:00 +00:00
krasimir
5bcc2741fe Java API for opening/closing SG databases 2015-09-03 13:52:32 +00:00
krasimir
2be83cae2d bugfixes in libsg 2015-09-03 13:24:13 +00:00
krasimir
40f7948276 the Eclipse project for the Java binding is now replaced with a simple Makefile 2015-09-03 10:27:50 +00:00
krasimir
4b1d958730 silence compilation warnings in the Java binding 2015-09-03 10:11:23 +00:00
krasimir
1551cec993 fix hop_N in Swedish 2015-09-02 14:24:29 +00:00
krasimir
442bb77b74 API for transactions in libsg 2015-09-02 13:01:23 +00:00
krasimir
2ae4468738 added the minimal Haskell API for storing expressions/triples in the semantic graph 2015-09-02 07:12:36 +00:00
krasimir
e0c5b1d0b5 bugfix in libsg 2015-09-02 06:55:39 +00:00
hallgren
cc1ec66e2e Wide coverage translation demo: make it easier to use with different grammars 2015-09-02 14:44:30 +00:00
francis.tyers
b8dc522813 typo 2015-09-02 10:31:45 +00:00
aarne
898f59bb7d commented out PConj_Chunk, which created lots of bogus parses because of NoPConj. All real PConj chunks can be parsed as Conj chunks anyway. 2015-09-01 08:46:55 +00:00
aarne
fc371e64bd added ConstructionTha and implemented parts of it 2015-09-01 08:29:48 +00:00
aarne
c6b36b99c7 removed obsolete flags from LangEng.gf 2015-09-01 08:29:10 +00:00
krasimir
7693d3d33c a few more words in Bulgarian 2015-09-01 08:46:16 +00:00
krasimir
2ffdda9fb0 added code for visualization of the sematic graph in the app. The code is there but the menu item for activating it is not there yet since the functionality is not complete 2015-09-01 08:00:56 +00:00
hallgren
e76fb3d9a1 GF.Infra.SIO: The SIO monad now supports putStr in addition to putStrLn
Also included some unrelated minor changes.
2015-08-31 12:22:13 +00:00
krasimir
5cd0175051 about 40 multiword units in Bulgarian 2015-08-31 09:13:23 +00:00
krasimir
f5387c429b still partial implementation for complex queries in libsg, and added sg.h which I had forgotten to include in darcs 2015-08-31 07:15:20 +00:00
krasimir
cd8017923e fix sweetie_N/sweetheart_N in Swedish and Bulgarian 2015-08-29 18:01:19 +00:00
krasimir
8c1d321969 crossfire_N in the Bulgarian dictionary 2015-08-28 20:55:48 +00:00
hallgren
f62edb3e1e Comment out some dead code found with -fwarn-unused-binds
Also fixed some warnings and tightened some imports
2015-08-28 13:59:43 +00:00
krasimir
68ff5ff371 query for triples and cleaner API 2015-08-27 15:18:51 +00:00
hallgren
38ce5826a8 GF shell: change parse & linearize to obtain useful results from p|l and l|p in more cases
These changes are inspired by the gf -cshell implementation of these commands.

The output of the linearize command has been changed to remove superfluous
blank lines and commas, and deliver the result as a list of strings instead of
a single multi-line string. This makes it possible to use -all and pipe the
results to the parse command. This also means that with -treebank -all,
the language tag will be repeated for each result from the same language.

The parse command, when trying to parse with more than one language, would
"forget" other results after a failed parse, and thus not send all
successful parses through the pipe. For example, if English is not the first
language in the grammar,

    p "hello" | l

would output nothing, instead of translations of "hello" to all languages,
forcing the user to write

   p -lang=Eng "hello" | l

instead, to get the expected result. The cause of this behaviour was in the
function fromParse, which was rather messy, so I assume it is not intentional,
but the result of a programming mistake at some point.

The fromParse function has now been refactored from a big recursive function
into 

    fromParse opts = foldr (joinPiped . fromParse1 opts) void

where the helper functions fromParse1 deals with a single parse result and
joinPiped combines multiple parse results.
2015-08-26 13:56:23 +00:00
hallgren
72459b5158 lib/src/*/Numeral*.gf: fix inconsistent inheritance form Cat
While the abstract Numeral inherits only Cat[Numeral,Digits], some of the
concrete NumeralNNN of Numeral inherited everything from CatNNN.

Normally the compiler outputs a warning message when a concrete syntax 
contains superflous lincats, but apparently not when they get included
through inheritance...

This does not seem to cause problems in the Haskell run-time system, but the 
C run-time system fails to load PGFs with superflous lincats.

This problems shows up when creating application grammars that inherit Numeral.
The Phrasebook is an example of such a grammar.
2015-08-26 11:53:16 +00:00
krasimir
4d39c2623b added libsg in the C runtime 2015-08-24 09:36:51 +00:00
krasimir
f9250c610c retrieval of a triple 2015-08-21 16:31:43 +00:00
krasimir
b66276fda5 API for storing triples in the semantic graph 2015-08-21 16:13:03 +00:00
hallgren
09f3937da1 GF shell bug fix: visualize_parse didn't accept the -lang flag
Even though the -lang flag was handled in the implementation, it was not
documented, and GF.Command.Interpreter rejects undocumented flags:

	option not interpreted: lang

This must be a fairly old bug, so it suggests that the vp command isn't used
much...
2015-08-21 12:20:40 +00:00
hallgren
672d83f41f GF -cshell: implement visualize_parse
Supported options and flags: -lang -format -view
None of the rendering options available in the Haskell run-time are supported.
2015-08-21 12:14:47 +00:00
krasimir
51640c4478 add a type signature in GF.Interactive2 to make ghc-7.6.3 happy 2015-08-21 11:58:32 +00:00