Commit Graph

590 Commits

Author SHA1 Message Date
kr.angelov
edb4f7320d add gu_buf_insert in libgu 2013-11-18 09:05:09 +00:00
kr.angelov
a6d60f9c8d fixes in the C runtime to avoid warnings when compiling on MacOS 2013-11-15 10:03:22 +00:00
kr.angelov
d997df2864 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
b3149b7897 pgf_reader_done should do nothing if the reading has failed 2013-11-15 08:59:18 +00:00
kr.angelov
2dadc3aa4c add additional options for compiling the Java binding on Windows (suggested by Normunds) 2013-11-15 07:48:02 +00:00
kr.angelov
126d5e0278 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
0095119ec0 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
kr.angelov
af4a1f628d 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
3f5ae22a0c bugfix in the binary search implementation in libgu 2013-11-07 11:13:47 +00:00
kr.angelov
7160a06a30 remove redundant type signature in gu/seq.h 2013-11-07 09:47:07 +00:00
kr.angelov
71744f7642 fix for the memory allocation in the jitter which should work for Windows. 2013-11-07 08:47:35 +00:00
kr.angelov
89ff9a0db4 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
62dee6c805 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
f9d044d294 fix in the parsing with pre 2013-11-06 16:25:25 +00:00
kr.angelov
7caf89b382 bugfix in the Java binding 2013-11-06 14:41:42 +00:00
hallgren
7a41b45f13 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
2483dc7728 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
84ef5fa5fa when printing floating literals use %lg instead of %lf for better output 2013-11-06 09:46:29 +00:00
aarne
aba666c5bc 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
3814841d7d 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
6e1451e142 fix the debug mode of the JIT compiler after the refactoring in libgu 2013-11-04 19:33:29 +00:00
kr.angelov
546c7ac859 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
585a192d0b bug fix in the linearizer 2013-11-04 12:40:53 +00:00
kr.angelov
a7d245fb25 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
kr.angelov
4e7781b606 remove the include of lexer.h from pgf-parse 2013-11-02 11:28:55 +00:00
kr.angelov
523259b06d fix the parseval metric after the redesign in the C runtime 2013-11-01 17:36:22 +00:00
kr.angelov
fda1416c4d bugfix in the linearizer 2013-11-01 17:26:35 +00:00
kr.angelov
8073f9abf5 make gu_exn_is_raised non inlined. this is useful to make it callable from Haskell 2013-11-01 16:38:16 +00:00
kr.angelov
981a728d13 fix the robust parser for unknown tokens 2013-11-01 13:05:17 +00:00
kr.angelov
ad7d18a448 bugfix in linearizer.c 2013-11-01 11:02:12 +00:00
kr.angelov
a0505da063 remove the include to mman.h in jit.c since it doesn't seem to be used 2013-11-01 07:46:24 +00:00
hallgren
83a10ce25a Add a cabal flag to use the standard binary package
The standard binary package has improved efficiency and error handling [1], so
in the long run we should consider switching to it. At the moment, using it is
possible but not recommended, since it results in incomatible PGF files.

The modified modules from the binary package have been moved from
src/runtime/haskell to src/binary.

[1] http://lennartkolmodin.blogspot.se/2013/03/binary-07.html
2013-10-31 15:43:12 +00:00
kr.angelov
20d465ca8c fixed utf-8 decoding problem in libgu 2013-10-31 13:20:12 +00:00
kr.angelov
050ebd469c bracketedLinearize in Python is now using the linref 2013-10-31 09:04:07 +00:00
kr.angelov
fed16ca9e5 use linref in the C linearizer. The robust linearization is now fully supported 2013-10-30 21:43:52 +00:00
kr.angelov
48b639e64e fix the debug mode in the linearizer after the refactoring in libgu 2013-10-30 21:06:55 +00:00
kr.angelov
a4194501fe linref is now used by the linearizer. The visible change is that the 'l' command in the shell now can linearize discontinuous phrases 2013-10-30 14:42:29 +00:00
kr.angelov
042243f08a added the linref construction in GF. The PGF version number is now bumped 2013-10-30 12:53:36 +00:00
kr.angelov
c60a019b70 another fix for 'pre' 2013-10-28 13:54:06 +00:00
kr.angelov
151f86c1e9 fix the handling of 'pre' in the C runtime 2013-10-28 12:35:37 +00:00
kr.angelov
cd5a0de253 bugfix in gu/seq.h 2013-10-28 08:58:36 +00:00
hallgren
9410c6b141 Functions merge trees into tries in the GF Shell and the PGF web service
* In the shell, the new command tt (to_trie) merges a list of trees into a
  trie and prints it in a readable way, where unique subtrees are marked with
  a "*" and alternative subtrees are marked with numbers.
* In the PGF web service, adding the parameter trie=yes to the parse and
  translate commands augments the JSON output with a trie.

Example to try in the shell:

	Phrasebook> p -lang=Eng "your son waits for you" | tt
2013-10-24 17:29:02 +00:00
kr.angelov
0882396875 tabular linearization in the C and Java runtimes 2013-10-23 14:49:28 +00:00
kr.angelov
e408f0a0db clumsy fix for nonExist in pgf-translate 2013-10-21 12:35:34 +00:00
kr.angelov
53631576dc bugfix for the custom literals in the C runtime 2013-10-21 12:34:57 +00:00
kr.angelov
1d2bf1cea8 fix the grammar serialization for nonExist and BIND 2013-10-21 10:03:43 +00:00
kr.angelov
4d50c08714 make MorphoAnalysis serializable 2013-10-11 08:10:58 +00:00
kr.angelov
f7fb6fa5bc readExpr in the Java binding 2013-10-11 08:10:04 +00:00
kr.angelov
c9b2e11782 added lookupMorpho in the Java binding 2013-10-09 19:39:50 +00:00
kr.angelov
f58d684ab4 fix in the Java binding 2013-10-09 19:37:57 +00:00