Commit Graph
100 Commits
Author SHA1 Message Date
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 b5cc77aea1 yet another bugfix in the byte code 2014-10-14 10:39:28 +00:00
kr.angelov 37bd8dd9fd another bugfix in the byte code generation 2014-10-14 09:43:43 +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 2b881397c5 a refactoring in the Susanne converter which for some reason was not pushed before 2014-10-10 12:10:44 +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 35333385b6 bugfix in the byte code compiler 2014-10-07 20:03:54 +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 b7798f9348 add evaluator.c in Android.mk 2014-09-30 12:37:18 +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
kr.angelov f70eecb63c minor stylistic change in GenerateBC 2014-09-29 15:08:00 +00:00
kr.angelov 80acad4447 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 1ecd61f7f5 bugfix in the RET instruction 2014-09-29 13:04:49 +00:00
kr.angelov 87c5c4b0cc 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 7036d56d29 the literals API is now exposed in Python 2014-09-25 11:59:40 +00:00
kr.angelov 8e64fc6e7e 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 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 3ced115807 forgot to type check the type of a typed let expression 2014-09-17 22:25:08 +00:00
kr.angelov e34d5b0409 appForm now skips over Typed expressions 2014-09-17 22:02:36 +00:00
kr.angelov a5f81ff81c 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 818896dec2 fix a portability problem with the Python binding (found by Prasanth) 2014-09-17 16:12:40 +00:00
kr.angelov 3e3178abfa dummy jit_base_tail_finishr for x86_64. 2014-09-16 12:29:35 +00:00
kr.angelov 621d748bac 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 df0602723d now release the FunPtr:s that are allocated for each literal callback 2014-09-10 15:41:53 +00:00
kr.angelov 80725e872b added an API for custom literals in the Haskell binding 2014-09-10 14:56:18 +00:00
kr.angelov b553729f37 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 4d28c7632e the code for def rules now uses proper graph update to preserve lazyness 2014-09-05 11:53:02 +00:00
kr.angelov 86b5f78c57 full support for recursive def rules in the C runtime 2014-09-05 10:09:43 +00:00
kr.angelov bfd414554d partial implementation for recursive def rules 2014-09-01 14:51:20 +00:00
kr.angelov 342f6e3797 bug fixes in the JIT compiler 2014-09-01 12:53:14 +00:00
kr.angelov cee5f590ca added evaluator.h which I had forgoten 2014-08-29 08:36:53 +00:00
kr.angelov a39647d771 bugfix in the android app 2014-08-22 12:33:35 +00:00
kr.angelov c30e2df228 pattern matching in def rules is now supported 2014-08-11 15:53:41 +00:00
kr.angelov d3b9652b81 revert an accidental change that I pushed together with the last patch 2014-08-11 11:44:49 +00:00
kr.angelov 584d589041 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 0222d2440c 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 e0fe6d01c4 bugfix for the typechecker in the C runtime 2014-07-08 19:19:48 +00:00
kr.angelov ada85ae44e 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 85672af858 small fix for the embedded mode in Python 2014-07-06 19:55:08 +00:00
kr.angelov e52d5bf715 embedded mode for GF grammar in Python. Only generation for now 2014-07-06 19:49:17 +00:00
kr.angelov 7ad2f7dac3 filter out the leading +/* from the parser tree 2014-07-03 18:27:39 +00:00
kr.angelov aa746ad0f6 bugfix in the ParseTreeView 2014-07-03 18:09:34 +00:00
kr.angelov 272a8487f8 scroll bars for the ParseTreeView 2014-07-03 13:42:26 +00:00
kr.angelov e0fa954256 Visualization for parse trees on Android 2014-07-02 11:30:06 +00:00
kr.angelov abb50f9c73 added bracketedLinearize in the Java binding 2014-07-02 07:08:01 +00:00
kr.angelov 4a7055e994 fixed rare memory leak in the Java bindings 2014-07-02 07:06:51 +00:00
kr.angelov 064cf03005 a few changes in the Nerc that I have forgoten to push 2014-07-01 17:32:25 +00:00
kr.angelov 7aa8bf4150 fix warnings in the compilation of the Java binding 2014-07-01 17:31:29 +00:00
kr.angelov 9e94fca20b estimate the new values in app.probs as best as I can given the many grammar changes that were not reflected 2014-06-19 10:55:53 +00:00
kr.angelov fa33096e6d a small change in the keyboard layout for Android to make it more user friendly 2014-06-18 09:51:44 +00:00
kr.angelov b41a8a1c16 filter out identical duplicated translations from the Android UI 2014-06-18 09:17:33 +00:00
kr.angelov fe49ddf16d now the named entities recognizer returns dictionary entries if the name is known 2014-06-17 06:57:12 +00:00
kr.angelov b3f8b90f2b fixed memory leak in the Haskell binding to the C runtime 2014-06-16 08:49:13 +00:00
kr.angelov 3d43c2687f swith off the debugging in the android ui 2014-06-12 09:37:40 +00:00
kr.angelov 86201df35c now GF keywords can be used as identifiers if they are quoted 2014-06-12 09:36:32 +00:00
kr.angelov 67f64cb233 now we compile context-free grammars directly to PGF without going via GF source code. This makes it quick and lightweight to compile big grammars such as the Berkley grammar 2014-05-24 07:47:06 +00:00
kr.angelov dbb4fdd0f7 bugfix in the Java binding. it was causing a crash in the Android app 2014-05-23 10:52:00 +00:00
kr.angelov 333e537e72 small fix in tabularLinearize 2014-05-22 13:33:18 +00:00
kr.angelov 757db06ba0 added tabularLinearize in the python binding 2014-05-22 13:30:14 +00:00
kr.angelov df80a2042b bugfix: the keyboard should not show completions when entering web passwords 2014-05-22 07:25:33 +00:00
kr.angelov 32fe1d8453 the dictionary view in the app now filters out duplicated morphological analyses 2014-05-22 07:10:28 +00:00
kr.angelov e6fa0662e4 forgot to fix the path for AppFre.gf 2014-05-21 09:36:12 +00:00
kr.angelov 75475b579d in verbosity mode the compiler warns about missing paths 2014-05-21 07:33:35 +00:00
kr.angelov f3f0e7abd5 fix the path in the App grammar to the Phrasebook 2014-05-21 07:30:01 +00:00
kr.angelov 41c8749b5c fix the literals API in Java for strings with non-latin characters 2014-05-08 14:56:46 +00:00
kr.angelov 58d0cdc943 fix memory leak in the Haskell binding 2014-05-08 08:41:58 +00:00
kr.angelov d278965095 an initial Java/C API for predicting literals. Still not utilized 2014-04-25 08:53:18 +00:00
kr.angelov 3a0da12e3d remove dead code to avoid warnings 2014-04-24 19:21:00 +00:00
kr.angelov aefaed2056 make the input box in the conversation view self-adjustable when entering longer text 2014-04-24 19:18:28 +00:00
kr.angelov 2c9906336d a better solution for restoring the state of the main activity when the device is flipped. This one doesn't require hacks. 2014-04-24 18:50:20 +00:00
kr.angelov 6808c3c982 a small fix to avoid showing * in some translations 2014-04-24 08:03:29 +00:00
kr.angelov 81c2184923 show the alternative translations in color 2014-04-24 08:00:52 +00:00
kr.angelov 5f7ca26002 show the probabilities for the alternative translations 2014-04-24 07:44:47 +00:00
kr.angelov b2f5d97315 bugfix in the word completion in the input method 2014-04-24 07:27:34 +00:00
kr.angelov 80e9b1e6b9 fix typo in the help file 2014-04-24 07:08:06 +00:00
kr.angelov 43706445be finally: the conversation view is now no longer cleared up everytime when the device is flipped 2014-04-23 20:27:46 +00:00