Commit Graph

9445 Commits

Author SHA1 Message Date
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
krasimir
c7c47fbded add the initial sketches of the semantic graph storage 2015-08-20 13:31:43 +00:00
hallgren
5f3417ec5e gf -cshell: linearize: implement options -all -list -treebank
Options -all and -list use PGF2.linearizeAll, which lists all variants, but
not all forms...
Also, there is no attempt to be compatible with the output from the Haskell
run-rime shell, which produces superfluous blank lines (-all) or
commas (-list), and mixes tagged and untagged lines (-treebank -all).
2015-08-18 16:05:45 +00:00
hallgren
d1cf9d734e GF shell: restore the eh command to working order and document it
Also, when the command line parser fails, append the problematic command line
to the error message "command not parsed".
2015-08-18 13:13:31 +00:00