krasimir
028de0468b
pgf_read should close the input file.
2015-12-22 09:29:14 +00:00
kr.angelov
9bc5349e62
change in the API for literals
...
The API in the C runtime as well as in the Haskell, Python and Java binding
is changed. Now instead of adding the literal callbacks to the concrete syntax
you need to supply them every time when you need to parse. The main reason is:
- referentially transparent API for Haskell
- when we start using memory mapped files we will not be allowed to change
anything in the grammar data structures. At that point the old API would
be impossible to use.
2014-12-16 10:21:26 +00:00
kr.angelov
f63e8faf00
remove pgf/parser.h
2014-11-27 11:12:14 +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
6c86e7fa91
replace the hash maps in the abstract syntax with binary search tables
2014-10-09 08:38:55 +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
1ca09448f9
now fully functional Java API for custom literals
2014-04-10 14:14:31 +00:00
kr.angelov
b0a74ddc59
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
d997df2864
pgf_read should open the grammar file in binary mode to prevent the Windows runtime from messing up the content.
2013-11-15 09:04:00 +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
fed16ca9e5
use linref in the C linearizer. The robust linearization is now fully supported
2013-10-30 21:43:52 +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
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
662a35bbb3
provide API to access the language code for the concrete language
2013-08-16 12:54:16 +00:00
kr.angelov
1e44fdb3d3
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
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
3c2d1890d0
patch for adjustable heuristics from Python
2013-06-26 07:36:03 +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
687b326ed0
bug fix in the management of memory pools in the statistical parser
2013-05-07 08:30:32 +00:00
kr.angelov
7ba27229b3
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
22f44ef61f
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
85efdf81e7
finally the statistical parser is able to return all possible abstract trees
2013-04-26 20:44:01 +00:00
kr.angelov
6a36ce77ff
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
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
5e2474e346
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
0aae4702ed
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
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
a28ccc965c
rename linearize.{h/c} to linearizer.{h/c} which follows the convention used in parser.c and reasoner.c
2012-12-19 09:17:24 +00:00
kr.angelov
14e721dda9
a top-level API for parsing in the C runtime
2012-12-13 14:44:33 +00:00
kr.angelov
aa13090b66
started an official API to the C runtime
2012-12-12 11:25:58 +00:00