sundaysebasidian-byte/moonabnf/examples/request_line does not have a README file

    RequestLine

    pub(all) struct RequestLine {
    verb : (Int, Int)
    path : (Int, Int)
    query : (Int, Int)?
    major : Int
    minor : Int
    } derive(Eq)

    Fields lifted from a successful request-line derivation. Every field is a [start, end) byte span of the original input; nothing is copied or decoded.

    RequestLine::equal

    fn RequestLine::equal(RequestLine, RequestLine) -> Bool

    RequestLine::not_equal

    fn RequestLine::not_equal(x : RequestLine, y : RequestLine) -> Bool

    dump

    fn dump(tree :
    InputTree
    , input : Bytes) -> String

    Indented rule-level view of one derivation, e.g. request-line [0,24) "GET /a?x=1 HTTP/1.1\r\n". Nodes that are only sequence/choice/repeat structure are skipped; per-byte character rules are hidden.

    extract

    Precondition: tree is a successful request-line tree for grammar(). Looks nodes up by rule name instead of relying on incidental node ids.

    grammar

    fn grammar() -> Bytes

    ABNF text for an HTTP/1.1 request line, as caller-supplied grammar bytes. Scope: origin-form targets only (no absolute-form, authority-form or *).

    parse

    fn parse(program :
    Program
    , input : Bytes) -> Result[RequestLine, String]

    Parse a complete request line (including its CRLF) into spans. Err carries the farthest byte offset reached, or a budget notice.

    Source Files