1
0
forked from GitHub/gf-core
Commit Graph

368 Commits

Author SHA1 Message Date
kr.angelov
e6f51d7ec6 fix in the JIT compiler that would hopefully make it work on iOS 2015-02-11 13:07:06 +00:00
kr.angelov
328d4df660 API for word alignment in the C runtime and in the Haskell binding 2014-12-29 10:59:20 +00:00
kr.angelov
4b066bde92 more compact implementation for GuStringBuf 2014-12-24 14:20:30 +00:00
kr.angelov
022849482d added mkStr to the Haskell binding 2014-12-19 08:58:02 +00:00
kr.angelov
fdc6c9a3cd added mkApp to the Haskell binding 2014-12-19 08:47:00 +00:00
kr.angelov
9b7e18c25e 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
995735b272 fix the last patch 2014-12-01 11:03:50 +00:00
kr.angelov
89078c3598 a small optimization in the PGF parser which gives me ~5% speed up 2014-12-01 10:48:15 +00:00
kr.angelov
2927c8b7e1 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
2e765fbfe1 fix in linearizer.h to make jpgf compilable 2014-12-01 09:41:48 +00:00
kr.angelov
0b2a81ad4d fix in linearizer.h which resolves a warning 2014-11-27 15:20:46 +00:00
kr.angelov
80cf34bfd1 remove pgf/parser.h 2014-11-27 11:12:14 +00:00
kr.angelov
d830c75da2 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
057d830133 expand the JIT window for x64 2014-11-07 15:43:12 +00:00
kr.angelov
1cfb975229 a skeletal module for higher-order pattern unification in the C runtime 2014-10-31 19:57:56 +00:00
kr.angelov
2bde418b15 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
4db6e30b54 a more efficient tail call by using the new TUCK instruction 2014-10-30 13:09:50 +00:00
kr.angelov
77d3775385 an explicit SAVE instruction 2014-10-26 11:40:12 +00:00
kr.angelov
97db991979 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
a56b4cae8c make it possible to specify the initial size of a map in libgu 2014-10-24 09:17:22 +00:00
kr.angelov
34867f4019 simplify gu/map 2014-10-24 08:56:39 +00:00
kr.angelov
9276b7567d fix memory leak in the pgf-parse tool 2014-10-24 08:42:32 +00:00
kr.angelov
15744379a8 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
b4046e1797 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
0c6ba90dd8 remove some deadcode in gu/seq.h 2014-10-23 21:21:21 +00:00
kr.angelov
9314b5b392 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
e788398bf7 a cosmetic optimization in mem.c 2014-10-23 15:45:14 +00:00
kr.angelov
f421dd4c68 fix the debug mode in the reasoner 2014-10-23 08:15:12 +00:00
kr.angelov
075d45dc19 fix warning in ucs.c 2014-10-23 07:44:41 +00:00
kr.angelov
3a95d733dd CAPIT is now naturally supported in the C runtime 2014-10-22 15:05:55 +00:00
kr.angelov
9562a88b28 add Unicode classification routines to libgu. ported from the base package in Haskell. 2014-10-22 14:36:58 +00:00
kr.angelov
0da379f97b an explicit PUSH_FRAME instruction 2014-10-22 14:11:41 +00:00
kr.angelov
4e533b7253 get rid of gu/str.(c|h) 2014-10-20 07:50:42 +00:00
kr.angelov
70bf9f78b1 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
fd8e4d3dd7 bugfix in the parser for abstract expressions in the C runtime 2014-10-16 11:40:47 +00:00
kr.angelov
76a448e26f finally proper stack unwind in the evaluator 2014-10-16 10:00:32 +00:00
kr.angelov
6aa0fd2590 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
e8b81c145b bugfix in the bytecode generator 2014-10-14 09:27:24 +00:00
kr.angelov
0e91de3b5f simplify jit_bare_ret 2014-10-14 09:09:26 +00:00
kr.angelov
4efb2d5a22 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
57f7b61c6b throw away the long obsolete runtime type information in the C runtime 2014-10-09 13:44:26 +00:00
kr.angelov
afd5886cdc fix two warnings in mem.c 2014-10-09 13:22:39 +00:00
kr.angelov
6d79274b2f fix in gu_mmap_pool for Android 2014-10-09 13:21:56 +00:00
kr.angelov
58e1eb33fc fix for lightning for ARM 2014-10-09 13:17:01 +00:00
kr.angelov
2892e6b8c8 remove the pgf-service util which is obsolete anyway 2014-10-09 11:28:56 +00:00
kr.angelov
4ac5902fc9 replace the hash maps in the abstract syntax with binary search tables 2014-10-09 08:38:55 +00:00
kr.angelov
a94ba9b888 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
36bbee588f use MAP_FIXED in gu_mmap_pool 2014-10-08 19:43:08 +00:00
kr.angelov
cd6b92867a an experimental memory mapped pool. still not in use 2014-10-08 18:28:51 +00:00
kr.angelov
23642fbb90 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