summaryrefslogtreecommitdiff
path: root/src/runtime/python/pypgf.c
AgeCommit message (Collapse)Author
2017-08-07the linearizer API now allows to detect metavariables. This is used for ↵Krasimir Angelov
instancein the lookup where the tokens produced from the metavariables are interpreted as distinct from all other tokens.
2017-05-11bugfix for print names in the C runtime and expose the functionality from Javakrasimir
2017-04-19make some of the functions in the Python binding statickrasimir
2017-04-13use gu_string_buf_data in the Python binding to avoid copyingkrasimir
2017-04-13gu_string_buf -> gu_new_string_buf in libgukrasimir
2017-01-26now the Python API also accepts types as start categories. Using a string is ↵krasimir
still ok.
2017-01-26bring the Haskell binding a bit closer to the pure Haskell APIkrasimir
2016-08-01python2 is now supported. the patch is based on a contribution from Vinit ↵krasimir
Ravishankar
2016-08-01two memory leaks in the Python bindingskrasimir
2016-06-16bugfix in the load method in the Python binding. The file was never closed.krasimir
2016-05-20change the API for literals in Java and Python. The input sentence is no ↵krasimir
longer a parameter to the callbacks.
2015-12-18fix in the Python binding. The input sentence to the parser needs to be ↵krasimir
copied since otherwise the Python string may be discarded the garbage collector
2015-09-30added bracketedLinearizeAll in Pythonkrasimir
2015-08-12pickling/unpickling for typeskrasimir
2015-08-12support for transparent pickling/unpickling of abstract expressions in Pythonkrasimir
2015-07-03merge the states for reasoning and evaluation into a single structurekrasimir
2015-05-18the callbacks in C now take the concrete syntax as a parameterkrasimir
2015-04-27fix a memory management error in linearizeAll in the python binding. a new ↵krasimir
temporary pool is used on every iteration to keep memory allocation to constant
2015-04-27fix warning in the Python bindingkrasimir
2015-04-27mark two more functions as static in the Python bindingkrasimir
2015-04-27Python linearizeAll with lazynessprasanth.kolachina
linearizeAll function will take an expression and an optional n keyword argument and return an iterator to the n-variant linearizations of the expression.
2015-01-05fix the reference counting for callbacks in Pythonkr.angelov
2014-12-16change in the API for literalskr.angelov
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-10-22CAPIT is now naturally supported in the C runtimekr.angelov
2014-10-22make the fields of BracketedString in the Python binding read/writekr.angelov
2014-10-09throw away the long obsolete runtime type information in the C runtimekr.angelov
2014-09-25the literals API is now exposed in Pythonkr.angelov
2014-09-17fix a portability problem with the Python binding (found by Prasanth)kr.angelov
2014-07-08implemented computing with abstract syntax trees. It passes all test cases ↵kr.angelov
except those that require def rules. The design is consistent with the STG virtual machine
2014-07-06an API for visitor patterns on abstract syntax trees from Python. This makes ↵kr.angelov
the embedded grammars especially pleasing
2014-07-06small fix for the embedded mode in Pythonkr.angelov
2014-07-06embedded mode for GF grammar in Python. Only generation for nowkr.angelov
2014-05-22small fix in tabularLinearizekr.angelov
2014-05-22added tabularLinearize in the python bindingkr.angelov
2014-03-20added hasLinearization method in the Python bindingkr.angelov
2014-03-20fix in the Python binding which was forgoten after a change in the C runtimekr.angelov
2014-03-12compute the right word probabilitykr.angelov
2013-12-10loading and unloading of languages in the C runtime and in the Python bindingskr.angelov
2013-11-20fix in the Python bindingkr.angelov
2013-11-04A simple type checker in the C runtime. Dependent types are not supported ↵kr.angelov
yet but HOAS is implemented. The API is accessible from Python as well
2013-10-31bracketedLinearize in Python is now using the linrefkr.angelov
2013-10-09a major redesign in the C runtime. The parser and the linearizer now fully ↵kr.angelov
support BIND. The following things are still broken: parseval, word completion, handling 'pre', the robust mode
2013-10-04GuString is now an ordinary C string - it makes live easier. In addition ↵kr.angelov
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-09-30fix the bracketed linearization in Python after the introduction of nonExist ↵kr.angelov
and BIND
2013-09-30better handling for nonExist in the C runtime. BIND is also supported in the ↵kr.angelov
linearizer but not in the parser yet
2013-09-27a major refactoring in the C and the Haskell runtimes. Note incompatible ↵kr.angelov
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-24a small fix in the python binding after the refactoring in the C runtimekr.angelov
2013-09-05remove the read and write modules from libgu. this simplifies the i/o layerkr.angelov
2013-08-21fix a crash in the python bindingkr.angelov
2013-08-19word completion in the C runtime now returns multi-word expressions and the ↵kr.angelov
category for every expression