Commit Graph

67 Commits

Author SHA1 Message Date
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
kr.angelov
efa4bc4d62 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
a1a4f7a1c1 a small fix in the python binding after the refactoring in the C runtime 2013-09-24 09:14:43 +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
john
e769d5db29 Add INSTALL file for python bindings. Add note about libtool to INSTALL of c runtime 2013-08-23 13:06:58 +00:00
kr.angelov
8df07fdeb5 change the locale in the test script for the Python binding 2013-08-21 13:17:39 +00:00
kr.angelov
3ff910a0e9 fix a crash in the python binding 2013-08-21 12:47:40 +00:00
kr.angelov
2d4f17e30c word completion in the C runtime now returns multi-word expressions and the category for every expression 2013-08-19 15:34:19 +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
2fc9294f6e added graphvizParseTree in the C and Python runtimes 2013-08-15 15:10:28 +00:00
kr.angelov
0496dec923 graphvizAbstractTree in the C and Python runtimes 2013-08-15 08:06:37 +00:00
kr.angelov
51da6e1b2a the hash function for pgf.Expr is now really added 2013-07-05 05:35:22 +00:00
kr.angelov
5dc59f815c typos in the documentation for the Python binding 2013-06-27 10:11:49 +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
6ff0b90a33 dummy compute function in the Python binding 2013-06-26 10:36:42 +00:00
kr.angelov
dba75911b0 patch for adjustable heuristics from Python 2013-06-26 07:36:03 +00:00
kr.angelov
e720d47700 fíx in the Python binding for compatibility with Python<2.7 2013-06-19 19:31:55 +00:00
kr.angelov
eece31c1ab fix an issue in the Python binding related to the 32 vs 64 bit compatibility 2013-06-19 18:47:52 +00:00
kr.angelov
c3b344084f bugfix in the python binding 2013-06-14 07:02:53 +00:00
kr.angelov
1b791158af now the call Expr.unpack("? e1 e2") in Python returns a pair with None as the first element and a the list [e1,e2] as the second. This makes it easier to decompose partial abstract trees 2013-05-31 09:24:15 +00:00
kr.angelov
3566143f37 improved error message in the Python binding 2013-05-31 09:13:16 +00:00
kr.angelov
d66dfe13c2 a simple refactoring in the Python runtime 2013-05-29 11:02:18 +00:00
kr.angelov
fac39a78fe readPGF in the Python runtime now throws "No such file or directory" exception if the grammar is missing 2013-05-29 10:49:56 +00:00
kr.angelov
78aab96369 fix the encoding problem with unicode literals in the Python binding 2013-05-21 10:53:20 +00:00
kr.angelov
f9f0fdcdf8 bugfix for bracketedLinearize which was causing crash if the tree cannot be linearized 2013-05-07 08:35:33 +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