Commit Graph

232 Commits

Author SHA1 Message Date
kr.angelov
3e3178abfa dummy jit_base_tail_finishr for x86_64. 2014-09-16 12:29:35 +00:00
kr.angelov
621d748bac a major revision of the bytecode generator and JIT compiler. the effect is that now we can compute with lambda functions and with true tail recursion 2014-09-11 15:39:39 +00:00
kr.angelov
4d28c7632e the code for def rules now uses proper graph update to preserve lazyness 2014-09-05 11:53:02 +00:00
kr.angelov
86b5f78c57 full support for recursive def rules in the C runtime 2014-09-05 10:09:43 +00:00
kr.angelov
bfd414554d partial implementation for recursive def rules 2014-09-01 14:51:20 +00:00
kr.angelov
342f6e3797 bug fixes in the JIT compiler 2014-09-01 12:53:14 +00:00
kr.angelov
cee5f590ca added evaluator.h which I had forgoten 2014-08-29 08:36:53 +00:00
kr.angelov
c30e2df228 pattern matching in def rules is now supported 2014-08-11 15:53:41 +00:00
kr.angelov
584d589041 a partial support for def rules in the C runtime
The def rules are now compiled to byte code by the compiler and then to
native code by the JIT compiler in the runtime. Not all constructions
are implemented yet. The partial implementation is now in the repository
but it is not activated by default since this requires changes in the
PGF format. I will enable it only after it is complete.
2014-08-11 10:59:10 +00:00
kr.angelov
0222d2440c implemented computing with abstract syntax trees. It passes all test cases except those that require def rules. The design is consistent with the STG virtual machine 2014-07-08 19:45:49 +00:00
kr.angelov
e0fe6d01c4 bugfix for the typechecker in the C runtime 2014-07-08 19:19:48 +00:00
kr.angelov
e52d5bf715 embedded mode for GF grammar in Python. Only generation for now 2014-07-06 19:49:17 +00:00
kr.angelov
d278965095 an initial Java/C API for predicting literals. Still not utilized 2014-04-25 08:53:18 +00:00
kr.angelov
b70cea2673 bugfix in the handling of BIND in the C runtime 2014-04-22 13:53:18 +00:00
kr.angelov
b0b27a1b32 now word completion from Java works. It could be made better 2014-04-17 11:00:27 +00:00
kr.angelov
1ca09448f9 now fully functional Java API for custom literals 2014-04-10 14:14:31 +00:00
kr.angelov
348c9c4233 bugfix in the C runtime 2014-04-10 07:42:49 +00:00
kr.angelov
d9f4c1598c a quick hack to enable the NERC from bindings. This should be made available from the API but for now I just hacked the C runtime 2014-04-10 07:27:07 +00:00
kr.angelov
f99d3033aa bugfix in the C runtime that shows up with only some grammars 2014-04-08 12:41:41 +00:00
kr.angelov
911ae42296 small fixes in the C runtime 2014-03-25 13:57:57 +00:00
kr.angelov
a1446b87fa whitespace cleanup in the parser 2014-03-18 10:19:35 +00:00
kr.angelov
ae1512c926 compute the right word probability 2014-03-12 15:36:40 +00:00
kr.angelov
ba28cfd80e added pgf_lookup_word_prefix which makes it possible to do simple word prediction 2014-03-07 21:24:20 +00:00
hallgren
052ead6797 C run-time: protect from Windows specific #includes with #ifdef __MINGW32__ 2014-03-06 13:42:27 +00:00
kr.angelov
4f9afb9343 implementation for pre in the C runtime 2014-03-05 10:17:42 +00:00
kr.angelov
2e1dd543e9 memory leak in parseval.c 2014-03-04 10:29:18 +00:00
kr.angelov
c197de7fbd rename pgf_lzr_linearize_table to pgf_lzr_get_table 2014-03-04 10:13:23 +00:00
kr.angelov
2238d1e462 include malloc.h in a few places to avoid warnings on Windows 2014-02-27 19:34:14 +00:00
kr.angelov
f30c60c3d7 GuVariant is now plain uintptr_t instead of a structure to make it easier to write Haskell bindings 2014-02-09 19:07:15 +00:00
kr.angelov
f23bcb8a47 bugfix in the recognizer for literals in the C runtime 2014-02-05 20:13:52 +00:00
kr.angelov
a01e248ae6 make sure that pgf_concrete_load has no effect on grammars that are completely loaded 2013-12-17 13:57:16 +00:00
kr.angelov
0ece8f19ab loading and unloading of languages in the C runtime and in the Python bindings 2013-12-10 15:00:52 +00:00
kr.angelov
b0a74ddc59 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
8bcc70eac8 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
1d2786f7da bugfix in the debug mode for the parser 2013-11-22 12:26:49 +00:00
kr.angelov
aad6a1c4bb bugfix in the C runtime 2013-11-21 14:31:28 +00:00
kr.angelov
9a2725279e fix in the Python binding 2013-11-20 09:54:37 +00:00
kr.angelov
5b83da5583 bugfix in the robust parser 2013-11-18 09:05:27 +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
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
71744f7642 fix for the memory allocation in the jitter which should work for Windows. 2013-11-07 08:47:35 +00:00
kr.angelov
f9d044d294 fix in the parsing with pre 2013-11-06 16:25:25 +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
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