///|
/// Errors that can occur during cucumber expression parsing.
pub suberror ExpressionError {
/// Unmatched opening brace `{`.
UnmatchedBrace(position~ : Int, message~ : String)
/// Unmatched opening parenthesis `(`.
UnmatchedParen(position~ : Int, message~ : String)
/// Cannot escape the given character.
CannotEscape(position~ : Int, character~ : Char, message~ : String)
/// End of line cannot be escaped.
UnexpectedEscapeEnd(position~ : Int, message~ : String)
/// Expression validation error (e.g., nested optionals, empty alternation).
ValidationError(position~ : Int, message~ : String)
/// Unknown parameter type name.
UnknownParameterType(name~ : String, message~ : String)
} derive(Show)