Tony Garnock-Jones
|
ade9b0a0f1
|
map-embeddeds
|
2021-06-08 09:26:10 +02:00 |
Tony Garnock-Jones
|
f93d329f48
|
Small optimization
|
2021-06-08 09:25:52 +02:00 |
Tony Garnock-Jones
|
c05180c492
|
Some tool docs; improve help message of preserves-tool
|
2021-06-04 17:47:16 +02:00 |
Tony Garnock-Jones
|
139f4ff08b
|
Accept parameters in #lang preserves-schema lines
|
2021-06-03 23:23:22 +02:00 |
Tony Garnock-Jones
|
53bd5a1a7e
|
Escape schema names with ? instead of $
|
2021-06-02 12:35:56 +02:00 |
Tony Garnock-Jones
|
b968f77ff6
|
Provide fold-Schema-definitions and map-Schema-definitions
|
2021-06-02 12:35:33 +02:00 |
Tony Garnock-Jones
|
bd68786f1c
|
Schema compiler plugins
|
2021-06-02 06:56:44 +02:00 |
Tony Garnock-Jones
|
7683a64a5b
|
Repair Racket schema reader
|
2021-06-01 16:53:21 +02:00 |
Tony Garnock-Jones
|
8d96743d53
|
Redo schema embedded value patterns to use embedded syntax and an interface schema
|
2021-06-01 16:10:04 +02:00 |
Tony Garnock-Jones
|
b23acdaf5a
|
Default to text output from preserves-tool
|
2021-06-01 15:37:45 +02:00 |
Tony Garnock-Jones
|
947b816a57
|
Improve error-handling in Racket schema reader
|
2021-05-28 20:06:46 +02:00 |
Tony Garnock-Jones
|
b69c3a0894
|
Avoid name clashes with :parse-embedded and :embedded->preserves
|
2021-05-28 10:33:28 +02:00 |
Tony Garnock-Jones
|
d7bf235813
|
Avoid use of void so much
|
2021-05-27 09:54:11 +02:00 |
Tony Garnock-Jones
|
ab12c6535f
|
Simpler embedded parsing/unparsing
|
2021-05-27 09:53:55 +02:00 |
Tony Garnock-Jones
|
534018e3a4
|
batch-compile
|
2021-05-27 09:52:58 +02:00 |
Tony Garnock-Jones
|
264c4b9d2e
|
Repair integer parsing
|
2021-05-27 00:28:42 +02:00 |
Tony Garnock-Jones
|
87e816306d
|
Better import failure error reporting
|
2021-05-26 23:27:55 +02:00 |
Tony Garnock-Jones
|
5470497aa2
|
Update gen/schema.rkt
|
2021-05-26 23:16:49 +02:00 |
Tony Garnock-Jones
|
f90544d807
|
Code generator tool; handle module references and embeddeds
|
2021-05-26 23:15:49 +02:00 |
Tony Garnock-Jones
|
cb88c587b6
|
Include a copy of samples.pr so that tests run OK on the buildserver
|
2021-05-26 21:11:45 +02:00 |
Tony Garnock-Jones
|
e6efd03be7
|
Introduce explicit embedded wrapper
|
2021-05-26 21:09:06 +02:00 |
Tony Garnock-Jones
|
90ce0a544d
|
The Racket preserves package needs a local copy of schema.prs for the package-builder to work. Use a git hook to keep it in sync with the master copy
|
2021-05-26 14:27:03 +02:00 |
Tony Garnock-Jones
|
7ab12108e4
|
Inline reader module; add port->preserves
|
2021-05-26 13:56:37 +02:00 |
Tony Garnock-Jones
|
98e2511fe1
|
#lang preserves-schema
|
2021-05-25 20:14:10 +02:00 |
Tony Garnock-Jones
|
460529e1c7
|
Clean up language wrt invertibility/"bijection"
|
2021-05-25 20:13:02 +02:00 |
Tony Garnock-Jones
|
49efc76580
|
Racket Preserves Schema reader implementation
|
2021-05-25 11:07:37 +02:00 |
Tony Garnock-Jones
|
a24a5b19f5
|
Regenerate metaschema
|
2021-05-25 11:06:40 +02:00 |
Tony Garnock-Jones
|
eeb84ad669
|
Sort emitted entries; add throwing parser variant
|
2021-05-25 11:06:30 +02:00 |
Tony Garnock-Jones
|
6c9071fd88
|
Optionally omit commas when writing preserves
|
2021-05-25 11:05:16 +02:00 |
Tony Garnock-Jones
|
8b2aa0fb87
|
preserve=?
|
2021-05-25 11:05:03 +02:00 |
Tony Garnock-Jones
|
5c644624c4
|
detect-preserve-syntax, file->preserves
|
2021-05-25 11:04:51 +02:00 |
Tony Garnock-Jones
|
163e338ce5
|
Name is already always supplied, no need to add it
|
2021-05-25 11:04:29 +02:00 |
Tony Garnock-Jones
|
4ed8fd2c92
|
Add "annotations" procedure
|
2021-05-25 11:02:36 +02:00 |
Tony Garnock-Jones
|
bdd699ae9f
|
Deterministic hash ordering for Racket CompoundPattern-dict
|
2021-05-24 17:46:50 +02:00 |
Tony Garnock-Jones
|
33a80533fa
|
Checker for Racket
|
2021-05-24 12:47:44 +02:00 |
Tony Garnock-Jones
|
c4bfc0eefc
|
Follow improvements through Racket schema impl
|
2021-05-24 10:10:13 +02:00 |
Tony Garnock-Jones
|
1d6956fa55
|
Move gen-schema.rkt to gen/schema.rkt
|
2021-05-22 15:52:12 +02:00 |
Tony Garnock-Jones
|
9e6743abdc
|
Autogenerate predicate for unions
|
2021-05-22 15:50:54 +02:00 |
Tony Garnock-Jones
|
43b776eb7f
|
Switch to manipulating parsed form of metaschema
|
2021-05-22 15:47:13 +02:00 |
Tony Garnock-Jones
|
ebab3fafc5
|
gen-schema.rkt (initial rendering)
|
2021-05-22 15:43:29 +02:00 |
Tony Garnock-Jones
|
49cba14b4f
|
Initial work on preserves-schema for Racket
|
2021-05-21 21:44:05 +02:00 |
Tony Garnock-Jones
|
e4a2503899
|
The Great Renaming: Pointer -> Embedded
|
2021-05-17 14:54:06 +02:00 |
Tony Garnock-Jones
|
c27aa7579e
|
Repair detection of "easily-printable" symbols
|
2021-03-08 15:31:50 +01:00 |
Tony Garnock-Jones
|
532e811894
|
Introduce pointers
|
2021-01-29 12:03:28 +01:00 |
Tony Garnock-Jones
|
2c5ed693f5
|
Tool works on multiple inputs now
|
2021-01-23 22:54:27 +01:00 |
Tony Garnock-Jones
|
8459521db5
|
No more `StreamingTest`s
|
2021-01-23 22:54:27 +01:00 |
Tony Garnock-Jones
|
749747ca05
|
Remove #:read-annotations?, to ensure a consistent output format from the reader
|
2021-01-23 22:54:27 +01:00 |
Tony Garnock-Jones
|
77fd8e86bf
|
Ah, of course a 0-byte integer has value 0
|
2021-01-23 22:54:27 +01:00 |
Tony Garnock-Jones
|
85fe7b3b07
|
Update Racket implementation
|
2021-01-23 22:54:27 +01:00 |
Tony Garnock-Jones
|
c4f90ef86b
|
Remove placeholders from spec and implementations 5/5
Update Racket implementation: remove placeholders; reject zero-length
streamed binary chunks.
|
2020-05-28 23:23:19 +02:00 |
Tony Garnock-Jones
|
8e0ab95d82
|
Autodetectability of binary vs text; documented test case schema a little
|
2020-05-13 12:56:13 +02:00 |
Tony Garnock-Jones
|
d883ad9a75
|
Move racket implementation one subdirectory deeper, to allow package name inference to work
|
2020-04-27 21:07:20 +02:00 |
Tony Garnock-Jones
|
0832b94ce9
|
Optionally-canonicalizing binary output.
|
2019-10-24 14:35:34 +01:00 |
Tony Garnock-Jones
|
2b74100b2a
|
Some coverage of read/write text syntax
|
2019-08-26 21:03:19 +01:00 |
Tony Garnock-Jones
|
aa59846ee9
|
--atob, --btoa
|
2019-08-23 22:14:02 +01:00 |
Tony Garnock-Jones
|
a34a4cd20e
|
Stop reading symbols at @
|
2019-08-23 22:09:30 +01:00 |
Tony Garnock-Jones
|
a817fed40d
|
preserves-tool
|
2019-08-23 22:05:30 +01:00 |
Tony Garnock-Jones
|
f09067d719
|
Allow use of strip-annotations and peel-annotations as identifiers
|
2019-08-23 22:00:52 +01:00 |
Tony Garnock-Jones
|
6f4e06f6b9
|
Annotation inappropriate for ExpectedPlaceholderMapping
|
2019-08-23 09:58:30 +01:00 |
Tony Garnock-Jones
|
a7147fa123
|
Remove old commented-out code
|
2019-08-22 21:14:53 +01:00 |
Tony Garnock-Jones
|
54b33f5f13
|
Heuristics for choosing base64 vs ascii-ish binary display
|
2019-08-22 20:59:37 +01:00 |
Tony Garnock-Jones
|
4d73ab6d69
|
Fix DecodeError runner
|
2019-08-22 15:31:58 +01:00 |
Tony Garnock-Jones
|
aac73efd3a
|
DecodeShort, DecodeError
|
2019-08-22 11:24:51 +01:00 |
Tony Garnock-Jones
|
36c5d92b73
|
Nondeterministic and Streaming tests; fixes
|
2019-08-22 11:20:58 +01:00 |
Tony Garnock-Jones
|
adda505f45
|
Better record support; more test implementations; fixes
|
2019-08-22 09:57:57 +01:00 |
Tony Garnock-Jones
|
e90a790963
|
First real running tests with the new design, and several concomitant fixes and new tests
|
2019-08-21 22:18:21 +01:00 |
Tony Garnock-Jones
|
27ac21bed1
|
Actually use current-value->placeholder
|
2019-08-21 21:20:26 +01:00 |
Tony Garnock-Jones
|
79af429b58
|
Fix annotation encoding
|
2019-08-20 22:34:29 +01:00 |
Tony Garnock-Jones
|
6783daa20d
|
Make strip- and peel-annotations more useful with dictionaries
|
2019-08-20 22:30:44 +01:00 |
Tony Garnock-Jones
|
e57fe62a48
|
peel-annotations
|
2019-08-20 22:30:30 +01:00 |
Tony Garnock-Jones
|
fa5eaa6e39
|
Limited-depth strip-annotations
|
2019-08-20 22:24:24 +01:00 |
Tony Garnock-Jones
|
3f0ec34d49
|
Uniform annotations in syntax mode; WIP update binary codec
|
2019-08-20 20:44:07 +01:00 |
Tony Garnock-Jones
|
fd87f07ec0
|
Quasi-pretty-printed text output (indentation, basically)
|
2019-08-19 22:48:12 +01:00 |
Tony Garnock-Jones
|
1bb7e1862e
|
Fix byte string output for control characters
|
2019-08-18 17:40:44 +01:00 |
Tony Garnock-Jones
|
467da29c56
|
WIP: write-preserve, preserve->string
|
2019-08-18 17:34:42 +01:00 |
Tony Garnock-Jones
|
9974002cad
|
Read angle-bracket delimited records in the Racket implementation
|
2019-08-18 13:40:59 +01:00 |
Christopher Lemmer Webber
|
c9a624839f
|
recurd7 -> record7
|
2019-08-15 13:51:24 -04:00 |
Tony Garnock-Jones
|
672ee83be0
|
Begin factoring out test suite for cross-implementation use; begin updating Racket implementation to match (not finished)
|
2019-08-11 14:37:08 +01:00 |
Tony Garnock-Jones
|
97cd007bab
|
Remove comment parsing from Racket implementation
|
2019-07-01 21:47:12 +01:00 |
Tony Garnock-Jones
|
0799fd3293
|
Support detection of short inputs, for e.g. incremental parsing use
|
2019-03-17 00:52:05 +00:00 |
Tony Garnock-Jones
|
374ab89cd0
|
Forbid empty string input to string->preserve
|
2018-11-05 10:27:03 +00:00 |
Tony Garnock-Jones
|
50eec6ba8e
|
Further improve error recovery
|
2018-10-08 21:35:07 +01:00 |
Tony Garnock-Jones
|
b25a17b148
|
Improve error recovery
|
2018-10-08 20:54:06 +01:00 |
Tony Garnock-Jones
|
8dc6346c58
|
Special cases for label[...] and label{...}
|
2018-10-08 20:53:53 +01:00 |
Tony Garnock-Jones
|
c02e790f71
|
Allow dots to lead/fill raw symbols
|
2018-10-08 19:54:29 +01:00 |
Tony Garnock-Jones
|
db5c890e1c
|
Simplify, repair, and regularise embedded binary values in textual syntax
|
2018-09-29 17:50:57 +01:00 |
Tony Garnock-Jones
|
6feb320aad
|
Racket/python infrastructure
|
2018-09-29 17:37:26 +01:00 |
Tony Garnock-Jones
|
83fa396b56
|
Rearrange repo
|
2018-09-29 17:27:59 +01:00 |