diff --git a/src/preserves/schemaparse.nim b/src/preserves/schemaparse.nim index 5e3b5b5..0ccbea8 100644 --- a/src/preserves/schemaparse.nim +++ b/src/preserves/schemaparse.nim @@ -136,7 +136,9 @@ const parser = peg("Schema", p: ParseState): initRecord(toSymbol"lit", parsePreserves $1)] pushStack n - AndPattern <- ?('&' * S) * NamedPattern * +(S * '&' * S * NamedPattern) + AndPattern <- ?('&' * S) * NamedPattern * +(S * '&' * S * NamedPattern): + var node = initRecord(toSymbol("and"), toPreserve takeStackAt()) + pushStack node Pattern <- SimplePattern | CompoundPattern