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())