Emery Hemingway
5e1e97e4df
toPreserves: unpack preservesTupleTail on records
2024-01-18 22:24:08 +02:00
Emery Hemingway
ba0857c32b
BufferedDecoder: return Option[Value] from decode
2024-01-16 21:01:25 +02:00
Emery Hemingway
aa5c7f4683
preserves_schema_nim: embedded literals are not literals
2024-01-14 12:26:39 +02:00
Emery Hemingway
a01ba8c96d
preserves_schema_nim: remove dead code
2024-01-08 12:50:13 +02:00
Emery Hemingway
8b2407b1a2
preserves_schema_nim: attach embed pragmas inside Or objects
2024-01-08 12:37:03 +02:00
Emery Hemingway
d2017228fb
Embed values for types with {.preservesEmbedded.}
2024-01-08 12:37:03 +02:00
Emery Hemingway
79ea25d1be
Make mapEmbeds more general
2024-01-08 12:36:29 +02:00
Emery Hemingway
7b17f935ea
Tweak to and fromPresrves for EmbeddedRef
2024-01-08 12:36:29 +02:00
Emery Hemingway
416af8ff5f
preserves_schema_nim: represent embeds with EmbeddedRef
...
Use EmbeddedRef for embbeded values, unless a schema does not name
an embedded type.
2024-01-08 12:36:29 +02:00
Emery Hemingway
74da21f3d5
preserves_schema_nim: do not create types for simple fields
2024-01-08 12:36:29 +02:00
Emery Hemingway
abcdfa01cd
preserves_schema_nim: remove dead code
2024-01-08 12:36:29 +02:00
Emery Hemingway
93590f2c07
Condense contract and expand to mapEmbeds
2024-01-08 12:36:29 +02:00
Emery Hemingway
0acd369262
Option support in toPreserves and fromPreserves
2024-01-08 12:36:29 +02:00
Emery Hemingway
501d6cc012
preserves_schema_nim: merged And patterns with optionals
2024-01-08 12:36:29 +02:00
Emery Hemingway
a52e84dd70
Step by varargs[Value, toPreserves]
2024-01-08 12:36:29 +02:00
Emery Hemingway
a83c9ad3a4
$: do not write #! twice
2024-01-08 12:36:29 +02:00
Emery Hemingway
b67e6f089b
preserves_schema_nim: always mark embedded fields
2024-01-08 12:36:29 +02:00
Emery Hemingway
25d42f9498
Add toRecord sugar
2024-01-08 12:36:29 +02:00
Emery Hemingway
97ab7ce070
preserves_schema_nim: better recursive type detection
2024-01-08 12:36:29 +02:00
Emery Hemingway
c01e587e5b
preserves_schema_nim: use Table for And types
2024-01-08 12:36:29 +02:00
Emery Hemingway
43498a4b94
preserves_schema_nim: rearrange some internal parameters
2024-01-08 12:36:29 +02:00
Emery Hemingway
a5cc0a431d
preserves_schema_nim: remove type parameterization
2024-01-08 12:36:29 +02:00
Emery Hemingway
10fc78172e
Add `&` operator
2024-01-08 12:36:29 +02:00
Emery Hemingway
867d25afee
Remodel Preserves[E] into Value
...
Using a parameterized Preserve[E] type is too much hassle. Replace
with a Value type with an embedded field of "ref RootObj".
2024-01-08 12:36:29 +02:00
Emery Hemingway
85cef2e1d2
Generate dot files only with Tup
2024-01-01 17:32:53 +02:00
Emery Hemingway
c2bce1404a
Add Atom type
...
Type for holding constant Preserves values create at compile-time.
This is a prerequisite for making embedded values "ref RootObj".
It is also requesite for making Value a ref object.
2024-01-01 17:32:52 +02:00
Emery Hemingway
441bd253b0
Schema: convert Ref alternates to NamedPatterns
2024-01-01 17:32:52 +02:00
Emery Hemingway
3606ce5459
Schema: parse the embeddedType
2024-01-01 17:32:52 +02:00
Emery Hemingway
b165c64475
Parse more schema
2024-01-01 17:32:52 +02:00
Emery Hemingway
18f8f8e6b2
Schema: parse annotations on patterns, parse line comments
2024-01-01 17:32:52 +02:00
Emery Hemingway
d146b213b4
Add Value alias to Preserve[void]
2024-01-01 17:32:52 +02:00
Emery Hemingway
60938612c5
Rename schemac compiler to preserves-schemac
2024-01-01 17:32:52 +02:00
Emery Hemingway
b7224d7a4a
Reorder PEG
2024-01-01 17:32:52 +02:00
Emery Hemingway
f28c1a4c83
Validate strings as UTF-8 during parsing
2024-01-01 17:32:52 +02:00
Emery Hemingway
12bc024992
Cleanup text encoding
2024-01-01 17:32:52 +02:00
Emery Hemingway
d1e3b00134
Allow leading zeros when parsing numbers
2024-01-01 17:32:52 +02:00
Emery Hemingway
d3a236bb92
UTF-16 surrogate pair parsing
2024-01-01 17:32:52 +02:00
Emery Hemingway
8a70cd0987
Fix float parsing
2024-01-01 17:32:52 +02:00
Emery Hemingway
e43371da87
Adjust UTF-16 parsing
2024-01-01 17:32:52 +02:00
Emery Hemingway
44f98163d9
Unify string and symbol escaping
2024-01-01 17:32:52 +02:00
Emery Hemingway
32ed35adce
Unescape symbols during parse
2024-01-01 17:32:52 +02:00
Emery Hemingway
c622d39c3f
Parse require delimiters after bools, numbers, symbols
2024-01-01 17:32:52 +02:00
Emery Hemingway
c9c231914b
Looser symbol parsing
2024-01-01 17:32:52 +02:00
Emery Hemingway
10ceb9ec88
Allow float suffix of 'f' or 'F'
2024-01-01 17:32:52 +02:00
Emery Hemingway
cf5efb7d86
Make NaN equal NaN
2024-01-01 17:32:52 +02:00
Emery Hemingway
75916ea0dd
Convert awkard floats to hex
2024-01-01 17:32:52 +02:00
Emery Hemingway
a2024f4111
Parsing: accept '+' prefix on numbers
2024-01-01 17:32:52 +02:00
Emery Hemingway
cedf25d1c3
Split pkSignedInteger into pkRegister and pkBigInt
2024-01-01 17:32:50 +02:00
Emery Hemingway
558a1a862a
PEG: tweak commas and symbols
2023-12-25 10:08:10 +02:00
Emery Hemingway
dbe9f3566f
Add raw floats and doubles to parser
2023-12-25 10:08:10 +02:00