1
0
forked from GitHub/gf-core
Commit Graph

36 Commits

Author SHA1 Message Date
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
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
7afbff6fa8 embedded mode for GF grammar in Python. Only generation for now 2014-07-06 19:49:17 +00:00
kr.angelov
b21f2c04e1 an initial Java/C API for predicting literals. Still not utilized 2014-04-25 08:53:18 +00:00
kr.angelov
a9ebeaea44 now fully functional Java API for custom literals 2014-04-10 14:14:31 +00:00
kr.angelov
a77dc568bb added pgf_lookup_word_prefix which makes it possible to do simple word prediction 2014-03-07 21:24:20 +00:00
kr.angelov
3509a8d4cc added API in the C runtime and the Java binding for checking whether a given function is linearizable in a given language. This is used in the Android UI for better vizualizations 2013-11-27 12:35:11 +00:00
kr.angelov
b255f19b63 fix in the Python binding 2013-11-20 09:54:37 +00:00
kr.angelov
475f213c99 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
81ef6714db A simple type checker in the C runtime. Dependent types are not supported yet but HOAS is implemented. The API is accessible from Python as well 2013-11-04 17:10:46 +00:00
kr.angelov
c98a9a3266 tabular linearization in the C and Java runtimes 2013-10-23 14:49:28 +00:00
kr.angelov
b058fdd17d 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
2f78333e28 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
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
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
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
dba75911b0 patch for adjustable heuristics from Python 2013-06-26 07:36:03 +00:00
kr.angelov
561e478ed4 the statistical parser is now using two memory pools: one for parsing and one for the output trees. This means that the memory for parsing can be released as soon as the needed abstract trees are retrieved, while the trees themselves are retained in the separate output pool 2013-05-06 15:28:04 +00:00
kr.angelov
9cdd96363a word completion in the C runtime. The runtime/python/test.py example is now using readline with word completion 2013-05-01 06:09:55 +00:00
kr.angelov
15fd8b15ab the C runtime and the Python binding now have an API for parser evaluation. The API computes PARSEVAL and Exact Match for a given tree. As a side effect the abstract trees in Python are now compared for equality by value and not by reference 2013-04-19 10:57:46 +00:00
kr.angelov
a6b35a9053 the class PgfConcr from the Python binding now has a property name which returns the name of the concrete syntax 2013-02-11 15:51:26 +00:00
kr.angelov
56c8f91d19 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
e9b5557c6c This patch removes Gregoire's parse_tokens function in the python binding and adds another implementation which builds on the existing API for lexers in the C runtime. Now it is possible to write incremental Lexers in Python 2013-02-01 09:29:43 +00:00
gregoire.detrez
459a9a855b Python binding: add a parsing function that accepts directly a list of tokens.
Is allows to define a tokenizer in python (or use an existing one, from nltk for instance.)
2013-01-24 13:31:34 +00:00
kr.angelov
8aefd1e072 The first prototype for exhaustive generation in the C runtime. The trees are always listed in decreasing probability order. There is also an API for generation from Python 2012-12-14 15:32:49 +00:00
kr.angelov
2ba632dc9f a top-level API for parsing in the C runtime 2012-12-13 14:44:33 +00:00
kr.angelov
1376df457d started an official API to the C runtime 2012-12-12 11:25:58 +00:00
kr.angelov
9721833680 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
7549a4876d 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
b765b0c054 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
bd8046f23d another attempt to port the robust parser to MacOS 2012-05-16 15:18:44 +00:00
kr.angelov
64a00dad48 added an API for printing the PGF to human readable format 2012-01-21 10:27:55 +00:00
kr.angelov
a369d3bdac initial import of the C runtime 2012-01-20 13:41:10 +00:00