From 10a96834c29e29e5be3e35ec4d4f79ffe07335b9 Mon Sep 17 00:00:00 2001 From: Nicola Vitucci Date: Mon, 28 Apr 2025 10:09:16 +0100 Subject: [PATCH 1/6] Add example of MATCH grammar snippet and railroad diagram --- modules/ROOT/examples/MATCH.bnf | 137 ++++ modules/ROOT/images/railroad/railroad-all.svg | 639 ++++++++++++++++++ modules/ROOT/pages/clauses/match.adoc | 10 + 3 files changed, 786 insertions(+) create mode 100644 modules/ROOT/examples/MATCH.bnf create mode 100644 modules/ROOT/images/railroad/railroad-all.svg diff --git a/modules/ROOT/examples/MATCH.bnf b/modules/ROOT/examples/MATCH.bnf new file mode 100644 index 000000000..05a283f71 --- /dev/null +++ b/modules/ROOT/examples/MATCH.bnf @@ -0,0 +1,137 @@ +# MATCH clause + + ::= + "MATCH" + + ::= + [ ] [ { "," }... ] [ ] + + ::= + [ "=" ] [ ] + + ::= + "ALL" [ "PATH" | "PATHS" ] + | "ANY" [ | "$" ] [ "PATH" | "PATHS" ] + | "ALL" "SHORTEST" [ "PATH" | "PATHS" ] + | "ANY" "SHORTEST" [ "PATH" | "PATHS" ] + | "SHORTEST" { | "$" } [ "PATH" | "PATHS" ] + | "SHORTEST" [ | "$" ] [ "PATH" | "PATHS" ] { "GROUP" | "GROUPS" } + + ::= + + | + + ::= + + | + + ::= + + | + | "?" + + ::= + + | + | "(" [ "=" ] [ "WHERE" ] ")" + + ::= + "(" [ [ ] [ ] | [ ] | ] ")" + + ::= + "WHERE" + | + | "$" + + ::= + "{" "}" + + ::= + [ { "," }... ] + + ::= + ":" + + ::= + "<" "-" [ "[" [ ] "]" ] "-" + | "-" [ "[" [ ] "]" ] "-" ">" + | "<" "-" [ "[" [ ] "]" ] "-" ">" + | "-" [ "[" [ ] "]" ] "-" + + ::= + [ ] [ ] [ ] + | [ ] [ ] + | [ ] + | + + ::= + "*" [ [ ] ".." [ ] | ] + + ::= + "*" + | "+" + | "{" "}" + | "{" [ ] "," [ ] "}" + + ::= + ":" + | { ":" | "IS" }