Commit Graph

771 Commits

Author SHA1 Message Date
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
71d5cae4e3 make the fields of BracketedString in the Python binding read/write 2014-10-22 12:18:07 +00:00
kr.angelov
bb1f0f3368 get rid of gu/str.(c|h) 2014-10-20 07:50:42 +00:00
aarne
84bce336fd (un)lexmixed: added the other math environments than $ used in latex 2014-10-19 17:43:39 +00:00
aarne
5c862a3c7b one general case in dealing with backslash in latex lexing is enough 2014-10-17 15:49:23 +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
aarne
2caf6fa125 unlexing latex code: no space between closing $ and punctuation 2014-10-17 07:04:50 +00:00
aarne
42cfacbf86 lexer for latex code: don't separate backslash from the macro name that it marks 2014-10-17 06:40:06 +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
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