From 21052681b6865cbbd58163a3eca70a929ad326e0 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Wed, 17 Nov 2021 14:21:15 +0000 Subject: [PATCH] schemaparse: fix parsing of atoms to Preserves --- src/preserves/schemaparse.nim | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/src/preserves/schemaparse.nim b/src/preserves/schemaparse.nim index ff2709f..cd70a68 100644 --- a/src/preserves/schemaparse.nim +++ b/src/preserves/schemaparse.nim @@ -156,16 +156,28 @@ const parser = peg("Schema", p: ParseState): AnyPattern <- "any": pushStack toSymbol"any" - AtomKindPattern <- - "bool" | - "float" | - "double" | - "int" | - "string" | - "bytes" | - "symbol": - var n = initRecord(toSymbol"atom", toSymbol(capitalizeAscii $0)) - pushStack n + AtomKindPattern <- Boolean | Float | Double | SignedInteger | String | ByteString | Symbol + + Boolean <- "bool": + pushStack initRecord(toSymbol"atom", toSymbol"Boolean") + + Float <- "float": + pushStack initRecord(toSymbol"atom", toSymbol"Float") + + Double <- "double": + pushStack initRecord(toSymbol"atom", toSymbol"Double") + + SignedInteger <- "int": + pushStack initRecord(toSymbol"atom", toSymbol"SignedInteger") + + String <- "string": + pushStack initRecord(toSymbol"atom", toSymbol"String") + + ByteString <- "bytes": + pushStack initRecord(toSymbol"atom", toSymbol"ByteString") + + Symbol <- "symbol": + pushStack initRecord(toSymbol"atom", toSymbol"Symbol") EmbeddedPattern <- "#!" * SimplePattern: var n = initRecord(toSymbol"embedded", popStack())