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
501d6cc012
preserves_schema_nim: merged And patterns with optionals
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
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
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
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
Emery Hemingway
82631b1a01
Stop running nim doc
2023-12-25 10:08:10 +02:00
Emery Hemingway
adadcc181a
Move some of preserves implementation to preserves/private
2023-12-25 10:08:03 +02:00
Emery Hemingway
126365d164
Remove superfluous PEG whitspace rules
2023-12-24 21:24:02 +02:00
Emery Hemingway
5267b7dc13
Generate graphs for PEGs
2023-12-24 21:24:02 +02:00
Emery Hemingway
c1eb0a513a
schemac: Bundle is now a ref obj
2023-12-24 21:24:02 +02:00
Emery Hemingway
40f20a3ca8
schema: extract And clauses
2023-12-24 21:24:02 +02:00
Emery Hemingway
218ca7a669
schemaparse: parse them commas
2023-12-24 21:24:02 +02:00
Emery Hemingway
c83b78aef7
Replace comment marker ; with #
2023-12-24 21:24:02 +02:00
Emery Hemingway
6e0834316f
Fix code-gen for embedded literals
2023-10-26 15:32:35 +01:00
Emery Hemingway
71acd4c951
Regenerate schema
2023-10-26 15:29:28 +01:00
Emery Hemingway
edece399be
Support standard Preserves text encoding as well as JSON
2023-10-21 18:40:14 +01:00
Emery Hemingway
57f9984007
preserves_schema_nim: add acyclic pragmas
2023-08-16 08:33:11 +01:00
Emery Hemingway
ec77872467
Port preserves_schema_nim to Nim-2.0.0
2023-08-16 08:33:11 +01:00
Emery Hemingway
b563de9ac4
Remove threads and gcsafe where parsing is used
2023-08-16 08:33:11 +01:00
Emery Hemingway
e65dc2271f
Preserve JSON object keys as symbols
2023-08-01 11:09:29 +01:00