pub struct GrammarRule {
pub name: String,
pub expr: GrammarExpr,
pub kind: RuleKind,
pub concept: Option<String>,
pub doc: Option<String>,
}Expand description
A named grammar rule.
Fields§
§name: StringRule name.
expr: GrammarExprRule expression.
kind: RuleKindRule participation kind.
concept: Option<String>Optional concept-ontology alignment.
doc: Option<String>Optional free-text documentation or comment.
Implementations§
Source§impl GrammarRule
impl GrammarRule
Sourcepub fn new(name: impl Into<String>, expr: GrammarExpr) -> Self
pub fn new(name: impl Into<String>, expr: GrammarExpr) -> Self
Builds a normal grammar rule.
Sourcepub const fn with_kind(self, kind: RuleKind) -> Self
pub const fn with_kind(self, kind: RuleKind) -> Self
Returns this rule with a different rule kind.
Sourcepub fn with_concept(self, concept: impl Into<String>) -> Self
pub fn with_concept(self, concept: impl Into<String>) -> Self
Returns this rule with concept-ontology alignment.
Sourcepub fn with_doc(self, doc: impl Into<String>) -> Self
pub fn with_doc(self, doc: impl Into<String>) -> Self
Returns this rule with documentation text.
Sourcepub const fn expr(&self) -> &GrammarExpr
pub const fn expr(&self) -> &GrammarExpr
Rule expression.
Trait Implementations§
Source§impl Clone for GrammarRule
impl Clone for GrammarRule
Source§fn clone(&self) -> GrammarRule
fn clone(&self) -> GrammarRule
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 GrammarRule
impl Debug for GrammarRule
Source§impl PartialEq for GrammarRule
impl PartialEq for GrammarRule
Source§fn eq(&self, other: &GrammarRule) -> bool
fn eq(&self, other: &GrammarRule) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for GrammarRule
impl StructuralPartialEq for GrammarRule
Auto Trait Implementations§
impl Freeze for GrammarRule
impl RefUnwindSafe for GrammarRule
impl Send for GrammarRule
impl Sync for GrammarRule
impl Unpin for GrammarRule
impl UnsafeUnpin for GrammarRule
impl UnwindSafe for GrammarRule
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
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§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.