Commit Graph

201 Commits

Author SHA1 Message Date
kr.angelov 6028a63b42 loading and unloading of languages in the C runtime and in the Python bindings 2013-12-10 15:00:52 +00:00
kr.angelov 3509a8d4cc added API in the C runtime and the Java binding for checking whether a given function is linearizable in a given language. This is used in the Android UI for better vizualizations 2013-11-27 12:35:11 +00:00
kr.angelov 4254b101f4 the GF syntax for identifiers is exteded with quoted forms, i.e. you could write for instance 'ab.c' and then everything between the quites is identifier. This includes Unicode characters and non-ASCII symbols. This is useful for automatically generated GF grammars. 2013-11-22 13:30:18 +00:00
kr.angelov cddc19a5ad bugfix in the debug mode for the parser 2013-11-22 12:26:49 +00:00
kr.angelov e77c19c783 bugfix in the C runtime 2013-11-21 14:31:28 +00:00
kr.angelov b255f19b63 fix in the Python binding 2013-11-20 09:54:37 +00:00
kr.angelov 33a76f1cd5 bugfix in the robust parser 2013-11-18 09:05:27 +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 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 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
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 fe41356a9d fix for the memory allocation in the jitter which should work for Windows. 2013-11-07 08:47:35 +00:00
kr.angelov 6c71830c10 fix in the parsing with pre 2013-11-06 16:25:25 +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
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
kr.angelov 58b20a7e2e fix the parseval metric after the redesign in the C runtime 2013-11-01 17:36:22 +00:00
kr.angelov 72e0c89abe bugfix in the linearizer 2013-11-01 17:26:35 +00:00
kr.angelov d7cd5ba195 fix the robust parser for unknown tokens 2013-11-01 13:05:17 +00:00
kr.angelov ffa143f1d2 bugfix in linearizer.c 2013-11-01 11:02:12 +00:00
kr.angelov b05f61e6c6 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
kr.angelov 8f565302cc bracketedLinearize in Python is now using the linref 2013-10-31 09:04:07 +00:00
kr.angelov 8019d3a615 use linref in the C linearizer. The robust linearization is now fully supported 2013-10-30 21:43:52 +00:00
kr.angelov 68b40ff0a8 fix the debug mode in the linearizer after the refactoring in libgu 2013-10-30 21:06:55 +00:00
kr.angelov 43fb9b3b7a added the linref construction in GF. The PGF version number is now bumped 2013-10-30 12:53:36 +00:00
kr.angelov 56893dbf54 another fix for 'pre' 2013-10-28 13:54:06 +00:00
kr.angelov 841880144d fix the handling of 'pre' in the C runtime 2013-10-28 12:35:37 +00:00
kr.angelov c98a9a3266 tabular linearization in the C and Java runtimes 2013-10-23 14:49:28 +00:00
kr.angelov e3dc98dd0f bugfix for the custom literals in the C runtime 2013-10-21 12:34:57 +00:00
kr.angelov 82544f74c0 avoid warning in parser.c when debugging is OFF 2013-10-09 13:41:02 +00:00
kr.angelov b058fdd17d a major redesign in the C runtime. The parser and the linearizer now fully support BIND. The following things are still broken: parseval, word completion, handling 'pre', the robust mode 2013-10-09 12:08:51 +00:00
kr.angelov adc952a61d fix the robust parser after the change of GuString 2013-10-08 15:00:42 +00:00
kr.angelov 527ea8fc5c bugfix in GNU lightning for ARM 2013-10-08 13:33:18 +00:00
kr.angelov f6b708ecab fix the grammar printer after the change of GuString in libgu 2013-10-07 09:46:35 +00:00
kr.angelov 747590b86d suppress warning in graphviz.c 2013-10-04 12:56:45 +00:00
kr.angelov 2f78333e28 GuString is now an ordinary C string - it makes live easier. In addition PgfSymbolKS, PgfExprFun and PgfLiteralStr now keep their strings as embedded flexible arrays. The latest change gives us the same compactness as the old representation but it is a lot easier to use. 2013-10-04 12:04:39 +00:00
kr.angelov 357ddfb5d3 the symbol for nonExist in the GF runtime should be the last. this simplifies the binary search in the C runtime 2013-10-03 08:21:31 +00:00
kr.angelov cedf848b5d fix the graphviz visualization after the introduction of nonExist and BIND 2013-09-30 10:38:28 +00:00
kr.angelov c4f68adca9 better handling for nonExist in the C runtime. BIND is also supported in the linearizer but not in the parser yet 2013-09-30 10:25:39 +00:00
kr.angelov efa4bc4d62 a major refactoring in the C and the Haskell runtimes. Note incompatible change in the PGF format!!!
The following are the outcomes:

   - Predef.nonExist is fully supported by both the Haskell and the C runtimes

   - Predef.BIND is now an internal compiler defined token. For now
     it behaves just as usual for the Haskell runtime, i.e. it generates &+.
     However, the special treatment will let us to handle it properly in 
     the C runtime.

   - This required a major change in the PGF format since both 
     nonExist and BIND may appear inside 'pre' and this was not supported
     before.
2013-09-27 15:09:48 +00:00
kr.angelov a6e0ef76f1 remove pgf/edsl.h from the C runtime 2013-09-26 11:59:35 +00:00
kr.angelov 65ea8814aa fix the debug mode of the parser after the refactoring in libgu 2013-09-25 10:21:35 +00:00
kr.angelov be8bf64eb2 added assertion in the JIT compiler which checks that we are not going outside of the compilation window 2013-09-25 07:53:10 +00:00
kr.angelov aea67b8109 the PGF reader now releases strings that are not used after the loading 2013-09-18 08:26:11 +00:00
kr.angelov f984bfeb24 a major refactoring in the C runtime. GuList is now removed and replaced with GuSeq. The GuSeq/GuBuf API is simplified 2013-09-17 12:45:00 +00:00