Commit Graph
100 Commits
Author SHA1 Message Date
John J. Camilleri ca2f2bfd89 Change from ffi to ffi-napi since the former seems unsupported
This should also fix installation problem of node-gyp in CI
2021-10-05 01:02:02 +02:00
John J. Camilleri 634508eaa8 Add linting 2021-10-04 15:26:50 +02:00
John J. Camilleri 1f72ef77c4 Add bootNGF. Organise tests better. 2021-10-04 15:07:23 +02:00
John J. Camilleri 7551926383 Add FFI bindings for all API functions. Implement getCategories and getFunctions 2021-10-04 14:15:35 +02:00
John J. Camilleri 45db11b669 Add proper tests, exception handling, implement getAbstractName 2021-10-04 12:10:29 +02:00
John J. Camilleri 314db3ea7f Beginnings of JavaScript bindings 2021-10-01 12:47:39 +02:00
John J. Camilleri ad0832903a Add FreeHypos function. Remove old Python 2 preproc definition 2021-09-30 10:45:01 +02:00
John J. Camilleri 808e8db141 Merge branch 'majestic' of github.com:GrammaticalFramework/gf-core into majestic 2021-09-28 11:58:31 +02:00
John J. Camilleri 16eb5f1a89 Type initialiser accepts sequences, stores internally as tuples. Add tests which try to break things. 2021-09-28 11:58:22 +02:00
John J. Camilleri 388829d63d Make hypos tuples again 😥 2021-09-28 10:35:19 +02:00
John J. Camilleri 8c3f9c8d73 Use PyBool instead of PyLong for bind_type 2021-09-27 15:37:33 +02:00
John J. Camilleri 7dafeee57b Raise KeyError in prob functions for undefined functions/categories 2021-09-27 14:33:14 +02:00
John J. Camilleri 19251e5e61 Add exprProbability 2021-09-27 14:22:13 +02:00
John J. Camilleri a7a20d72e7 Use preprocessing directive in module initialisation 2021-09-27 14:03:12 +02:00
John J. Camilleri 02d180ad88 Merge branch 'majestic' of github.com:GrammaticalFramework/gf-core into majestic 2021-09-27 13:33:52 +02:00
John J. Camilleri 8c04eed5c3 Add bindings for global/abstract flag functions 2021-09-27 13:33:34 +02:00
John J. Camilleri 6ce619c146 Solve the mystery of the segfaults when reading args in createCategory
it was a missing `&`
2021-09-27 11:51:58 +02:00
John J. Camilleri 2deae9d402 Add PGF.writeToFile. Add categoryProbability, but it seems pgf_category_prob always returns 0. 2021-09-27 11:37:52 +02:00
John J. Camilleri 187ded6d3d Merge branch 'majestic' of github.com:GrammaticalFramework/gf-core into majestic 2021-09-27 09:40:59 +02:00
John J. Camilleri 6f94957857 Make Hypo its own class instead of using tuples 2021-09-27 09:00:46 +02:00
John J. Camilleri 28bb236248 Add deallocator functions to all classes 2021-09-26 15:45:34 +02:00
John J. Camilleri 1fce5144f8 Rename fields to match those in runtime. Use tp_members instead of tp_getattro for getters. 2021-09-26 15:14:04 +02:00
John J. Camilleri a46b91fe10 Missed one 'free' 2021-09-24 16:13:36 +02:00
John J. Camilleri a2e4e74644 Add getters for Type and Expr attributes, with tests 2021-09-24 16:10:48 +02:00
John J. Camilleri 4719e509a5 Add FreePgfText function 2021-09-24 15:00:10 +02:00
John J. Camilleri fc12749124 Complete transaction tests 2021-09-24 13:46:46 +02:00
John J. Camilleri 90b7134eef Merge branch 'majestic' of github.com:GrammaticalFramework/gf-core into majestic 2021-09-24 13:09:36 +02:00
John J. Camilleri d0ce218ae1 Add helper functions for common conversions 2021-09-24 13:09:26 +02:00
John J. Camilleri 917c223db7 Add checkoutBranch function. Fix incorrect INCREF of non-Python object. 2021-09-24 11:47:46 +02:00
John J. Camilleri 139e851f22 Add null check before freeing DB
Was causing segfaults in load-failure tests
2021-09-24 08:20:31 +02:00
John J. Camilleri 0ff4b0079d Minor changes to transactions.md 2021-09-24 07:57:52 +02:00
John J. Camilleri 4611d831ff Add helper function for checking and converting list of hypos 2021-09-22 15:37:33 +02:00
John J. Camilleri 21ee96da9b Merge branch 'majestic' of github.com:GrammaticalFramework/gf-core into majestic 2021-09-22 15:14:49 +02:00
John J. Camilleri b1fd1f1a5e Fix segfaults with Python 3.8 in Transaction_createCategory. Tweaks to enter/exit functions. 2021-09-22 15:14:42 +02:00
John J. Camilleri 04fcaaaac2 Declare context differently in Transaction_createCategory
This is an attempt to try fix the segfaults in CI which I cannot reproduce locally
2021-09-22 08:34:18 +02:00
John J. Camilleri 60c9ab4c53 Fix handlers for 'with' syntax in Transaction object 2021-09-21 23:54:55 +02:00
John J. Camilleri 4af807c982 Fix createCategory. Add functionProbability. 2021-09-21 23:34:03 +02:00
John J. Camilleri b4b8572af3 Header and source file cleanup 2021-09-21 22:28:44 +02:00
John J. Camilleri 71dac482c8 Started adding support for 'with' construct, failing tests commented out 2021-09-21 17:23:38 +02:00
John J. Camilleri 6edf7e6405 Add Transaction type to Python bindings, get first tests working. 2021-09-21 14:55:20 +02:00
John J. Camilleri 7dba3465d0 Refactor modules in Python bindings. Start work on grammar-update functions, but without transactions. 2021-09-20 23:42:50 +02:00
John J. Camilleri 44b5d0f870 Add newNGF to Python bindings 2021-09-17 14:33:36 +02:00
John J. Camilleri 6359537894 Add last of tests from basic.hs to Python testsuite. Some tests with quoted identifiers skipped. 2021-09-17 13:53:53 +02:00
John J. Camilleri a3203143ba Add Type constructor, showType, mk[Dep]Hypo, bind type constants 2021-09-17 11:27:19 +02:00
John J. Camilleri a8bda009a4 Add and pass all the abstraction test cases. Some header cleanup. 2021-09-16 15:38:02 +02:00
John J. Camilleri b393efff59 Fix richcompare functions: second argument could be of any type 2021-09-16 13:28:30 +02:00
John J. Camilleri 238f01c9fc Add remaining Expr subclasses, tests failing 2021-09-15 16:27:58 +02:00
John J. Camilleri fd61a6c0d3 Add ExprApp to Python bindings 2021-09-14 15:28:39 +02:00
John J. Camilleri 6ebb8e5fda Add ExprFun to Python bindings 2021-09-14 15:07:03 +02:00
John J. Camilleri be5751060a Add showExpr and tests for it using variable expressions 2021-09-14 00:18:45 +02:00
John J. Camilleri 9e3d329528 Update behaviour for bindings to categoryContext when cat is non-existant 2021-09-13 22:44:04 +02:00
John J. Camilleri a715d029f7 Fix Haskell tests after changes to categoryContext and functionProb 2021-09-13 22:35:23 +02:00
John J. Camilleri e78e9102be Add variable expressions 2021-09-13 22:29:23 +02:00
John J. Camilleri c5ce2fd4b7 Add ExprMeta type, with two basic tests 2021-09-13 16:18:32 +02:00
John J. Camilleri d8a7aef46b Add constructor for ExprLit, use it in tests 2021-09-13 15:47:15 +02:00
John J. Camilleri 7e747fbd17 int -> size_t 2021-09-13 15:23:07 +02:00
John J. Camilleri 3d25efd38a Add functionIsConstructor function 2021-09-13 15:15:16 +02:00
John J. Camilleri c83a31708d Add categoryContext function 2021-09-13 15:05:38 +02:00
John J. Camilleri 919fd5d83e Make Expr_str work for large (size > 1) and negative integers 2021-09-13 14:38:05 +02:00
John J. Camilleri 5f5bd7a83b Implement Expr_str correctly (but doesn't handle big ints yet) 2021-09-13 10:03:26 +02:00
John J. Camilleri cb6d385fc0 Un-skip read/boot tests 2021-09-13 09:13:36 +02:00
John J. Camilleri 678d244b21 Trying to complete Type marshaller, keep getting segfaults 2021-09-10 00:28:16 +02:00
John J. Camilleri 2f51c8471c Fix conversion from PyUnicode to PgfText. Remove Python 2-style PyString macros. 2021-09-09 23:41:55 +02:00
John J. Camilleri 4739e3d779 Merge branch 'majestic' of github.com:GrammaticalFramework/gf-core into majestic 2021-09-09 20:42:07 +02:00
John J. Camilleri 8bc171d7a1 Remove int tag from ExprLitObject 2021-09-09 20:42:01 +02:00
John J. Camilleri 5eade6f111 Generalise error handling 2021-09-09 11:16:10 +02:00
John J. Camilleri 175349175a Merge branch 'majestic' of github.com:GrammaticalFramework/gf-core into majestic 2021-09-09 09:34:13 +02:00
John J. Camilleri 1d0c4e7c39 Handle unmarshalling of large ints in Python bindings 2021-09-09 09:34:05 +02:00
John J. Camilleri 9739344ca6 Support (small, size = 1) negative integers 2021-09-08 17:25:10 +02:00
John J. Camilleri 3b1907cd8c Add Expr and ExprLit types to Python bindings. Seem to work for readExpr. 2021-09-08 16:03:54 +02:00
John J. Camilleri c9b7f8e5ee Add exception object to parameters of updated function calls 2021-09-08 11:53:31 +02:00
John J. Camilleri e6d8b76dbf Merge branch 'majestic' of github.com:GrammaticalFramework/gf-core into majestic
# Conflicts:
#	src/runtime/python/pypgf.c
2021-09-06 23:52:30 +02:00
John J. Camilleri 5b96ede199 Work in progress with marshalling in Python bindings, trying to get Type_str to work without segfaulting 2021-09-06 23:49:53 +02:00
John J. Camilleri b7cddf206b First attempts at marshalling in Python bindings, not really sure what I'm doing 2021-09-06 15:32:18 +02:00
John J. Camilleri d58c744361 Implement PGF_getStartCat in Python bindings 2021-09-06 14:15:28 +02:00
John J. Camilleri a8efc61579 Working readType, functionType, unmarshaller for types (except exprs) in Python bindings 2021-09-06 14:06:57 +02:00
John J. Camilleri d53b7587f5 Fill in literal cases in Python unmarshaller (untested) 2021-09-03 15:26:10 +02:00
John J. Camilleri 3ecb937753 Start work on marshalling in Python bindings 2021-09-03 14:14:47 +02:00
John J. Camilleri 8061a9e82a Replace uses of PyUnicode_FromString with PyUnicode_FromStringAndSize
See https://github.com/GrammaticalFramework/gf-core/issues/130#issuecomment-908979886
2021-08-31 10:12:27 +02:00
John J. Camilleri 901c3f9086 Merge branch 'majestic' of github.com:GrammaticalFramework/gf-core into majestic 2021-08-31 10:07:55 +02:00
John J. Camilleri 32f6691024 Update error handling in Python bindings, using the new PGF_EXN_OTHER_ERROR 2021-08-31 10:07:42 +02:00
John J. Camilleri 02dc4e83c5 Remove commented-out error-handling code
See https://github.com/GrammaticalFramework/gf-core/issues/130#issuecomment-908937688
2021-08-31 09:16:16 +02:00
John J. Camilleri aecaa422ec Add getFunctionsByCat to Python bindings 2021-08-30 23:25:18 +02:00
John J. Camilleri b7bd5a4561 Add getCategories and getFunctions to Python bindings, but don't know how to handle errors? 2021-08-30 22:26:22 +02:00
John J. Camilleri 50e54d131b Add abstractName getter to Python bindings. Use line comments (//) to make navigating code easier. 2021-08-30 15:03:54 +02:00
John J. Camilleri ff30169cbf Update CI workflow with new Python test command 2021-08-30 13:46:34 +02:00
John J. Camilleri 3e4f2ba1a0 Use pytest for Python bindings test suite 2021-08-30 13:31:27 +02:00
John J. Camilleri 239fd02249 Add more test cases for read/boot failures, those which incorrectly fail are commented out 2021-08-30 13:22:49 +02:00
John J. Camilleri ad4600b5c4 Add bootNGF and readNGF to Python bindings 2021-08-30 10:38:10 +02:00
John J. Camilleri 5c5e26cc8d Test bootNGF and readNGF too, run tests on all three PGFs 2021-08-30 09:45:02 +02:00
John J. Camilleri 03f02ae5d2 A bunch of superficial changes to the docs after reading through them carefully again 2021-08-24 11:27:10 +02:00
John J. Camilleri fdaf19a5d4 Bump version of Python bindings 2021-08-24 10:04:07 +02:00
John J. Camilleri 91adc09b1f Define LD_LIBRARY_PATH when running Python tests 2021-08-24 09:09:30 +02:00
John J. Camilleri beab2ad899 Update Python instructions, add simple testsuite (which fails with segmentation fault) 2021-08-24 09:05:16 +02:00
John J. Camilleri bedb46527d Move Thomas from current to previous on maintainers page 2021-08-17 10:18:34 +02:00
John J. Camilleri 0258a87257 Add IRC, Discord, SO links to "contribute" section at top of homepage 2021-08-17 09:57:50 +02:00
John J. Camilleri ef0e831c9e Update installation instructions from Hackage, source code 2021-08-17 09:38:20 +02:00
John J. Camilleri 4fd70bc445 Add basic installation instructions 2021-08-13 10:47:06 +02:00
John J. Camilleri 9e5823c350 Tweak base upper bound in pgf2.cabal 2021-08-13 10:28:44 +02:00
John J. Camilleri 2346abeedb Tweaks to pgf2.cabal 2021-08-13 10:25:16 +02:00