BraceLeft
Matches the ASCII/Unicode codepoint 0x7b.
enum BraceLeftAll ASCIITerminal types can match a(n) BraceLeft character.
Matches the ASCII/Unicode codepoint 0x7b.
enum BraceLefts7Grammar15UnicodeEncodingOA2A13ASCIITerminalR_rlE9BraceLeftO What are these?4XEPAwhere Terminal:ASCIITerminalAll ASCIITerminal types can match a(n) BraceLeft character.
import Grammarenum UnicodeEncoding<Location, Terminal>A generic context for unicode definitions.
protocol ASCIITerminal : EquatableA terminal type that can match an ASCII pattern.
enum AMatches the letter 'A', without case-sensitivity.
enum AcknowledgementMatches the ASCII/Unicode codepoint 0x06.
enum AmpersandMatches the ASCII/Unicode codepoint 0x26.
enum AngleLeftMatches the ASCII/Unicode codepoint 0x3c.
enum AngleRightMatches the ASCII/Unicode codepoint 0x3e.
enum AsteriskMatches the ASCII/Unicode codepoint 0x2a.
enum AtMatches the ASCII/Unicode codepoint 0x40.
enum BMatches the letter 'B', without case-sensitivity.
enum BackslashMatches the ASCII/Unicode codepoint 0x5c.
enum BackspaceMatches the ASCII/Unicode codepoint 0x08.
enum BacktickMatches the ASCII/Unicode codepoint 0x60.
enum BellMatches the ASCII/Unicode codepoint 0x07.
enum BraceRightMatches the ASCII/Unicode codepoint 0x7d.
enum BracketLeftMatches the ASCII/Unicode codepoint 0x5b.
enum BracketRightMatches the ASCII/Unicode codepoint 0x5d.
enum CMatches the letter 'C', without case-sensitivity.
enum CancelMatches the ASCII/Unicode codepoint 0x18.
enum CaretMatches the ASCII/Unicode codepoint 0x5e.
enum CarriageReturnMatches the ASCII/Unicode codepoint 0x0d.
enum ColonMatches the ASCII/Unicode codepoint 0x3a.
enum CommaMatches the ASCII/Unicode codepoint 0x2c.
enum DMatches the letter 'D', without case-sensitivity.
enum DataLinkEscapeMatches the ASCII/Unicode codepoint 0x10.
enum DeleteMatches the ASCII/Unicode codepoint 0x7f.
enum DeviceControl1Matches the ASCII/Unicode codepoint 0x11.
enum DeviceControl2Matches the ASCII/Unicode codepoint 0x12.
enum DeviceControl3Matches the ASCII/Unicode codepoint 0x13.
enum DeviceControl4Matches the ASCII/Unicode codepoint 0x14.
enum DollarMatches the ASCII/Unicode codepoint 0x24.
enum DoubleQuoteMatches the ASCII/Unicode codepoint 0x22.
enum EMatches the letter 'E', without case-sensitivity.
enum EightMatches the ASCII/Unicode codepoint 0x38.
enum EndOfMediumMatches the ASCII/Unicode codepoint 0x19.
enum EndOfTextMatches the ASCII/Unicode codepoint 0x03.
enum EndOfTransmissionMatches the ASCII/Unicode codepoint 0x04.
enum EndOfTransmissionBlockMatches the ASCII/Unicode codepoint 0x17.
enum EnquiryMatches the ASCII/Unicode codepoint 0x05.
enum EqualsMatches the ASCII/Unicode codepoint 0x3d.
enum EscapeMatches the ASCII/Unicode codepoint 0x1b.
enum ExclamationMatches the ASCII/Unicode codepoint 0x21.
enum FMatches the letter 'F', without case-sensitivity.
enum FileSeparatorMatches the ASCII/Unicode codepoint 0x1c.
enum FiveMatches the ASCII/Unicode codepoint 0x35.
enum FormfeedMatches the ASCII/Unicode codepoint 0x0c.
enum FourMatches the ASCII/Unicode codepoint 0x34.
enum GMatches the letter 'G', without case-sensitivity.
enum GroupSeparatorMatches the ASCII/Unicode codepoint 0x1d.
enum HMatches the letter 'H', without case-sensitivity.
enum HashtagMatches the ASCII/Unicode codepoint 0x23.
enum HorizontalTabMatches the ASCII/Unicode codepoint 0x09.
enum HyphenMatches the ASCII/Unicode codepoint 0x2d.
enum IMatches the letter 'I', without case-sensitivity.
enum JMatches the letter 'J', without case-sensitivity.
enum KMatches the letter 'K', without case-sensitivity.
enum LMatches the letter 'L', without case-sensitivity.
enum LinefeedMatches the ASCII/Unicode codepoint 0x0a.
enum LowercaseAMatches the lowercase letter 'a'.
enum LowercaseBMatches the lowercase letter 'b'.
enum LowercaseCMatches the lowercase letter 'c'.
enum LowercaseDMatches the lowercase letter 'd'.
enum LowercaseEMatches the lowercase letter 'e'.
enum LowercaseFMatches the lowercase letter 'f'.
enum LowercaseGMatches the lowercase letter 'g'.
enum LowercaseHMatches the lowercase letter 'h'.
enum LowercaseIMatches the lowercase letter 'i'.
enum LowercaseJMatches the lowercase letter 'j'.
enum LowercaseKMatches the lowercase letter 'k'.
enum LowercaseLMatches the lowercase letter 'l'.
enum LowercaseMMatches the lowercase letter 'm'.
enum LowercaseNMatches the lowercase letter 'n'.
enum LowercaseOMatches the lowercase letter 'o'.
enum LowercasePMatches the lowercase letter 'p'.
enum LowercaseQMatches the lowercase letter 'q'.
enum LowercaseRMatches the lowercase letter 'r'.
enum LowercaseSMatches the lowercase letter 's'.
enum LowercaseTMatches the lowercase letter 't'.
enum LowercaseUMatches the lowercase letter 'u'.
enum LowercaseVMatches the lowercase letter 'v'.
enum LowercaseWMatches the lowercase letter 'w'.
enum LowercaseXMatches the lowercase letter 'x'.
enum LowercaseYMatches the lowercase letter 'y'.
enum LowercaseZMatches the lowercase letter 'z'.
enum MMatches the letter 'M', without case-sensitivity.
enum NMatches the letter 'N', without case-sensitivity.
enum NegativeAcknowledgementMatches the ASCII/Unicode codepoint 0x15.
enum NewlineParses a newline; either a Linefeed or a CarriageReturn followed by a Linefeed.
enum NineMatches the ASCII/Unicode codepoint 0x39.
enum NullMatches the ASCII/Unicode codepoint 0x00.
enum OMatches the letter 'O', without case-sensitivity.
enum OneMatches the ASCII/Unicode codepoint 0x31.
enum PMatches the letter 'P', without case-sensitivity.
enum ParenthesisLeftMatches the ASCII/Unicode codepoint 0x28.
enum ParenthesisRightMatches the ASCII/Unicode codepoint 0x29.
enum PercentMatches the ASCII/Unicode codepoint 0x25.
enum PeriodMatches the ASCII/Unicode codepoint 0x2e.
enum PipeMatches the ASCII/Unicode codepoint 0x7c.
enum PlusMatches the ASCII/Unicode codepoint 0x2b.
enum QMatches the letter 'Q', without case-sensitivity.
enum QuestionMatches the ASCII/Unicode codepoint 0x3f.
enum RMatches the letter 'R', without case-sensitivity.
enum RecordSeparatorMatches the ASCII/Unicode codepoint 0x1e.
enum SMatches the letter 'S', without case-sensitivity.
enum SemicolonMatches the ASCII/Unicode codepoint 0x3b.
enum SevenMatches the ASCII/Unicode codepoint 0x37.
enum ShiftInMatches the ASCII/Unicode codepoint 0x0f.
enum ShiftOutMatches the ASCII/Unicode codepoint 0x0e.
enum SingleQuoteMatches the ASCII/Unicode codepoint 0x27.
enum SixMatches the ASCII/Unicode codepoint 0x36.
enum SlashMatches the ASCII/Unicode codepoint 0x2f.
enum SpaceMatches the ASCII/Unicode codepoint 0x20.
enum StartOfHeadingMatches the ASCII/Unicode codepoint 0x01.
enum StartOfTextMatches the ASCII/Unicode codepoint 0x02.
enum SubstituteMatches the ASCII/Unicode codepoint 0x1a.
enum SynchronousIdleMatches the ASCII/Unicode codepoint 0x16.
enum TMatches the letter 'T', without case-sensitivity.
enum ThreeMatches the ASCII/Unicode codepoint 0x33.
enum TildeMatches the ASCII/Unicode codepoint 0x7e.
enum TwoMatches the ASCII/Unicode codepoint 0x32.
enum UMatches the letter 'U', without case-sensitivity.
enum UnderscoreMatches the ASCII/Unicode codepoint 0x5f.
enum UnitSeparatorMatches the ASCII/Unicode codepoint 0x1f.
enum UppercaseAMatches the uppercase letter 'A'.
enum UppercaseBMatches the uppercase letter 'B'.
enum UppercaseCMatches the uppercase letter 'C'.
enum UppercaseDMatches the uppercase letter 'D'.
enum UppercaseEMatches the uppercase letter 'E'.
enum UppercaseFMatches the uppercase letter 'F'.
enum UppercaseGMatches the uppercase letter 'G'.
enum UppercaseHMatches the uppercase letter 'H'.
enum UppercaseIMatches the uppercase letter 'I'.
enum UppercaseJMatches the uppercase letter 'J'.
enum UppercaseKMatches the uppercase letter 'K'.
enum UppercaseLMatches the uppercase letter 'L'.
enum UppercaseMMatches the uppercase letter 'M'.
enum UppercaseNMatches the uppercase letter 'N'.
enum UppercaseOMatches the uppercase letter 'O'.
enum UppercasePMatches the uppercase letter 'P'.
enum UppercaseQMatches the uppercase letter 'Q'.
enum UppercaseRMatches the uppercase letter 'R'.
enum UppercaseSMatches the uppercase letter 'S'.
enum UppercaseTMatches the uppercase letter 'T'.
enum UppercaseUMatches the uppercase letter 'U'.
enum UppercaseVMatches the uppercase letter 'V'.
enum UppercaseWMatches the uppercase letter 'W'.
enum UppercaseXMatches the uppercase letter 'X'.
enum UppercaseYMatches the uppercase letter 'Y'.
enum UppercaseZMatches the uppercase letter 'Z'.
enum VMatches the letter 'V', without case-sensitivity.
enum VerticalTabMatches the ASCII/Unicode codepoint 0x0b.
enum WMatches the letter 'W', without case-sensitivity.
enum XMatches the letter 'X', without case-sensitivity.
enum YMatches the letter 'Y', without case-sensitivity.
enum ZMatches the letter 'Z', without case-sensitivity.
enum ZeroMatches the ASCII/Unicode codepoint 0x30.
protocol AtomicRule<Terminal> : TerminalRule where Self.Construction == (), Self.Terminal : EquatableA parsing rule that matches terminals against a constant value.
protocol ParsingRule<Terminal>A structured parsing rule.
protocol TerminalRule<Terminal, Construction> : ParsingRuleA parsing rule that is applied to a single terminal at a time.
static var terminal: Terminal { get }static func parse<Source>(_ input: inout ParsingInput<some ParsingDiagnostics<Source>>) throws where Self.Location == Source.Index, Self.Terminal == Source.Element static func parse<Source>(_ source: Source) throws -> Construction where Source : Collection, Self.Location == Source.Index, Self.Terminal == Source.Element Attempts to parse the given input completely.
static func parse<Diagnostics>(_ input: inout ParsingInput<Diagnostics>) throws -> Construction where Diagnostics : ParsingDiagnostics, Self.Location == Diagnostics.Source.Index, Self.Terminal == Diagnostics.Source.Element static func parse<Source, Vector>(_ source: Source, into _: Vector.Type = Vector.self) throws -> Vector where Source : Collection, Vector : RangeReplaceableCollection, Self.Construction == Vector.Element, Self.Location == Source.Index, Self.Terminal == Source.Element Attempts to parse the given input completely by applying this rule repeatedly.
static func parse<Source>(diagnosing source: Source) throws -> Construction where Source : Collection, Self.Location == Source.Index, Self.Terminal == Source.Element Attempts to parse the given input completely, emitting diagnostics if parsing failed.
static func parse(terminal: Terminal) -> Void?