Commit Graph

80 Commits

Author SHA1 Message Date
Tony Garnock-Jones f83e67899e Update test suites 2024-05-25 17:18:07 +02:00
Tony Garnock-Jones 8222675b6b Update python implementation to schema spec 0.4 2024-04-04 13:28:27 +02:00
Tony Garnock-Jones 0aa39da971 New test case and fixes 2024-03-27 10:57:19 +01:00
Tony Garnock-Jones 3d3c79e617 Python interpreter-specification line implementation 2024-03-08 09:49:35 +01:00
Tony Garnock-Jones e923d87fa5 Switch from `#!` to `#:` for embedded values 2024-02-05 22:38:49 +01:00
Tony Garnock-Jones be32f9b7c8 Remove single-precision floats from the implementations 2024-01-27 14:40:37 +01:00
Tony Garnock-Jones b192313c94 str() for Symbol 2023-11-10 17:38:21 +01:00
Tony Garnock-Jones d540ee6faf Make schema available from root python preserves module 2023-11-03 13:24:49 +01:00
Tony Garnock-Jones d11ec61714 Restrict positions where commas may exist 2023-11-01 14:45:58 +01:00
Tony Garnock-Jones c053102d07 Merge branch 'main' into comment-syntax-hash-space 2023-10-31 10:51:36 +01:00
Tony Garnock-Jones 1a2657fe33 Simplify and firm up test suite. Known failures: TS, wrt bigint 2023-10-30 17:28:33 +01:00
Tony Garnock-Jones 1aedfe46b7 Merge branch 'main' into comment-syntax-hash-space 2023-10-29 22:22:40 +01:00
Tony Garnock-Jones b8fb7abab1 New tests and fixes for bad surrogate pair situations. Closes #43 2023-10-29 21:30:54 +01:00
Tony Garnock-Jones 9595872177 Test cases and implementation updates for delimiters following Boolean and SymbolOrNumber. Closes #47 2023-10-29 21:04:52 +01:00
Tony Garnock-Jones c30073c3f9 Repair errors surfaced by the new tests 2023-10-29 19:27:29 +01:00
Tony Garnock-Jones ccf277cddb Switch to "# "-prefixed text comment annotation syntax 2023-10-18 10:20:30 +02:00
Tony Garnock-Jones 3b89cbe880 Switch back to prefix-format binary annotations 2023-10-15 00:35:25 +02:00
Tony Garnock-Jones b7a2acf65b Update implementations for simplified binary syntax.
As part of this, I noticed a problem when updating the Rust
implementation. With the BF..84 design for annotations, if you are
wanting to skip annotations—for example, if you're parsing
incrementally, SAX-style, ignoring annotations—then with any
parenthesised form you have to remember to check for and skip something
after reading a term. This is awkward, so I want to revisit the design
of annotations and go back to the prefix-form (85..) of the
current-mainline design.
2023-10-14 21:29:09 +02:00
Tony Garnock-Jones 316c2dd407 Document preserves.schema 2023-03-17 15:24:53 +01:00
Tony Garnock-Jones fac24309aa Remove code snippets from heading (because otherwise it renders funny in the toc) 2023-03-17 10:34:02 +01:00
Tony Garnock-Jones 8c033fa111 Document and repair path.py 2023-03-17 10:21:56 +01:00
Tony Garnock-Jones a4403cf6f3 More docs. That's the lot for python now except path and schema. 2023-03-17 00:07:27 +01:00
Tony Garnock-Jones c7687772b0 Update compare.py docs 2023-03-16 21:57:21 +01:00
Tony Garnock-Jones e3e1dd4944 Better __init__.py docs 2023-03-16 21:04:37 +01:00
Tony Garnock-Jones 7cbd1a2813 Docs for preserves.binary; better encoding annotations with canonicalization 2023-03-16 20:55:49 +01:00
Tony Garnock-Jones 031575ad82 Python preserves doctest runner, and mkdocs documentation stubs 2023-03-16 17:53:02 +01:00
Andrew Elgert b1f9eb45d2 Compiler can load from file-like objects 2023-03-14 11:45:30 -04:00
Tony Garnock-Jones d73118fc77 Update implementations 2023-02-07 10:42:30 +01:00
Tony Garnock-Jones 269ed2391a Repair text syntax for numbers and symbols. Closes #19/#36/#37/#38.
Numbers and (bare) Symbols are now disambiguated after reading, which
permits leading `+`, leading `0`, and a wider range of acceptable
Symbols.

Updates spec text, test cases, and implementations. Some ancillary fixes
to Python's comparison routines are also included.
2022-11-08 19:56:24 +01:00
Tony Garnock-Jones 3544bf18fa Ugh, python 3.7 doesn't have the PEP 570 "/" positional-only syntax. 2022-07-22 10:23:54 +02:00
Tony Garnock-Jones c49b8673f7 READMEs for Schema implementations 2022-06-09 13:49:59 +02:00
Tony Garnock-Jones 8b8da80f61 Explain why parsing failed 2022-06-08 16:22:10 +02:00
Tony Garnock-Jones e019148065 Fix positional initializers for schema values, and allow keyword initializers 2022-06-07 21:45:56 +02:00
Tony Garnock-Jones c9c973ce9c Preserves-order for Python 2022-06-07 21:45:12 +02:00
Tony Garnock-Jones 00eb9e97b6 Implement count function 2022-06-06 15:28:11 +02:00
Tony Garnock-Jones c0d3f37905 python: merge(), and support for and-pattern unparsing 2022-06-03 21:13:59 +02:00
Tony Garnock-Jones 597e993c05 Support and-schemas in python 2022-06-03 16:50:03 +02:00
Tony Garnock-Jones 7f65f9ecb1 Add _ALL superclass for Enumeration subclasses, for @extend purposes 2022-02-11 11:56:08 +01:00
Tony Garnock-Jones 32544c544a Optional commas in pretty-printer 2022-02-11 11:38:29 +01:00
Tony Garnock-Jones 21de8b799a Canonicalizing binary encoder 2022-02-09 14:59:50 +01:00
Tony Garnock-Jones 61ef91a958 Allow schema encoding (auto-)escapes 2022-01-12 14:07:32 +01:00
Tony Garnock-Jones f348701169 Avoid x.__preserve__(), preferring preserve(x) 2022-01-12 11:40:05 +01:00
Tony Garnock-Jones ddfd2e24a6 Indented text printing 2022-01-12 02:02:36 +01:00
Tony Garnock-Jones 8c4fedac0a Split out encoding/formatting unhandler error to method, for overridability 2022-01-11 06:29:18 +01:00
Tony Garnock-Jones 602dea1ac6 Rearrange tests to include test data. As part of this, remove tests for python2; from here out, python2 compatibility will likely rot. 2022-01-07 21:14:21 +01:00
Tony Garnock-Jones 39f9a2e5ef Include path.prb in the package, like schema.prb 2022-01-07 20:48:24 +01:00
Tony Garnock-Jones 6c0ef47e03 Be more liberal about accepting either lists or tuples when parsing using a schema instance 2021-12-17 23:25:03 +01:00
Tony Garnock-Jones aadd83d715 Use bundled metaschema copy 2021-11-30 18:35:16 +01:00
Tony Garnock-Jones d408070fde Better debug printing 2021-08-18 22:57:06 -04:00
Tony Garnock-Jones 0f30522f19 Repair typo 2021-08-18 22:56:59 -04:00