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