Commit Graph

9430 Commits

Author SHA1 Message Date
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
krasimir
ee5e103653 remove "heter" as a translation for call_V2 in Swedish 2015-08-18 11:20:45 +00:00
hallgren
d039147261 GF shell: add the start options to GFEnv, turn "reload" into an ordinary command 2015-08-17 15:56:39 +00:00
francis.tyers
4dce393a90 det_låter_bra 2015-08-17 11:50:55 +00:00
hallgren
a3db215f5b GF Shell: "ph | wf -file=foo.gfs" now works as advertised
The print_history command was among the commands implemented in an ad-hoc
way instead of being handled by the command line interpreter, which means
it could not be used in a pipe, as in the example in the help info.
The refactoring in the previous patch made this old bug easy to fix.

Also fixed a bug in the "empty" command, introduced when moving the PGF from
CommandEnv to GFEnv.

TODO: fix the undocumented eh command. A comment in the help info for
print_history, and some commented out old code, suggest that eh means
"execute_history", but at present it does nothing...
2015-08-13 15:30:23 +00:00
hallgren
5339c1e6b5 GF Shell: refactoring for improved modularity and reusability:
+ Generalize the CommandInfo type by parameterizing it on the monad
  instead of just the environment.
+ Generalize the commands defined in
  GF.Command.{Commands,Commands2,CommonCommands,SourceCommands,HelpCommand}
  to work in any monad that supports the needed operations.
+ Liberate GF.Command.Interpreter from the IO monad.
  Also, move the current PGF from CommandEnv to GFEnv in
  GF.Interactive, making the command interpreter even more generic.
+ Use a state monad to maintain the state of the interpreter in
  GF.{Interactive,Interactive2}.
2015-08-13 10:49:50 +00:00
hallgren
5c6adb1927 GF Shell: turn set_encoding into a common command
Implemented in GF.Command.CommonCommands instead of GF.Interactive &
GF.Interactive2.
2015-08-12 15:00:03 +00:00
hallgren
2f3b6779c6 GF.Interactive2: cleanup 2015-08-12 12:33:36 +00:00
krasimir
8e6ae8fb86 Bugfix in the android app for Chinese which was causing the first character in the translation to disappear 2015-08-12 18:44:45 +00:00
hallgren
721f653e99 GF shell: source commands (cc, sd, so, ss & dg) can now be used in pipes
These commands are now implemented as regular commands (i.e. using the
CommandInfo data type) in the new module GF.Command.SourceCommands.

The list of commands exported from GF.Command.Commmands now called pgfCommands
instead of allCommands.

The list allCommands of all commands is now assembled
from sourceCommands, pgfCommands, commonCommands and helpCommand in
GF.Interactive.
2015-08-12 11:05:08 +00:00
hallgren
ba9c057650 Move welcome message from GF.Interactive & GF.Interactive2 to GF.Command.Messages
...to avoid the duplication.
2015-08-12 11:01:45 +00:00
hallgren
07fd298700 GF shell: make environment types abstract, comment out some dead code 2015-08-11 16:14:38 +00:00
krasimir
db07275527 pickling/unpickling for types 2015-08-12 10:11:00 +00:00
krasimir
d21b9e52d8 support for transparent pickling/unpickling of abstract expressions in Python 2015-08-12 09:21:23 +00:00
hallgren
624de05fe3 gf -cshell: improved help for the 'import' command 2015-08-10 16:39:31 +00:00
hallgren
6e5d8cebe0 Forgot to include gf.cabal in previous patch 2015-08-10 16:38:28 +00:00