From 40f20a3ca899a6cc330e5cfd7c4b847be7abf6c8 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sat, 16 Dec 2023 00:21:28 +0200 Subject: [PATCH] schema: extract And clauses --- src/preserves/schemaparse.nim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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