Commit Graph

332 Commits

Author SHA1 Message Date
Tony Garnock-Jones 94e9fabc70 Make WalkState reusable; add lookup_definition 2021-09-20 14:33:05 +02:00
Tony Garnock-Jones f778325748 (cargo-release) version {{version}} 2021-09-19 20:58:03 +02:00
Tony Garnock-Jones b68b485af4 Better approach to intra-workspace dependencies, I hope 2021-09-19 20:57:38 +02:00
Tony Garnock-Jones 72a38cea7e Argh, update to naming convention used by cargo-release 2021-09-19 20:53:06 +02:00
Tony Garnock-Jones ccf01f5f24 Repair scoping of crate references in syntax macros 2021-09-19 20:50:13 +02:00
Tony Garnock-Jones 6fdda6636b Bump versions to 2.0.0-rc1 2021-09-19 16:48:00 +02:00
Tony Garnock-Jones 843c0c894f Include `Language`s from externally-referenced definitions 2021-09-19 16:43:46 +02:00
Tony Garnock-Jones e5a5130b56 Tighten 2021-09-17 12:30:31 +02:00
Tony Garnock-Jones a91ee3977f DRY for Language; prepare for factoring out language prerequisites 2021-09-17 12:27:10 +02:00
Tony Garnock-Jones ac8567731d DRY for _Value 2021-09-17 12:19:26 +02:00
Tony Garnock-Jones 6869a89291 Another step toward nested multi-Language support 2021-09-17 11:59:43 +02:00
Tony Garnock-Jones e78196c942 Value self-parsing happens with &() now, not () 2021-09-17 11:37:36 +02:00
Tony Garnock-Jones 15a27b4865 Better Parse/Unparse traits 2021-09-17 11:06:53 +02:00
Tony Garnock-Jones df4059ee7a Oops 2021-09-16 16:35:12 +02:00
Tony Garnock-Jones 8d587c0aaa Steps toward better cross-compilation-unit handling of Languages 2021-09-16 16:31:59 +02:00
Tony Garnock-Jones d872f7cf8a Limit NestedValue self-parse/unparse support to () rather than L 2021-09-15 21:13:03 +02:00
Tony Garnock-Jones 7bf5403353 Repair generated references to _Value::Embedded (was _Value::D) 2021-09-15 15:26:02 +02:00
Tony Garnock-Jones 9f98e1ef3b Remove unwanted code 2021-09-15 15:25:46 +02:00
Tony Garnock-Jones 06fc9aa017 NestedValue::D --> NestedValue::Embedded 2021-09-15 15:19:03 +02:00
Tony Garnock-Jones 997bea2836 Better name 2021-09-15 15:14:36 +02:00
Tony Garnock-Jones 28249b19f7 More flexible Literals-finding 2021-09-15 15:07:46 +02:00
Tony Garnock-Jones e56b62cfbb Fix multi-schema bundles after refactor 2021-09-15 14:03:33 +02:00
Tony Garnock-Jones 985a0b6795 Handle external types wrt has_embedded 2021-09-15 10:50:37 +02:00
Tony Garnock-Jones 352d8ba1b3 Massive refactor to be more flexible around embedded types 2021-09-15 10:43:31 +02:00
Tony Garnock-Jones 8127033407 Surprisingly, associated types might simplify drastically! 2021-09-14 22:56:09 +02:00
Tony Garnock-Jones 6348524542 Introduce TField::Any and TField::Embedded 2021-09-12 18:28:29 +02:00
Tony Garnock-Jones 87227b5623 Make whole Schema available when compiling 2021-09-12 18:08:56 +02:00
Tony Garnock-Jones c4afc49646 Value::from various references-to-atoms 2021-09-12 14:55:05 +02:00
Tony Garnock-Jones ef67347b8d Repair and-pattern reading 2021-09-11 02:53:46 +02:00
Tony Garnock-Jones aabe7b2623 Repair reading of simple but compound types within a simple dictionary pattern 2021-09-11 02:53:32 +02:00
Tony Garnock-Jones e43e85ce8e preserves::value::merge has to return Option 2021-09-11 02:52:49 +02:00
Tony Garnock-Jones 5f2a3e3eb8 Preserves value merge in Rust 2021-09-11 02:49:17 +02:00
Tony Garnock-Jones eda9979041 Owned destructors 2021-09-11 02:47:51 +02:00
Tony Garnock-Jones d26e38ded0 Regenerate schema.rs 2021-09-05 13:16:29 +02:00
Tony Garnock-Jones 00e31c0e29 (cargo-release) version {{version}} 2021-09-02 11:13:17 +02:00
Tony Garnock-Jones a9125874bf (cargo-release) version {{version}} 2021-08-28 17:02:28 +02:00
Tony Garnock-Jones 8550be0ba2 Refactor SignedInteger conversions to be more comprehensive and less repetitive 2021-08-28 17:01:59 +02:00
Tony Garnock-Jones 3cdf1f662e Reorganize support re-exports to support preservesless usage of preserves_schema 2021-08-28 17:01:36 +02:00
Tony Garnock-Jones 027966fb3b (cargo-release) version {{version}} 2021-08-27 17:17:39 +02:00
Tony Garnock-Jones f387f5e8c9 Value::bytestring, NestedValue::bytestring 2021-08-27 17:17:30 +02:00
Tony Garnock-Jones 0aded61071 Take advantage of NestedValue::symbol 2021-08-27 16:59:54 +02:00
Tony Garnock-Jones dc451ea7b4 (cargo-release) version {{version}} 2021-08-27 16:52:52 +02:00
Tony Garnock-Jones 3e56cf3d7e NestedValue::symbol 2021-08-27 16:52:11 +02:00
Tony Garnock-Jones 94fe6ad946 Update pre-commit hook and clone path.bin to address #30. 2021-08-25 09:24:24 +02:00
Tony Garnock-Jones 446b2ee5f7 (cargo-release) version {{version}} 2021-08-20 15:02:01 -04:00
Tony Garnock-Jones 62cd9ac78f Unquoted output format 2021-08-20 15:01:30 -04:00
Tony Garnock-Jones 5c8bacd759 (cargo-release) version {{version}} 2021-08-12 17:43:48 -04:00
Tony Garnock-Jones 1b466aade7 Add --exclude-unchanged cargo-release flag, from my own feature branch 2021-08-12 17:43:34 -04:00
Tony Garnock-Jones 23329cd8f3 Let's try without dev versions 2021-08-12 15:53:50 -04:00
Tony Garnock-Jones 06a08631aa Plugins are now part of CompilerConfig 2021-08-12 15:28:24 -04:00
Tony Garnock-Jones eafc22fb1c Compiler plugins (hardcoded to begin with) 2021-08-12 15:23:37 -04:00
Tony Garnock-Jones ea75dc8f59 Avoid needless schemas/mod.rs file 2021-08-11 18:04:46 -04:00
Tony Garnock-Jones 7f8db08039 Manual bump deps 2021-08-10 12:56:12 -04:00
Tony Garnock-Jones cf94a95266 Put a symlink to path.bin in this crate, to allow cargo publish to work 2021-08-10 12:54:42 -04:00
Tony Garnock-Jones 3128f6da82 Grar, more manual bumping 2021-08-10 12:22:58 -04:00
Tony Garnock-Jones f1b4a4568b Try manual publishing 2021-08-10 12:20:50 -04:00
Tony Garnock-Jones d67bafcb30 (cargo-release) version {{version}} 2021-08-10 11:36:46 -04:00
Tony Garnock-Jones ebc609dfec Repair? versions 2021-08-10 11:33:16 -04:00
Tony Garnock-Jones 4f60845dc0 (cargo-release) version {{version}} 2021-08-10 11:27:40 -04:00
Tony Garnock-Jones 37ca3fd493 Use OUT_DIR 2021-08-10 11:19:12 -04:00
Tony Garnock-Jones e6d7e9c1b5 (cargo-release) start next development iteration {{next_version}} 2021-08-10 11:00:12 -04:00
Tony Garnock-Jones b11316e40b (cargo-release) version {{version}} 2021-08-10 11:00:12 -04:00
Tony Garnock-Jones c2167f1ee8 Prep for release 2021-08-10 10:59:03 -04:00
Tony Garnock-Jones 0821f6e3da Default to streaming, not collection 2021-08-10 08:43:33 -04:00
Tony Garnock-Jones e02ee00894 Fix conformance errors 2021-08-10 08:40:20 -04:00
Tony Garnock-Jones a0bf6ebf41 Various output formats 2021-08-08 18:04:49 -04:00
Tony Garnock-Jones 02420543f1 Treat Symbols more uniformly like Strings 2021-08-08 18:04:33 -04:00
Tony Garnock-Jones 7abd4a3d3a Split out submodules 2021-08-08 17:51:18 -04:00
Tony Garnock-Jones 2ee1c48fcd Rename real to ~real, and add ~int to match 2021-08-08 17:19:58 -04:00
Tony Garnock-Jones 965bda9f9e Add "real" 2021-08-08 17:08:32 -04:00
Tony Garnock-Jones 61af114d5f Much better: boolean operations on newly-introduced Predicates, rather than selectors generally 2021-08-08 16:01:29 -04:00
Tony Garnock-Jones 137cc63a97 Initial stab at preserves-path; repair error wrt EOF immediately following a number 2021-08-08 14:26:17 -04:00
Tony Garnock-Jones be10924118 Be less specific for regex dep 2021-08-05 15:58:02 +02:00
Tony Garnock-Jones 96707352e6 Quotation 2021-08-05 15:55:48 +02:00
Tony Garnock-Jones cfd9898b4d Option to escape spaces 2021-08-05 15:54:41 +02:00
Tony Garnock-Jones 661d96780d Yield Strings from TextWriter::encode* 2021-08-05 14:28:19 +02:00
Tony Garnock-Jones 87946abb63 Avoid egregious &'a mut R 2021-08-05 14:28:00 +02:00
Tony Garnock-Jones 96f5c9f434 Repair accidentally-dropped-buffer error 2021-08-04 15:49:57 +02:00
Tony Garnock-Jones b24aca8f0f Rust preserves-tools 2021-08-04 15:42:07 +02:00
Tony Garnock-Jones 3078396487 Conveniences for TextReader matching those existing for PackedReader 2021-08-04 15:41:23 +02:00
Tony Garnock-Jones d28901446d Decode text syntax from *byte* sources. 2021-08-03 16:26:40 +02:00
Tony Garnock-Jones e913951b91 TextWriter::encode for Vec<u8> 2021-08-02 21:49:40 +02:00
Tony Garnock-Jones e80d849f9a DomainUnparse is useless 2021-08-02 21:49:05 +02:00
Tony Garnock-Jones dcdfdb8dd9 Track boundaries in schema-emitted reader code 2021-08-02 20:55:44 +02:00
Tony Garnock-Jones 3176e5f8d0 Indented printing 2021-08-02 12:53:17 +02:00
Tony Garnock-Jones af1405e87a Use dtoa for better floating-point formatting 2021-08-02 12:14:07 +02:00
Tony Garnock-Jones 9d4e6998f2 TextReader/TextWriter 2021-08-02 11:42:48 +02:00
Tony Garnock-Jones 5fa8c32ba0 Cosmetic 2021-07-27 16:38:55 +02:00
Tony Garnock-Jones 61c6dfbc3e Bump Rust package versions 2021-07-22 16:56:42 +02:00
Tony Garnock-Jones 48412ae7ea Simplify by removing DelimitedStream 2021-07-21 22:48:00 +02:00
Tony Garnock-Jones 9b88db6790 Remove misleading prefix on branch readers 2021-07-21 22:34:02 +02:00
Tony Garnock-Jones cae254ef21 Experimental deserialization direct from Reader 2021-07-21 21:52:20 +02:00
Tony Garnock-Jones 6d9ed94065 Only write to files if they don't exist or their existing contents differs from the new contents 2021-07-14 11:53:12 +02:00
Tony Garnock-Jones 7712c6e0a9 More conversions for SignedInteger 2021-07-13 16:00:18 +02:00
Tony Garnock-Jones 423c9d0bba Better Debug for SignedInteger 2021-07-13 15:59:27 +02:00
Tony Garnock-Jones 6ffc34065f Value from usize/isize 2021-07-13 15:59:14 +02:00
Tony Garnock-Jones 932375fa49 NestedValue::domain() 2021-07-13 15:58:58 +02:00
Tony Garnock-Jones 7e3bf2ade5 Hex codec, for convenience 2021-07-13 15:58:28 +02:00
Tony Garnock-Jones c527160e9d Repair silly mistake that made only one input processed 2021-07-06 20:52:03 +02:00
Tony Garnock-Jones 64593436a8 If T is DomainDecode, so is &mut T. 2021-07-05 20:24:40 +02:00
Tony Garnock-Jones 7c8a5c61ca foreach_embedded 2021-07-05 16:09:31 +02:00
Tony Garnock-Jones e9b5b3549c Convenience 2021-07-05 13:03:30 +02:00
Tony Garnock-Jones e30ade6ed3 Take more advantage of use std::io; and fix benches 2021-07-05 13:00:30 +02:00
Tony Garnock-Jones 7e76503779 Remove IOResult in favour of std::io::Result 2021-07-05 12:38:11 +02:00
Tony Garnock-Jones da08189dd4 Embedded-parameterised Writer 2021-07-05 12:34:29 +02:00
Tony Garnock-Jones 8f1a83e548 Avoidance of hardcoded use of IOValue in Embedded reading 2021-07-05 12:00:05 +02:00
Tony Garnock-Jones 41fe3c3440 A new approach to embedded-parameterised Reader 2021-07-04 17:16:13 +02:00
Tony Garnock-Jones 64ff818cd1 Fixes in handling of embeddeds 2021-07-03 23:11:41 +02:00
Tony Garnock-Jones 83d15a838e Remove mostly-useless Domain methods 2021-07-03 23:10:43 +02:00
Tony Garnock-Jones c04447d62a Fixes & tweaks wrt Domain/Embedded/Embeddable 2021-07-03 09:00:05 +02:00
Tony Garnock-Jones c7b252ca9d More TryFrom<&SignedInteger> implementations 2021-07-03 08:59:22 +02:00
Tony Garnock-Jones 6143ddc93d NestedValue new() method for easy wrapping 2021-07-03 08:59:03 +02:00
Tony Garnock-Jones c70035b044 Avoid name clash 2021-07-02 16:24:16 +02:00
Tony Garnock-Jones 297d1d39eb Domain -> Embedded/Embeddable 2021-07-02 08:00:37 +02:00
Tony Garnock-Jones 8b7baec26b PreDomain 2021-07-02 07:49:13 +02:00
Tony Garnock-Jones 23943f8b14 ModuleContextMode::TargetIOValue, ModuleContextMode::TargetAny 2021-07-02 07:48:52 +02:00
Tony Garnock-Jones 8cafcbcaf1 Bump rust versions for release 2021-06-30 16:19:27 +02:00
Tony Garnock-Jones 70990d2371 Better names for literal constants 2021-06-30 16:07:49 +02:00
Tony Garnock-Jones 7c4cf38110 snake_case for module names 2021-06-30 15:55:42 +02:00
Tony Garnock-Jones 569563a564 Better error handling; use domains correctly 2021-06-30 15:50:50 +02:00
Tony Garnock-Jones aea230b056 Switch back to parsing/unparsing from IOValue 2021-06-30 15:18:20 +02:00
Tony Garnock-Jones 00759673ce Arc at ref boundaries 2021-06-30 15:06:28 +02:00
Tony Garnock-Jones 5b9c4d29f6 impl Domain for Arc<D: Domain> 2021-06-30 15:05:57 +02:00
Tony Garnock-Jones 17d8d076ec make test target 2021-06-30 15:05:44 +02:00
Tony Garnock-Jones e882d5a4df Aftershocks of Float/Double changes 2021-06-30 10:14:29 +02:00
Tony Garnock-Jones fc8709706c Cleanups; make as_float etc return Float, add as_f32 etc 2021-06-30 10:10:38 +02:00
Tony Garnock-Jones 3156180601 IOValue -> _Any = ArcValue<_Ptr> 2021-06-30 09:53:32 +02:00
Tony Garnock-Jones f1d403a6a7 Fallible from_preserves 2021-06-30 09:52:16 +02:00
Tony Garnock-Jones d69787e5ee Module aliases and embedded pointer types 2021-06-29 23:19:22 +02:00
Tony Garnock-Jones c3bc678a46 Better compiler API 2021-06-29 22:32:35 +02:00
Tony Garnock-Jones dd9e190bed More metadata 2021-06-29 20:31:28 +02:00
Tony Garnock-Jones 01e8e2c279 Include both a path and a version 2021-06-29 20:30:21 +02:00
Tony Garnock-Jones e4392ea2d5 Bump rust preserves version 2021-06-29 20:27:11 +02:00
Tony Garnock-Jones aa1c983acc Unparsers 2021-06-29 16:54:29 +02:00
Tony Garnock-Jones 5c2d12971d Better idioms 2021-06-28 22:38:30 +02:00
Tony Garnock-Jones 9c4be54be1 Bootstrap Rust preserves-schema 2021-06-28 22:25:41 +02:00
Tony Garnock-Jones 7546ba29ad Avoid quite a bit of boxing 2021-06-28 17:26:41 +02:00
Tony Garnock-Jones c7dbbdc178 Small fixes 2021-06-28 17:08:44 +02:00
Tony Garnock-Jones 4144a90b9d Initial commit (several days' worth) 2021-06-28 16:35:45 +02:00
Tony Garnock-Jones e4a2503899 The Great Renaming: Pointer -> Embedded 2021-05-17 14:54:06 +02:00
Tony Garnock-Jones 825d208198 Introduce Cargo workspace in prep for schema 2021-04-19 22:28:59 +02:00
Tony Garnock-Jones e078a71b30 Bump version 2021-03-12 20:52:52 +01:00
Tony Garnock-Jones 2b9eddfc79 Rename value::value to value::repr, the final clippyism 2021-03-12 11:04:23 +01:00
Tony Garnock-Jones d811032ac7 Fix up almost all reported clippyisms 2021-03-12 10:59:28 +01:00
Tony Garnock-Jones 013c5f4dae Bump Rust version 2021-01-29 13:53:49 +01:00
Tony Garnock-Jones 6fd06cec98 Require that domain toing and froing be total 2021-01-29 13:42:17 +01:00
Tony Garnock-Jones 532e811894 Introduce pointers 2021-01-29 12:03:28 +01:00
Tony Garnock-Jones a1a604aee8 Update Rust implementation 2021-01-23 22:54:27 +01:00
Tony Garnock-Jones 8d3146cf30 Bump Rust version 2020-07-10 17:01:21 +02:00
Tony Garnock-Jones 7cc7bd783d Adjust internal trait API 2020-07-10 16:59:54 +02:00