Commit Graph

95 Commits

Author SHA1 Message Date
krasimir
e95fa06133 bugfix in the load method in the Python binding. The file was never closed. 2016-06-16 08:02:06 +00:00
krasimir
694cdffa72 change the API for literals in Java and Python. The input sentence is no longer a parameter to the callbacks. 2016-05-20 15:20:02 +00:00
krasimir
14769484a5 fix in the Python binding. The input sentence to the parser needs to be copied since otherwise the Python string may be discarded the garbage collector 2015-12-18 19:46:59 +00:00
krasimir
a335785f19 added bracketedLinearizeAll in Python 2015-09-30 08:35:09 +00:00
krasimir
db07275527 pickling/unpickling for types 2015-08-12 10:11:00 +00:00
krasimir
d21b9e52d8 support for transparent pickling/unpickling of abstract expressions in Python 2015-08-12 09:21:23 +00:00
krasimir
85e6e017af merge the states for reasoning and evaluation into a single structure 2015-07-03 11:53:52 +00:00
krasimir
3ebadcbc3b the callbacks in C now take the concrete syntax as a parameter 2015-05-18 14:41:33 +00:00
krasimir
be8302febe fix a memory management error in linearizeAll in the python binding. a new temporary pool is used on every iteration to keep memory allocation to constant 2015-04-27 19:27:11 +00:00
krasimir
b115b97718 fix warning in the Python binding 2015-04-27 18:33:18 +00:00
krasimir
add8c83d93 mark two more functions as static in the Python binding 2015-04-27 18:24:21 +00:00
prasanth.kolachina
93ab6c79d4 K translations in pipeline 2015-04-27 15:59:49 +00:00
prasanth.kolachina
fd566e123a K Linearizations 2015-04-27 15:59:25 +00:00
prasanth.kolachina
a82d8c9ea6 Python linearizeAll with lazyness
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-04-27 15:47:57 +00:00
prasant.kolachina
e9474e2a3f remove parsing for long sentences, to stop pipeline from crashing/hanging 2015-04-27 13:05:14 +00:00
prasant.kolachina
beedd6dbb7 bug fix in python examples 2015-04-26 11:00:17 +00:00
prasant.kolachina
20a234521e bug fix python examples 2015-04-26 10:18:21 +00:00
prasant.kolachina
db2d012fe5 Bug fix python examples 2015-04-26 10:16:23 +00:00
prasanth.kolachina
c43af4d991 Changes in lexer 2015-04-26 07:44:18 +00:00
prasanth.kolachina
c921136a9b Bug fix in gf_utils 2015-04-24 18:46:03 +00:00
prasanth.kolachina
98bfbd8d60 No debug messages 2015-04-22 18:51:55 +00:00
prasanth.kolachina
a57b9b9275 Minor bug in pgf parse and kparse 2015-04-22 18:49:49 +00:00
prasanth.kolachina
b18669992d README for Python translation pipeline 2015-04-22 13:14:26 +00:00
prasanth.kolachina
6ad6763a7f Cleaned up Python Translation pipeline 2015-04-22 11:30:26 +00:00
prasanth.kolachina
4c103be4de Examples for using Python bindings
The examples directory contains two modules for using Python bindings in GF.
The gf_utils module provides various Python functions to perform parsing
and linearization using the C runtime. Additionally, the translation_pipeline
module is an replica of the current pipeline used in the Wide-coverage
Web translation pipeline.
2015-04-22 07:04:21 +00:00
kr.angelov
6acf100ab1 fix the reference counting for callbacks in Python 2015-01-05 11:24:00 +00:00
kr.angelov
9b7e18c25e 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
3a95d733dd CAPIT is now naturally supported in the C runtime 2014-10-22 15:05:55 +00:00
kr.angelov
54b9b89921 make the fields of BracketedString in the Python binding read/write 2014-10-22 12:18:07 +00:00
kr.angelov
57f7b61c6b throw away the long obsolete runtime type information in the C runtime 2014-10-09 13:44:26 +00:00
kr.angelov
2cf55a0631 the literals API is now exposed in Python 2014-09-25 11:59:40 +00:00
kr.angelov
db68456727 fix a portability problem with the Python binding (found by Prasanth) 2014-09-17 16:12:40 +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
153479e991 an API for visitor patterns on abstract syntax trees from Python. This makes the embedded grammars especially pleasing 2014-07-06 23:48:51 +00:00
kr.angelov
a794ec5c42 small fix for the embedded mode in Python 2014-07-06 19:55:08 +00:00
kr.angelov
7afbff6fa8 embedded mode for GF grammar in Python. Only generation for now 2014-07-06 19:49:17 +00:00
hallgren
7b1ad9de51 build-binary-dist.sh: updated to include the Python binding to the C run-time
There are also some changes in src/runtime/python/setyp.py to support this.
2014-06-18 16:09:46 +00:00
kr.angelov
2c04554be5 small fix in tabularLinearize 2014-05-22 13:33:18 +00:00
kr.angelov
c2aad9e313 added tabularLinearize in the python binding 2014-05-22 13:30:14 +00:00
kr.angelov
b33c163068 added hasLinearization method in the Python binding 2014-03-20 14:48:47 +00:00
kr.angelov
132612365a fix in the Python binding which was forgoten after a change in the C runtime 2014-03-20 14:48:02 +00:00
kr.angelov
1a1e7cdb2e compute the right word probability 2014-03-12 15:36:40 +00:00
kr.angelov
6028a63b42 loading and unloading of languages in the C runtime and in the Python bindings 2013-12-10 15:00:52 +00:00
kr.angelov
b255f19b63 fix in the Python binding 2013-11-20 09:54:37 +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
8f565302cc bracketedLinearize in Python is now using the linref 2013-10-31 09:04:07 +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
573654e125 fix the bracketed linearization in Python after the introduction of nonExist and BIND 2013-09-30 11:49:51 +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