pub enum ValidationError {
UndefinedSymbol {
symbol: SymbolId,
location: String,
},
UnreachableSymbol {
symbol: SymbolId,
name: String,
},
NonProductiveSymbol {
symbol: SymbolId,
name: String,
},
CyclicRule {
symbols: Vec<SymbolId>,
},
DuplicateRule {
symbol: SymbolId,
existing_count: usize,
},
InvalidField {
field_id: FieldId,
rule_symbol: SymbolId,
},
EmptyGrammar,
NoExplicitStartRule,
ConflictingPrecedence {
symbol: SymbolId,
precedences: Vec<i16>,
},
InvalidRegex {
token: SymbolId,
pattern: String,
error: String,
},
ExternalTokenConflict {
token1: String,
token2: String,
},
}Expand description
Grammar validation errors
Variants§
UndefinedSymbol
Undefined symbol referenced
UnreachableSymbol
Unreachable symbol (not reachable from start)
NonProductiveSymbol
Non-productive symbol (can’t derive terminal strings)
CyclicRule
Cyclic rule without base case
DuplicateRule
Duplicate rule definition
Fields
InvalidField
Invalid field mapping
EmptyGrammar
Empty grammar
NoExplicitStartRule
Grammar has no explicit start rule
ConflictingPrecedence
Conflicting precedence declarations
Fields
InvalidRegex
Invalid regex pattern
Fields
ExternalTokenConflict
External token conflict
Trait Implementations§
Source§impl Clone for ValidationError
impl Clone for ValidationError
Source§fn clone(&self) -> ValidationError
fn clone(&self) -> ValidationError
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ValidationError
impl Debug for ValidationError
Source§impl Display for ValidationError
impl Display for ValidationError
Source§impl PartialEq for ValidationError
impl PartialEq for ValidationError
impl Eq for ValidationError
impl StructuralPartialEq for ValidationError
Auto Trait Implementations§
impl Freeze for ValidationError
impl RefUnwindSafe for ValidationError
impl Send for ValidationError
impl Sync for ValidationError
impl Unpin for ValidationError
impl UnsafeUnpin for ValidationError
impl UnwindSafe for ValidationError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.