1
0
forked from GitHub/gf-core
Commit Graph

3387 Commits

Author SHA1 Message Date
kr.angelov
e77c19c783 bugfix in the C runtime 2013-11-21 14:31:28 +00:00
kr.angelov
85e238f824 the Java binding for lookupMorpho should release the local references created in a loop 2013-11-21 14:29:47 +00:00
kr.angelov
b255f19b63 fix in the Python binding 2013-11-20 09:54:37 +00:00
hallgren
ab8037c3c6 Removed some code duplication in GF.Compile.Update 2013-11-20 01:26:41 +00:00
hallgren
c8cbd4477f Reduced clutter in monadic code
+ Eliminated vairous ad-hoc coersion functions between specific monads 
  (IO, Err, IOE, Check) in favor of more general lifting functions
  (liftIO, liftErr).
+ Generalized many basic monadic operations from specific monads to
  arbitrary monads in the appropriate class (MonadIO and/or ErrorMonad),
  thereby completely eliminating the need for lifting functions in lots
  of places.

This can be considered a small step forward towards a cleaner
compiler API and more malleable compiler code in general.
2013-11-20 00:45:33 +00:00
hallgren
c29326d074 GF shell: improved system_pipe (aka "?") command
1. No temporary files are created.

2. The output of a system command is read lazily, making it feasible to 
   process large or even infinite output, e.g. the following works as
   expected:

	? "yes" | ? "head -5" | ps -lextext
2013-11-19 15:18:58 +00:00
kr.angelov
33a76f1cd5 bugfix in the robust parser 2013-11-18 09:05:27 +00:00
kr.angelov
2dd04b2b2f add gu_buf_insert in libgu 2013-11-18 09:05:09 +00:00
kr.angelov
fb8de0e8ea fixes in the C runtime to avoid warnings when compiling on MacOS 2013-11-15 10:03:22 +00:00
kr.angelov
684a3b8df5 pgf_read should open the grammar file in binary mode to prevent the Windows runtime from messing up the content. 2013-11-15 09:04:00 +00:00
kr.angelov
254aba33a1 pgf_reader_done should do nothing if the reading has failed 2013-11-15 08:59:18 +00:00
kr.angelov
d7dfa01bb0 add additional options for compiling the Java binding on Windows (suggested by Normunds) 2013-11-15 07:48:02 +00:00
hallgren
ec82c3af9a gfse: re-enable example-based grammar construction 2013-11-14 12:54:25 +00:00
kr.angelov
a18fccd338 add two files from the Android app that were forgoten 2013-11-13 17:27:11 +00:00
kr.angelov
63a90f34af bugfix in the C runtime which had made the parser up to 200 times slower for some sentences 2013-11-13 15:15:28 +00:00
kr.angelov
a47d37ca67 the dictionary view in the Android app now shows both the source and the target linearizations 2013-11-13 12:29:10 +00:00
kr.angelov
3d410e0fd7 minor bugfix in the translator keyboard 2013-11-13 10:59:03 +00:00
kr.angelov
13084dab4f now the Android App has a translation keyboard which allows the translations to be done from inside another application 2013-11-13 10:45:20 +00:00
hallgren
4a5b9ca8cb Fix Issue 60: Weird output when executing system commands from the gf shell
The system_pipe (aka "?") command creates a temporary file _tmpi containing
the input of the system command. It *both* appends _tmpi as an extra argument
to the system command line *and* adds an input redirection "< _tmpi". (It
also uses and output redirection "> _tmpo" to captures the output of the
command.)

With this patch, the _tmpi argument is no longer appended to the command line.
This allows system_pipe to work with pure filters, such as the "tr" commands,
but it will no longer work with commands that require an input file name.
(It is possible to use write_file instead...)

TODO: it would also be fairly easy to eliminate the creation of the _tmpi and
_tmpo files altogether.
2013-11-12 18:07:38 +00:00
hallgren
12d86604b2 Fix Issue 68: Cannot use an overloaded operator in table defined using square brackets
Add proper type checking of course-of-values tables:

 + Make sure that all subterms have the same type.
 + Resolve overloaded operators.

Note though that the GF book states in C.4.12 that the "course-of-values
table [...] format is not recommended for GF source code, since the
ordering of parameter values is not specified and therefore a
compiler-internal decision."
2013-11-12 13:55:38 +00:00
hallgren
a3de4b6e86 GF.System.Chatch: remove redundant #include 2013-11-12 13:51:11 +00:00
kr.angelov
1d7b6f44b6 added Predef.SOFT_BIND. This special token allows zero or more spaces between ordinary tokens. It is also used in the English RGL to attach the commas to the previous word. 2013-11-12 09:54:57 +00:00
hallgren
2da15f558e Fix Issue 41: "," in context-free rules causes parsing failure
The CF parser in GF.Grammar.CF assigns function names to the rules, but they
are not always unique, causing rules to be dropped in the follwing CF->GF
conversion. So a pass has been added before the CF->GF conversion, to make
sure that function names are unique.

A comment says "rules have an amazingly easy parser", but the parser looks
like quick hack. It is very sloppy and silently ignores many errors, e.g.
- Explicitly given function names should end with '.', but if the do not, the
  last character in the function name is silently dropped.
