schemaparse: fix parsing of atoms to Preserves
This commit is contained in:
parent
9f29722a0d
commit
21052681b6
|
@ -156,16 +156,28 @@ const parser = peg("Schema", p: ParseState):
|
||||||
AnyPattern <- "any":
|
AnyPattern <- "any":
|
||||||
pushStack toSymbol"any"
|
pushStack toSymbol"any"
|
||||||
|
|
||||||
AtomKindPattern <-
|
AtomKindPattern <- Boolean | Float | Double | SignedInteger | String | ByteString | Symbol
|
||||||
"bool" |
|
|
||||||
"float" |
|
Boolean <- "bool":
|
||||||
"double" |
|
pushStack initRecord(toSymbol"atom", toSymbol"Boolean")
|
||||||
"int" |
|
|
||||||
"string" |
|
Float <- "float":
|
||||||
"bytes" |
|
pushStack initRecord(toSymbol"atom", toSymbol"Float")
|
||||||
"symbol":
|
|
||||||
var n = initRecord(toSymbol"atom", toSymbol(capitalizeAscii $0))
|
Double <- "double":
|
||||||
pushStack n
|
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:
|
EmbeddedPattern <- "#!" * SimplePattern:
|
||||||
var n = initRecord(toSymbol"embedded", popStack())
|
var n = initRecord(toSymbol"embedded", popStack())
|
||||||
|
|
Loading…
Reference in New Issue