kr.angelov
9c2f71b07a
now we statically allocate closures for all top-level functions and all nullary constructors. closures are dynamically allocated only for CAFs. this reduces memory use and time to allocate dynamic closures
2014-10-08 12:57:29 +00:00
kr.angelov
67781996b6
a missing case in instruction SET
2014-10-07 20:05:05 +00:00
kr.angelov
e98d61b7b7
added a missing case for PUSH instruction with a global closure
2014-10-07 11:46:38 +00:00
kr.angelov
de1b372ef7
the indirection should be done in the evaluate_expr_thunk gate instead of in the pgf_evaluate_expr_thunk function. this ensures lazyness
2014-10-07 07:12:40 +00:00
kr.angelov
13c7721bc5
using instruction RET was wrong; now use EVAL
2014-10-06 15:57:42 +00:00
kr.angelov
af7feea385
fix the order in which arguments are stored in the mk_const gate
2014-10-06 12:31:39 +00:00
kr.angelov
a50315396f
push a stack frame around recursive calls to guarantee that a nested call to a failing function will not crash
2014-10-06 09:21:08 +00:00
kr.angelov
889c0f3df4
partial implementation for the FAIL instruction
2014-10-06 09:04:25 +00:00
kr.angelov
4e00834c68
bugfix in pgf_evaluate_expr_thunk
2014-09-30 17:34:29 +00:00
kr.angelov
f5da57056c
fix pgf_value2expr for partial applications
2014-09-30 13:46:46 +00:00
kr.angelov
312d4ff52e
enough fixes to get the JIT compiler compile for ARM. It is still broken if you try to use it
2014-09-30 12:39:31 +00:00
kr.angelov
f25b45e13d
fix in reader.h for compiling jpgf.c
2014-09-30 11:25:27 +00:00
kr.angelov
6be25aa872
fix in pgf_print_expr for lambda abstractions with more than one argument
2014-09-30 09:42:18 +00:00
kr.angelov
70455b88a7
bugfix in the gate evaluate_value_lambda
2014-09-30 08:42:06 +00:00
kr.angelov
80acad4447
bugfix in the pattern matching compiler and a number of other fixes that I somehow did not push before
2014-09-29 15:00:04 +00:00
kr.angelov
1ecd61f7f5
bugfix in the RET instruction
2014-09-29 13:04:49 +00:00
kr.angelov
87c5c4b0cc
enlarge the code window in pgf_jit_gates to ensure enough space on 64-bit machines
2014-09-29 07:34:32 +00:00
kr.angelov
8e64fc6e7e
switch off the debugging of the JIT compiler which I had turned on accidentally. silence two harmless warnings
2014-09-25 11:44:45 +00:00
kr.angelov
14e6eec5ec
now a complete JIT compiler and ByteCode compiler for the def rules in the abstract syntax. there might be some bugs yet to be found, meta variables and computation under lambda is only partially supported
2014-09-25 10:35:06 +00:00
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
hallgren
ceb4beeb84
runtime/c/setup.sh: use make -j to speed up compilation
...
The configuration script takes significantly longer to run than the compilation
of all the C code, which is a hint that is in need of a major simplification.
2014-06-19 09:26:44 +00:00
hallgren
9944916127
src/runtime/c/setup.sh: executable version of INSTALL, used from debian/rules
2014-06-16 23:28:12 +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
kr.angelov
6cb693bdf5
bugfix in pgf-translate
2014-03-07 09:35:57 +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
cbe17732a6
use pgf_linearize instead of pgf_lzr_linearize_simple in pgf-translate.c
2014-03-04 10:30:23 +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