- Everything following a ';' is silently dropped.
2013-11-11 16:50:43 +00:00
hallgren
d1314dcbcd Fix issue 61: GF shell cannot parse a system command ending with a space
Trailing spaces caused the command line parse to be ambiguous, and
ambiguous parses were rejected by function readCommandLine, causing
the cryptic error message "command not parsed".
2013-11-11 15:13:24 +00:00
kr.angelov
6729cca568 factor of 3 speedup for the translation without slowing down the grammar loading. The parser still seems to be 8 times slower than before I introduced the BIND. At least the Android UI now feels a lot more comfortable 2013-11-07 11:14:32 +00:00
kr.angelov
03e7c287fd bugfix in the binary search implementation in libgu 2013-11-07 11:13:47 +00:00
kr.angelov
ceb156b93b remove redundant type signature in gu/seq.h 2013-11-07 09:47:07 +00:00
kr.angelov
fe41356a9d fix for the memory allocation in the jitter which should work for Windows. 2013-11-07 08:47:35 +00:00
kr.angelov
cbfa65c7ae the 'Release' configuration in Eclipse is renamed to 'Release (posix)'. In addition now there is 'Release (mingw)' for Windows. 2013-11-07 08:36:17 +00:00
kr.angelov
4265a31003 added #ifdef to detect MinGW in the Java binding and to import the right header for alloca 2013-11-07 08:08:41 +00:00
kr.angelov
30e49cbd71 more compact inflection tables for Swedish 2013-11-06 20:24:36 +00:00
hallgren
09e64e92e4 minibar: fix a mistake the previous bracket fix 2013-11-06 16:54:21 +00:00
hallgren
dcbe3533d0 minibar: adapt to changed bracket structure in linearization output 2013-11-06 16:45:24 +00:00
kr.angelov
6c71830c10 fix in the parsing with pre 2013-11-06 16:25:25 +00:00
kr.angelov
11d7b1324f added inflection_sv.xml 2013-11-06 14:46:57 +00:00
kr.angelov
5739785c77 bugfix in the Java binding 2013-11-06 14:41:42 +00:00
hallgren
5beded9330 Make PGF.Tree internal
The only use of PGF.Tree outside the PGF library was in GF.Command.Commands,
and it was eliminated by using PGF.Expr directly instead.
PGF.Paraphrase still uses PGF.Tree.
2013-11-06 14:29:17 +00:00
hallgren
06453afb1c Remove PGF.Signature
This module should not be part of the public PGF library API, and it was only
used in GF.CompileToAPI, so the code was moved there. The module defined
constFuncs and syntaxFuncs, but only syntaxFuncs was used.
2013-11-06 13:27:29 +00:00
kr.angelov
bd69ad83f7 fix the deserialization of flags from the GFO files 2013-11-06 13:05:51 +00:00
kr.angelov
74cb2d1860 use the inflection_cmn.xml in the Android translator 2013-11-06 11:00:39 +00:00
kr.angelov
475f213c99 the content of ParseEngAbs3.probs is now merged with ParseEngAbs.probs. The later is now retrained. Once the grammar is compiled with the .probs file now it doesn't need anything more to do robust parsing. The robustness itself is controlled by the flags 'heuristic_search_factor', 'meta_prob' and 'meta_token_prob' in ParseEngAbs.gf 2013-11-06 10:21:46 +00:00
kr.angelov
d094d671bd when printing floating literals use %lg instead of %lf for better output 2013-11-06 09:46:29 +00:00
aarne
acefeec541 added a -treebank option to the lc command 2013-11-05 20:42:22 +00:00
aarne
0180ae3929 restored old language codes in android/.../Translator.java (committed by accident in previous patch) 2013-11-05 17:36:21 +00:00
aarne
6bc1baa7f7 linearization by chunks in the GF shell: a new command 'lc' needed because 'l' requires type checking and trees with metavariable function heads don't type check. This will hopefully be a temporary command. 2013-11-05 17:28:47 +00:00
hallgren
decd7122de Eliminate mutual dependencies between the GF compiler and the PGF library
+ References to modules under src/compiler have been eliminated from the PGF
  library (under src/runtime/haskell). Only two functions had to be moved (from
  GF.Data.Utilities to PGF.Utilities) to make this possible, other apparent
  dependencies turned out to be vacuous.

+ In gf.cabal, the GF executable no longer directly depends on the PGF library
  source directory, but only on the exposed library modules. This means that
  there is less duplication in gf.cabal and that the 30 modules in the
  PGF library will no longer be compiled twice while building GF.

  To make this possible, additional PGF library modules have been exposed, even
  though they should probably be considered for internal use only. They could
  be collected in a PGF.Internal module, or marked as "unstable", to make
  this explicit.

+ Also, by using the -fwarn-unused-imports flag, ~220 redundant imports were
  found and removed, reducing the total number of imports by ~15%.
2013-11-05 13:11:10 +00:00
kr.angelov
d2186b71e3 fix the debug mode of the JIT compiler after the refactoring in libgu 2013-11-04 19:33:29 +00:00
kr.angelov
81ef6714db A simple type checker in the C runtime. Dependent types are not supported yet but HOAS is implemented. The API is accessible from Python as well 2013-11-04 17:10:46 +00:00
kr.angelov
5683367818 bug fix in the linearizer 2013-11-04 12:40:53 +00:00
kr.angelov
0cb3245e26 linearization for HOAS trees. It should word but we need a type checker in order to test it properly 2013-11-02 12:34:00 +00:00