1
0
forked from GitHub/gf-core
Commit Graph

9898 Commits

Author SHA1 Message Date
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
hallgren bf0d75002a gf -cshell: implement visualize_tree
But the following options are not supported: -mk -nocats -nofuns
2015-08-21 10:14:46 +00:00
hallgren 9efa45b80b gf -cshell: implement a subset of print_grammar and abstract_info
pg supports only the -funs, -cats and -langs output modes.

ai IDENTIFIER shows info about a category or a function. ai can not type check
and refine metavariables in expressions.
2015-08-20 16:06:10 +00:00
hallgren d2217c0715 PGF2: export BindType(..) and two new functions: showType & categories
showType :: Type -> String
categories :: PGF -> [Cat]

But both are implemented as quick hacks: categories is implemented by listing
all functions and taking the target categories from their types. showType uses
ppType copied & modified from PGF.Type, and needs a ppExpr, which is currently
implemented by wrapping showExpr...

TODO: need something correpsonding to PGF.categoryContext.
2015-08-20 15:55:24 +00:00