Commit Graph
100 Commits
Author SHA1 Message Date
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 d42ffaa546 yet another bugfix in the byte code 2014-10-14 10:39:28 +00:00
kr.angelov bc8cb8e9d7 another bugfix in the byte code generation 2014-10-14 09:43:43 +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 04e56bfc27 a refactoring in the Susanne converter which for some reason was not pushed before 2014-10-10 12:10:44 +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
kr.angelov e9a871db7f a missing case in instruction SET 2014-10-07 20:05:05 +00:00
kr.angelov 297403b350 bugfix in the byte code compiler 2014-10-07 20:03:54 +00:00
kr.angelov e7404c8f7a added a missing case for PUSH instruction with a global closure 2014-10-07 11:46:38 +00:00
kr.angelov 9e493031b2 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 8d09f62efc using instruction RET was wrong; now use EVAL 2014-10-06 15:57:42 +00:00
kr.angelov 2bc0734b6e fix the order in which arguments are stored in the mk_const gate 2014-10-06 12:31:39 +00:00
kr.angelov f5041fa67b 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 b07a2652d8 partial implementation for the FAIL instruction 2014-10-06 09:04:25 +00:00
kr.angelov d07bcf3480 1800 new adjectives in Bul 2014-10-03 10:41:13 +00:00
kr.angelov 69d703c547 a bit more adjectives in Bulgarian 2014-10-02 16:17:23 +00:00
kr.angelov 71a3ca3d94 sort the entries in Bulgarian and fill in the gaps 2014-10-02 16:11:11 +00:00
kr.angelov 1ddafb4601 > 1700 new adjectives in DictionaryBul 2014-10-02 12:04:37 +00:00
kr.angelov 62b660c6cc capitalize more adjectives and nouns in DictionaryEng.gf 2014-10-02 09:16:03 +00:00
kr.angelov e2e834dbed cleanup Dictionary.gf 2014-10-02 05:52:04 +00:00
kr.angelov 32f1610689 synch DictionaryEng.gf with the abstract syntax 2014-10-02 05:30:45 +00:00
kr.angelov 3856e6478b remove many_A and several_A 2014-10-01 22:21:37 +00:00
kr.angelov 87f0edf41d remove forty_A 2014-10-01 20:56:41 +00:00
kr.angelov c423b1a004 fix beluga_N in Swedish 2014-10-01 20:30:56 +00:00
kr.angelov 09a5ae8ffd capitalize arab_A 2014-10-01 11:31:36 +00:00
kr.angelov 76ae59a05d capitalize rwandan_A and rwandan_N 2014-10-01 11:18:29 +00:00
kr.angelov 950b0f7e45 capitalize norman_A and norman_N 2014-10-01 07:59:51 +00:00
kr.angelov 62d3985c45 capitalize icelander_A, icelander_N, icelandic_A and icelandic_N 2014-10-01 07:53:29 +00:00
kr.angelov a986997a22 remove ninth_A from the dictionaries 2014-10-01 07:49:24 +00:00
kr.angelov 3b2660d0fe capitalize nicaraguan_A and nicaraguan_N 2014-10-01 07:40:45 +00:00
kr.angelov aace5b3a8e capitalize trinidadian_A and trinidadian_N 2014-10-01 07:24:50 +00:00
kr.angelov 7b31ec7fec capitalize cambodian_A and cambodian_N in DictionaryEng 2014-10-01 07:07:05 +00:00
kr.angelov dee64838f4 bugfix in pgf_evaluate_expr_thunk 2014-09-30 17:34:29 +00:00
kr.angelov 8800d5af5b fix the adverbs for fast_A and hard_A 2014-09-30 16:42:33 +00:00
kr.angelov 0bdd599972 fix pgf_value2expr for partial applications 2014-09-30 13:46:46 +00:00
kr.angelov 8801915523 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 f124723236 add evaluator.c in Android.mk 2014-09-30 12:37:18 +00:00
kr.angelov ceb5b7bbf3 fix in reader.h for compiling jpgf.c 2014-09-30 11:25:27 +00:00
kr.angelov cdac80b6b2 fix in pgf_print_expr for lambda abstractions with more than one argument 2014-09-30 09:42:18 +00:00
kr.angelov 9fd8d5d019 bugfix in the gate evaluate_value_lambda 2014-09-30 08:42:06 +00:00
kr.angelov 2f7bd0306f minor stylistic change in GenerateBC 2014-09-29 15:08:00 +00:00
kr.angelov 698329f469 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 0d08417efe bugfix in the RET instruction 2014-09-29 13:04:49 +00:00
kr.angelov e2477d87bb fix in DictionaryEng.gf 2014-09-29 07:42:40 +00:00
kr.angelov 51320fad1b fix in DictionaryBul.gf 2014-09-29 07:40:46 +00:00
kr.angelov 1d7e976560 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 2cf55a0631 the literals API is now exposed in Python 2014-09-25 11:59:40 +00:00
kr.angelov 3064fc737e 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 25e8e4ce5a 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 4d6994ffde forgot to type check the type of a typed let expression 2014-09-17 22:25:08 +00:00
kr.angelov 4f23ed2289 appForm now skips over Typed expressions 2014-09-17 22:02:36 +00:00
kr.angelov ff45e7dd3a the type checker for the abstract syntax now allows let expressions in def rules, since they are easily compilable to byte code. This fails in the Haskell runtime since let expressions are not allowed as abstract syntax expressions. 2014-09-17 21:59:45 +00:00
kr.angelov db68456727 fix a portability problem with the Python binding (found by Prasanth) 2014-09-17 16:12:40 +00:00
kr.angelov e308f384de dummy jit_base_tail_finishr for x86_64. 2014-09-16 12:29:35 +00:00
kr.angelov 67d30ce861 fix screen_N in Swedish 2014-09-15 07:59:04 +00:00
kr.angelov 923ad6b3c0 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 5c0ef5c4ed now release the FunPtr:s that are allocated for each literal callback 2014-09-10 15:41:53 +00:00
kr.angelov d84d3b5763 added an API for custom literals in the Haskell binding 2014-09-10 14:56:18 +00:00
kr.angelov fb18482aeb added loadConcr/unloadConcr to the Haskell binding. This exposes an API for loading grammars compiled with -split-pgf 2014-09-10 14:35:54 +00:00
kr.angelov d7dc541f74 the code for def rules now uses proper graph update to preserve lazyness 2014-09-05 11:53:02 +00:00
kr.angelov 5e5ad8f2db full support for recursive def rules in the C runtime 2014-09-05 10:09:43 +00:00
kr.angelov 442dadf100 partial implementation for recursive def rules 2014-09-01 14:51:20 +00:00
kr.angelov 9adf01a91e bug fixes in the JIT compiler 2014-09-01 12:53:14 +00:00
kr.angelov fcef855ef0 add brikett in DictionarySwe 2014-08-30 10:51:09 +00:00
kr.angelov 9bc507f1d6 added evaluator.h which I had forgoten 2014-08-29 08:36:53 +00:00
kr.angelov 4d4bfbe5ec fix the paradigms for copper_N and honey_N in Bulgarian 2014-08-24 09:06:13 +00:00
kr.angelov ad60ce2941 more changes in DictionaryBul 2014-08-23 17:36:44 +00:00
kr.angelov c1eb76747c fixes in DictionaryBul 2014-08-23 17:33:45 +00:00
kr.angelov 14101a6fd7 bugfix in the android app 2014-08-22 12:33:35 +00:00
kr.angelov b53c9b1038 fixes in DictionaryBul.gf 2014-08-18 14:34:42 +00:00
kr.angelov 912225a5dd pattern matching in def rules is now supported 2014-08-11 15:53:41 +00:00
kr.angelov a18c1709f3 revert an accidental change that I pushed together with the last patch 2014-08-11 11:44:49 +00:00
kr.angelov 03b067782c 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 bf0b487a4c fix marquess_N, marquis_N in Eng,Bul,Fre 2014-08-07 19:09:02 +00:00
kr.angelov 0138869499 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 b3397f8071 bugfix for the typechecker in the C runtime 2014-07-08 19:19:48 +00:00
kr.angelov 153479e991 an API for visitor patterns on abstract syntax trees from Python. This makes the embedded grammars especially pleasing 2014-07-06 23:48:51 +00:00
kr.angelov a794ec5c42 small fix for the embedded mode in Python 2014-07-06 19:55:08 +00:00
kr.angelov 7afbff6fa8 embedded mode for GF grammar in Python. Only generation for now 2014-07-06 19:49:17 +00:00
kr.angelov 40bfaff8ce filter out the leading +/* from the parser tree 2014-07-03 18:27:39 +00:00
kr.angelov dde3e1ee73 bugfix in the ParseTreeView 2014-07-03 18:09:34 +00:00
kr.angelov 71b82c88a3 scroll bars for the ParseTreeView 2014-07-03 13:42:26 +00:00
kr.angelov ba1e95dacb Visualization for parse trees on Android 2014-07-02 11:30:06 +00:00
kr.angelov 42dea944d9 added bracketedLinearize in the Java binding 2014-07-02 07:08:01 +00:00
kr.angelov 410b7c78ce fixed rare memory leak in the Java bindings 2014-07-02 07:06:51 +00:00
kr.angelov b9ffc8ac00 a few changes in the Nerc that I have forgoten to push 2014-07-01 17:32:25 +00:00
kr.angelov 3843f5505e fix warnings in the compilation of the Java binding 2014-07-01 17:31:29 +00:00