Commit Graph

260 Commits

Author SHA1 Message Date
kr.angelov
357ddfb5d3 the symbol for nonExist in the GF runtime should be the last. this simplifies the binary search in the C runtime 2013-10-03 08:21:31 +00:00
kr.angelov
cedf848b5d fix the graphviz visualization after the introduction of nonExist and BIND 2013-09-30 10:38:28 +00:00
kr.angelov
c4f68adca9 better handling for nonExist in the C runtime. BIND is also supported in the linearizer but not in the parser yet 2013-09-30 10:25:39 +00:00
kr.angelov
efa4bc4d62 a major refactoring in the C and the Haskell runtimes. Note incompatible change in the PGF format!!!
The following are the outcomes:

   - Predef.nonExist is fully supported by both the Haskell and the C runtimes

   - Predef.BIND is now an internal compiler defined token. For now
     it behaves just as usual for the Haskell runtime, i.e. it generates &+.
     However, the special treatment will let us to handle it properly in 
     the C runtime.

   - This required a major change in the PGF format since both 
     nonExist and BIND may appear inside 'pre' and this was not supported
     before.
2013-09-27 15:09:48 +00:00
kr.angelov
a6e0ef76f1 remove pgf/edsl.h from the C runtime 2013-09-26 11:59:35 +00:00
kr.angelov
65ea8814aa fix the debug mode of the parser after the refactoring in libgu 2013-09-25 10:21:35 +00:00
kr.angelov
be8bf64eb2 added assertion in the JIT compiler which checks that we are not going outside of the compilation window 2013-09-25 07:53:10 +00:00
kr.angelov
aea67b8109 the PGF reader now releases strings that are not used after the loading 2013-09-18 08:26:11 +00:00
kr.angelov
f984bfeb24 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
d5438439dc remove leftcorner_cat_idx which is now redundant 2013-09-13 13:49:17 +00:00
kr.angelov
605772fda1 minor optimization/refactoring in the grammar reader 2013-09-13 11:02:17 +00:00
kr.angelov
239eb22df5 the leftcorner indexing is now completely removed since it slowed down the loading without speeding up parsing a lot 2013-09-13 10:26:33 +00:00
kr.angelov
40baee9068 fix the debug mode of the parser after the changes in the libgu API 2013-09-13 09:58:20 +00:00
kr.angelov
540de9c2d0 tiny optimization in pgf/reader 2013-09-13 09:50:44 +00:00
kr.angelov
fc038c5240 optimize the reading of strings in the grammar loader. 2013-09-13 08:28:20 +00:00
kr.angelov
d51b976d29 remove the logging from libgu 2013-09-12 09:30:02 +00:00
kr.angelov
d88084a2d5 enable the PGF JIT compiler for Android 2013-09-12 09:05:43 +00:00
kr.angelov
b3a644300c rewrite the ARM port of GNU lightning to a form compatible with the versions for the other CPUs 2013-09-11 20:17:50 +00:00
kr.angelov
fec8720f31 remove the string internalization since it slows down grammar loading with little benefit 2013-09-05 13:34:49 +00:00
kr.angelov
83ca6c4f9f remove the read and write modules from libgu. this simplifies the i/o layer 2013-09-05 11:20:39 +00:00
kr.angelov
d0f527d0dd remove dump and yaml from libgu 2013-09-05 10:01:47 +00:00
kr.angelov
d62cf1363c added make file for compiling the C runtime for Android. The JIT compiler for Android is temporary disabled 2013-09-04 11:56:47 +00:00
kr.angelov
49c7a029b6 remove the dependency on the HAVE_STATEMENT_EXPRESSIONS flag. This reduces the dependency on the ./configure script 2013-09-04 10:06:07 +00:00
kr.angelov
d91762239b slight optimization for the linearizer in the C runtime 2013-09-04 07:11:14 +00:00
kr.angelov
783b0a0773 bugfix in the robust linearizer 2013-09-04 07:05:27 +00:00
kr.angelov
39b82041ea bugfix which caused the runtime to crash on Android 2013-08-28 15:19:39 +00:00
kr.angelov
288bcafb79 nonExist now does the expected thing 2013-08-23 13:17:45 +00:00
kr.angelov
68b6e97251 fix in the C parser 2013-08-21 13:09:21 +00:00
kr.angelov
2d4f17e30c word completion in the C runtime now returns multi-word expressions and the category for every expression 2013-08-19 15:34:19 +00:00
kr.angelov
37b9ed9236 fullFormLexicon in C and Python 2013-08-19 12:16:30 +00:00
kr.angelov
a8ded63c95 implemented lookupMorpho for C and Python 2013-08-16 15:02:24 +00:00
kr.angelov
795df19bfe provide API to access the language code for the concrete language 2013-08-16 12:54:16 +00:00
kr.angelov
b08925fd3d fixes in the C and Python API to make them closer to the Haskell API 2013-08-16 12:44:37 +00:00
kr.angelov
2fc9294f6e added graphvizParseTree in the C and Python runtimes 2013-08-15 15:10:28 +00:00
kr.angelov
0496dec923 graphvizAbstractTree in the C and Python runtimes 2013-08-15 08:06:37 +00:00
kr.angelov
f1d407de09 added untested port of GNU lightning to ARM 2013-08-01 12:07:06 +00:00
kr.angelov
4f7369f714 the parser in the C runtime now checks for duplicated results 2013-07-03 12:30:30 +00:00
kr.angelov
96ea257fa3 complete pgf_expr_eq in the C runtime 2013-07-02 20:12:57 +00:00
kr.angelov
6971642cc7 hash function for abstract syntax trees 2013-07-02 19:12:53 +00:00
kr.angelov
1b41792237 C runtime: fix the debug modes in the parser and in the reasoner after the changes in the printer 2013-06-27 11:00:26 +00:00
kr.angelov
0d68a20d94 a complete Python API for reading, printing and manipulation of abstract trees and types. This includes dependent types, high-order abstract syntax and implicit arguments 2013-06-27 09:39:15 +00:00
kr.angelov
03690ccc4b we no longer maintain an explicit list of functions per category since now it is implicitly kept in the JIT compiled code 2013-06-26 09:35:50 +00:00
kr.angelov
b47dfd9dbb forgot to add reasoner.h 2013-06-26 09:09:54 +00:00
kr.angelov
67872578c9 forgot to add jit.h 2013-06-26 09:08:47 +00:00
kr.angelov
c873531172 an optimization in the jitter for generating more compact code 2013-06-26 09:03:51 +00:00
kr.angelov
dba75911b0 patch for adjustable heuristics from Python 2013-06-26 07:36:03 +00:00
kr.angelov
966d3aee3f compatibility issue for MacOS X 2013-06-26 07:03:32 +00:00
kr.angelov
38b3dfcad6 fix for x86_64 2013-06-26 06:43:33 +00:00
kr.angelov
16584d4368 Now there is a just-in-time compiler which generates native code for proof search. This is already used by the exhaustive generator. The time to generate 10000 abstract trees with ParseEng went down from 4.43 sec to 0.29 sec. 2013-06-25 19:22:42 +00:00
kr.angelov
10eb9dedb6 bugfix for the linearizer in the C runtime 2013-06-24 07:56:42 +00:00