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
1ca09448f9
now fully functional Java API for custom literals
2014-04-10 14:14:31 +00:00
kr.angelov
348c9c4233
bugfix in the C runtime
2014-04-10 07:42:49 +00:00
kr.angelov
d9f4c1598c
a quick hack to enable the NERC from bindings. This should be made available from the API but for now I just hacked the C runtime
2014-04-10 07:27:07 +00:00
kr.angelov
911ae42296
small fixes in the C runtime
2014-03-25 13:57:57 +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
a01e248ae6
make sure that pgf_concrete_load has no effect on grammars that are completely loaded
2013-12-17 13:57:16 +00:00
kr.angelov
0ece8f19ab
loading and unloading of languages in the C runtime and in the Python bindings
2013-12-10 15:00:52 +00:00
kr.angelov
b3149b7897
pgf_reader_done should do nothing if the reading has failed
2013-11-15 08:59:18 +00:00
kr.angelov
0095119ec0
added Predef.SOFT_BIND. This special token allows zero or more spaces between ordinary tokens. It is also used in the English RGL to attach the commas to the previous word.
2013-11-12 09:54:57 +00:00
kr.angelov
af4a1f628d
factor of 3 speedup for the translation without slowing down the grammar loading. The parser still seems to be 8 times slower than before I introduced the BIND. At least the Android UI now feels a lot more comfortable
2013-11-07 11:14:32 +00:00
kr.angelov
2483dc7728
the content of ParseEngAbs3.probs is now merged with ParseEngAbs.probs. The later is now retrained. Once the grammar is compiled with the .probs file now it doesn't need anything more to do robust parsing. The robustness itself is controlled by the flags 'heuristic_search_factor', 'meta_prob' and 'meta_token_prob' in ParseEngAbs.gf
2013-11-06 10:21:46 +00:00
kr.angelov
042243f08a
added the linref construction in GF. The PGF version number is now bumped
2013-10-30 12:53:36 +00:00
kr.angelov
151f86c1e9
fix the handling of 'pre' in the C runtime
2013-10-28 12:35:37 +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
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
426bc49a52
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
c08f42ce9f
the PGF reader now releases strings that are not used after the loading
2013-09-18 08:26:11 +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
470eb46e96
remove leftcorner_cat_idx which is now redundant
2013-09-13 13:49:17 +00:00
kr.angelov
c721c5548e
minor optimization/refactoring in the grammar reader
2013-09-13 11:02:17 +00:00
kr.angelov
ba60e6f0e4
tiny optimization in pgf/reader
2013-09-13 09:50:44 +00:00
kr.angelov
2e8f055164
optimize the reading of strings in the grammar loader.
2013-09-13 08:28:20 +00:00
kr.angelov
2105188bd0
enable the PGF JIT compiler for Android
2013-09-12 09:05:43 +00:00
kr.angelov
14f8b96b56
remove the string internalization since it slows down grammar loading with little benefit
2013-09-05 13:34:49 +00:00
kr.angelov
7c0bad5092
remove the read and write modules from libgu. this simplifies the i/o layer
2013-09-05 11:20:39 +00:00
kr.angelov
35a98594be
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
805f95eac6
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
a20cd77d25
nonExist now does the expected thing
2013-08-23 13:17:45 +00:00
kr.angelov
155afdf9b7
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
d1410aba22
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
d553cb165a
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
85efdf81e7
finally the statistical parser is able to return all possible abstract trees
2013-04-26 20:44:01 +00:00
kr.angelov
f050609101
added API for computing bracketed strings from Python and C
2013-04-18 13:37:09 +00:00
kr.angelov
13de2fafb4
bugfix in the grammar reader in the C runtime
2013-02-19 12:04:10 +00:00
kr.angelov
d124fa9a12
refactoring: now all named objects in the C runtime have an explicit name field
2013-02-11 14:10:54 +00:00
kr.angelov
90c3304147
remove the pgf2yaml tool which was both broken and redundant. The declarations for generic programming from data.c are removed as well
2013-02-11 13:51:12 +00:00
kr.angelov
10ef298fa0
the grammar reader in the C runtime is completely rewritten and it doesn't use the generic programming API
2013-02-11 10:16:58 +00:00
kr.angelov
2c169406fc
a new reasoner in the C runtime. It supports tabling which makes it decideable for propositional logic. dependent types and high-order types are not supported yet. The generation is still in decreasing probability order
2013-01-07 12:50:32 +00:00
kr.angelov
490a3f2286
a major reimplementation of the linearizer in the C runtime
2012-12-19 09:07:05 +00:00
kr.angelov
aa13090b66
started an official API to the C runtime
2012-12-12 11:25:58 +00:00
kr.angelov
c679b08b38
use prob_t instead of float in a few places
2012-10-29 08:52:56 +00:00
kr.angelov
d185938952
a major refactoring in the robust parser: bottom-up filtering and garbage collection for the chart
2012-10-25 14:42:53 +00:00
kr.angelov
bf49f3c246
now the meta probability for a category is explicitly specified in the statistical model instead of computed internally. this avoids rounding errors while computing the sum of a large number of small values.
2012-09-24 09:37:21 +00:00
kr.angelov
a307ed6c75
the C runtime now has a type prob_t which is used only for probability values
2012-09-18 09:18:48 +00:00
kr.angelov
86b5ec7447
bugfix in the C parser
2012-09-06 14:52:19 +00:00
kr.angelov
c9c5675e1d
now there is a limit of 2000000 items in the chart of the robust parser. This prevents from explosion in the memory size but it will also prevent us from parsing some sentences.
2012-06-12 11:30:01 +00:00
kr.angelov
b27a440ef3
now the robust parser is purely top-down and the meta rules compete on a fair basis with the grammar rules
2012-06-12 09:29:51 +00:00
kr.angelov
a6800fc0da
a new unbiased statistical parser. it is still far from perfect use it on your own risk.
2012-05-08 12:13:28 +00:00