krangelov
3acb7d2da4
silence harmless warnings
2022-08-12 10:54:43 +02:00
krangelov
08fb29e6b8
fix the reference counting for pgf.BIND
2022-08-12 10:51:56 +02:00
Krasimir Angelov
a42cec2107
support for BIND tokens in the Python bindings
2022-07-16 20:29:36 +02:00
krangelov
8fbfc0b4a9
bracketedLinearize now reports the binding spots just like the Haskell binding
2021-02-26 14:58:31 +01:00
krangelov
23edeec5a9
added an API for cloning expressions/types/literals
2020-08-14 20:54:15 +02:00
krangelov
0ad1c352fe
expose lookupCohorts in Python
2020-05-20 16:12:50 +02:00
Johan Dahlin
589c358389
Expose PGF/Concr/Iter/Bracket
...
Expose the remaining types in the module.
These are helpful for example in type annotations.
2020-04-01 21:37:13 -03:00
krangelov
f22bd70585
The APIs for callbacks and the bracketed strings now use a string for the analysis intead of an integer. This is now consistent with lookupMorpho and friends
2020-03-05 11:58:21 +01:00
krangelov
2ab9fee8e4
Python 3 literal callbacks will receive offsets in number of characters instead of bytes
2020-01-17 12:41:54 +01:00
krangelov
dbb09cc689
remove bogus comment
2019-12-07 21:59:41 +01:00
krangelov
bb298fadbe
silence warnings in the Python bindings
2019-12-07 10:27:06 +01:00
Krasimir Angelov
1c04fa4897
the parser for abstract expressions in the C runtime now supports partial parses
2017-09-28 13:57:13 +02:00
Krasimir Angelov
06ec6b3e92
added a method in Python for pretty printing a grammar
2017-09-26 09:16:48 +02:00
Krasimir Angelov
527d97fdd2
fix the type signatures for the linearizer callbacks
2017-09-08 22:58:42 +02:00
Krasimir Angelov
301b100988
word completion in the C parser now returns information about the function which generates the token
2017-09-06 14:37:51 +02:00
Krasimir Angelov
15d014abb8
the parser in the C runtime can now detect incomplete sentences just like the parser in the Haskell runtime. This is also reflected in all bindings.
2017-09-06 12:38:42 +02:00
Krasimir Angelov
eaf9f0c3ac
the C runtime now supports the same customizations for GraphViz as the Haskell runtime
2017-08-31 10:58:49 +02:00
Krasimir Angelov
a0fc2f28e8
more in the runtime documentation
2017-08-28 14:23:47 +02:00
Krasimir Angelov
dfc32b9616
lookupSentence is now available from Python
2017-08-20 20:21:33 +02:00
Krasimir Angelov
a8eeb49767
the linearizer API now allows to detect metavariables. This is used for instancein the lookup where the tokens produced from the metavariables are interpreted as distinct from all other tokens.
2017-08-07 16:39:19 +02:00
krasimir
a839bdc687
bugfix for print names in the C runtime and expose the functionality from Java
2017-05-11 09:11:30 +00:00
krasimir
33ec916c9c
make some of the functions in the Python binding static
2017-04-19 09:45:15 +00:00
krasimir
71a9f2cba8
use gu_string_buf_data in the Python binding to avoid copying
2017-04-13 13:47:13 +00:00
krasimir
2588a6f016
gu_string_buf -> gu_new_string_buf in libgu
2017-04-13 13:43:48 +00:00
krasimir
bd1128e303
now the Python API also accepts types as start categories. Using a string is still ok.
2017-01-26 13:31:08 +00:00
krasimir
3467a54965
bring the Haskell binding a bit closer to the pure Haskell API
2017-01-26 12:48:22 +00:00
krasimir
5a9b5dc860
python2 is now supported. the patch is based on a contribution from Vinit Ravishankar
2016-08-01 10:39:54 +00:00
krasimir
2605ee85d7
two memory leaks in the Python bindings
2016-08-01 10:31:37 +00:00
krasimir
821878773c
bugfix in the load method in the Python binding. The file was never closed.
2016-06-16 08:02:06 +00:00
krasimir
fdf4bd3196
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
6947d36e1a
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
5faa99e89d
added bracketedLinearizeAll in Python
2015-09-30 08:35:09 +00:00
krasimir
6b90024d09
pickling/unpickling for types
2015-08-12 10:11:00 +00:00
krasimir
ac6ce58777
support for transparent pickling/unpickling of abstract expressions in Python
2015-08-12 09:21:23 +00:00
krasimir
b3680b6025
merge the states for reasoning and evaluation into a single structure
2015-07-03 11:53:52 +00:00
krasimir
ce05465365
the callbacks in C now take the concrete syntax as a parameter
2015-05-18 14:41:33 +00:00
krasimir
82eeb3ef2b
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
c1129e15fa
fix warning in the Python binding
2015-04-27 18:33:18 +00:00
krasimir
5f25804b73
mark two more functions as static in the Python binding
2015-04-27 18:24:21 +00:00
prasanth.kolachina
dedad558a8
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
kr.angelov
35c11d5f5a
fix the reference counting for callbacks in Python
2015-01-05 11:24:00 +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
00922153aa
CAPIT is now naturally supported in the C runtime
2014-10-22 15:05:55 +00:00
kr.angelov
71d5cae4e3
make the fields of BracketedString in the Python binding read/write
2014-10-22 12:18:07 +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
7036d56d29
the literals API is now exposed in Python
2014-09-25 11:59:40 +00:00
kr.angelov
818896dec2
fix a portability problem with the Python binding (found by Prasanth)
2014-09-17 16:12:40 +00:00
kr.angelov
0222d2440c
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
ada85ae44e
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
85672af858
small fix for the embedded mode in Python
2014-07-06 19:55:08 +00:00