Protocol fields and choices
Optional and repeated fields with an explicit alternative.
Scope: Grammar structure and bounded exploration only. Parse evidence requires an external engine.
Preview
Source
ebnf-protocol.puml
text/plain
@startebnf
title Protocol line
message = verb, " ", path, [ "?", query ];
verb = "GET" | "POST" | "DELETE";
path = "/", name, { "/", name };
query = name, "=", name, { "&", name, "=", name };
name = ? nonempty text ?;
@endebnf