pub struct SemanticAnalyzer {
pub symbol_table: SymbolTable,
pub type_checker: TypeChecker,
pub rules: Vec<SemanticRule>,
pub errors: Vec<ParseError>,
}Expand description
Semantic analyzer for DSL validation
Fields§
§symbol_table: SymbolTableSymbol table
type_checker: TypeCheckerType checker
rules: Vec<SemanticRule>Validation rules
errors: Vec<ParseError>Error collector
Trait Implementations§
Source§impl Clone for SemanticAnalyzer
impl Clone for SemanticAnalyzer
Source§fn clone(&self) -> SemanticAnalyzer
fn clone(&self) -> SemanticAnalyzer
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 SemanticAnalyzer
impl Debug for SemanticAnalyzer
Source§impl<'de> Deserialize<'de> for SemanticAnalyzer
impl<'de> Deserialize<'de> for SemanticAnalyzer
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SemanticAnalyzer
impl RefUnwindSafe for SemanticAnalyzer
impl Send for SemanticAnalyzer
impl Sync for SemanticAnalyzer
impl Unpin for SemanticAnalyzer
impl UnwindSafe for SemanticAnalyzer
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more