Commit Graph

88 Commits

Author SHA1 Message Date
krasimir
df6c2f3f17 add gu_string_buf_data and gu_string_buf_length in libgu 2017-04-13 12:55:29 +00:00
krasimir
a657e9947b use GU_API_DATA_DECL instead of GU_API_DATA to make the C runtime compile again on MacOS 2017-04-13 11:06:24 +00:00
krasimir
a8eaa2f2e5 a patch from Bjørnar Luteberget for compatibility with MSVC 2017-04-12 10:24:56 +00:00
krasimir
a6b4212264 added methods for accessing the last element of a buffer in libgu 2016-04-29 14:05:42 +00:00
krasimir
e8e52de6b9 locale independent printing for doubles when they are part of an abstract expression 2016-04-13 14:30:40 +00:00
krasimir
365c7bb1d8 the parser is now fully Unicode compatible 2015-05-08 09:23:29 +00:00
krasimir
b961e9a255 fix gu_ucs_is_space in libgu 2015-05-07 15:50:55 +00:00
krasimir
01c4836d4d fix the UTF8 implementation in libgu 2015-05-06 15:51:12 +00:00
krasimir
e72fcb1513 fix the compilation of gu/mem.c on Windows. For now memory mapped pools on Windows are just not supported. 2015-03-19 09:28:31 +00:00
kr.angelov
3bd40dbab6 API for word alignment in the C runtime and in the Haskell binding 2014-12-29 10:59:20 +00:00
kr.angelov
8fd24c3839 more compact implementation for GuStringBuf 2014-12-24 14:20:30 +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
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
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
578df576ef fix warning in ucs.c 2014-10-23 07:44:41 +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
bb1f0f3368 get rid of gu/str.(c|h) 2014-10-20 07:50:42 +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
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
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
c30e2df228 pattern matching in def rules is now supported 2014-08-11 15:53:41 +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
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
edb4f7320d add gu_buf_insert in libgu 2013-11-18 09:05:09 +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
3f5ae22a0c bugfix in the binary search implementation in libgu 2013-11-07 11:13:47 +00:00
kr.angelov
7160a06a30 remove redundant type signature in gu/seq.h 2013-11-07 09:47:07 +00:00
kr.angelov
8073f9abf5 make gu_exn_is_raised non inlined. this is useful to make it callable from Haskell 2013-11-01 16:38:16 +00:00
kr.angelov
20d465ca8c fixed utf-8 decoding problem in libgu 2013-10-31 13:20:12 +00:00
kr.angelov
151f86c1e9 fix the handling of 'pre' in the C runtime 2013-10-28 12:35:37 +00:00
kr.angelov
cd5a0de253 bugfix in gu/seq.h 2013-10-28 08:58:36 +00:00
kr.angelov
8cf03bc5b6 a major redesign in the C runtime. The parser and the linearizer now fully support BIND. The following things are still broken: parseval, word completion, handling 'pre', the robust mode 2013-10-09 12:08:51 +00:00
kr.angelov
20e4970ec1 added gu_is_space in gu/utf8.h. this helps to avoid the dependency on the broken unicode library for C. 2013-10-09 08:37:42 +00:00
kr.angelov
e8335806af GuString is now an ordinary C string - it makes live easier. In addition PgfSymbolKS, PgfExprFun and PgfLiteralStr now keep their strings as embedded flexible arrays. The latest change gives us the same compactness as the old representation but it is a lot easier to use. 2013-10-04 12:04:39 +00:00
kr.angelov
216490f275 add gu_variant_close in libgu 2013-09-26 10:41:52 +00:00
kr.angelov
a42cbb84ff add type signature for gu_string_length in the headers of libgu 2013-09-18 08:03:37 +00:00
kr.angelov
99985843d1 bugfix in the ordering of strings in libgu 2013-09-17 19:05:54 +00:00
kr.angelov
237c2af7fc gu_buf_binsearch -> gu_seq_binsearch. Improved API 2013-09-17 19:04:46 +00:00
kr.angelov
d1e6a9c2ba added order and equality for strings in libgu 2013-09-17 13:45:37 +00:00
kr.angelov
2a49e4e1d6 a major refactoring in the C runtime. GuList is now removed and replaced with GuSeq. The GuSeq/GuBuf API is simplified 2013-09-17 12:45:00 +00:00
kr.angelov
9da5ca7f81 bugfix in utf8.c 2013-09-13 09:50:04 +00:00