kr.angelov
8fd24c3839
more compact implementation for GuStringBuf
2014-12-24 14:20:30 +00:00
kr.angelov
f44f9a1b00
added mkStr to the Haskell binding
2014-12-19 08:58:02 +00:00
kr.angelov
bb1c1dd27c
added mkApp to the Haskell binding
2014-12-19 08:47:00 +00:00
kr.angelov
9bc5349e62
change in the API for literals
...
The API in the C runtime as well as in the Haskell, Python and Java binding
is changed. Now instead of adding the literal callbacks to the concrete syntax
you need to supply them every time when you need to parse. The main reason is:
- referentially transparent API for Haskell
- when we start using memory mapped files we will not be allowed to change
anything in the grammar data structures. At that point the old API would
be impossible to use.
2014-12-16 10:21:26 +00:00
kr.angelov
64feca59c8
fix the last patch
2014-12-01 11:03:50 +00:00
kr.angelov
960ba43149
a small optimization in the PGF parser which gives me ~5% speed up
2014-12-01 10:48:15 +00:00
kr.angelov
14a2821fd8
fix in GNU lightning to enable the compilation of two of the the floating point operations.
2014-12-01 09:42:21 +00:00
kr.angelov
35e76a5fe8
fix in linearizer.h to make jpgf compilable
2014-12-01 09:41:48 +00:00
kr.angelov
6f2195f793
fix in linearizer.h which resolves a warning
2014-11-27 15:20:46 +00:00
kr.angelov
f63e8faf00
remove pgf/parser.h
2014-11-27 11:12:14 +00:00
kr.angelov
41e217a641
fix the handling of the heuristic factor. it was broken when I added the BIND token which means that the App grammar was running about 2-3 times slower.
2014-11-26 15:56:36 +00:00
kr.angelov
cabafd68a6
expand the JIT window for x64
2014-11-07 15:43:12 +00:00
kr.angelov
70c70fa791
a skeletal module for higher-order pattern unification in the C runtime
2014-10-31 19:57:56 +00:00
kr.angelov
b1e6a21c56
now (+) in the abstract syntax works, i.e. it knows how to deal with partial sums
2014-10-31 14:16:11 +00:00
kr.angelov
9b0f354c7c
a more efficient tail call by using the new TUCK instruction
2014-10-30 13:09:50 +00:00
kr.angelov
efedec187c
an explicit SAVE instruction
2014-10-26 11:40:12 +00:00
kr.angelov
6986f1acd7
comment out a few assertions in bits.h. this code is run too often to have explicit assertions
2014-10-24 11:15:40 +00:00
kr.angelov
8abbd2f67e
make it possible to specify the initial size of a map in libgu
2014-10-24 09:17:22 +00:00
kr.angelov
dc62e52636
simplify gu/map
2014-10-24 08:56:39 +00:00
kr.angelov
550c747941
fix memory leak in the pgf-parse tool
2014-10-24 08:42:32 +00:00
kr.angelov
5cae930723
add extern declarations for all inline functions in seq.h. this ensures that everything works even when the compiler's optimizations are off
2014-10-24 08:26:58 +00:00
kr.angelov
e169f225cf
a simple optimization in cmp_item_prob with great effect on the parser's speed
2014-10-23 21:22:22 +00:00
kr.angelov
18f8f2e4f4
remove some deadcode in gu/seq.h
2014-10-23 21:21:21 +00:00
kr.angelov
aff68e7422
inline a number of functions in gu/seq.c. this has a noticeable effect on the parser's speed
2014-10-23 21:19:29 +00:00
kr.angelov
3aaeb7a156
a cosmetic optimization in mem.c
2014-10-23 15:45:14 +00:00
kr.angelov
fc6658c2e7
fix the debug mode in the reasoner
2014-10-23 08:15:12 +00:00
kr.angelov
578df576ef
fix warning in ucs.c
2014-10-23 07:44:41 +00:00
kr.angelov
00922153aa
CAPIT is now naturally supported in the C runtime
2014-10-22 15:05:55 +00:00
kr.angelov
df113f9cc4
add Unicode classification routines to libgu. ported from the base package in Haskell.
2014-10-22 14:36:58 +00:00
kr.angelov
c8b3865338
an explicit PUSH_FRAME instruction
2014-10-22 14:11:41 +00:00
kr.angelov
bb1f0f3368
get rid of gu/str.(c|h)
2014-10-20 07:50:42 +00:00
kr.angelov
3f11f3d602
the C runtime now supports reading and writing expressions with indexed meta variables. The type checker generates fresh indices
2014-10-17 09:27:37 +00:00
kr.angelov
c0ebbc4edf
bugfix in the parser for abstract expressions in the C runtime
2014-10-16 11:40:47 +00:00
kr.angelov
26ad164cec
finally proper stack unwind in the evaluator
2014-10-16 10:00:32 +00:00
kr.angelov
ac288386c4
the compiler now allows + to be used as a floating point addition in the abstract syntax
2014-10-14 11:15:18 +00:00
kr.angelov
f4dc2c0b6e
bugfix in the bytecode generator
2014-10-14 09:27:24 +00:00
kr.angelov
1c2e02ad50
simplify jit_bare_ret
2014-10-14 09:09:26 +00:00
kr.angelov
f8b73d593c
Prelude.CAPIT is now a built-in primitive. It still generates &| in the Haskell runtime but will be intepreted in the C runtime
2014-10-09 19:34:12 +00:00
kr.angelov
86e9acc7a7
throw away the long obsolete runtime type information in the C runtime
2014-10-09 13:44:26 +00:00
kr.angelov
8e3ed825a8
fix two warnings in mem.c
2014-10-09 13:22:39 +00:00
kr.angelov
b905558ce8
fix in gu_mmap_pool for Android
2014-10-09 13:21:56 +00:00
kr.angelov
397276defd
fix for lightning for ARM
2014-10-09 13:17:01 +00:00
kr.angelov
3e49a1cf73
remove the pgf-service util which is obsolete anyway
2014-10-09 11:28:56 +00:00
kr.angelov
6c86e7fa91
replace the hash maps in the abstract syntax with binary search tables
2014-10-09 08:38:55 +00:00
kr.angelov
84b257e85c
add the const modifier to the key in the two procedures for binary search in libgu
2014-10-09 07:25:26 +00:00
kr.angelov
a9a781e4a0
use MAP_FIXED in gu_mmap_pool
2014-10-08 19:43:08 +00:00
kr.angelov
f178be5405
an experimental memory mapped pool. still not in use
2014-10-08 18:28:51 +00:00
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