Struct enso_flexer::group::Registry [−][src]
pub struct Registry { /* fields omitted */ }
Expand description
The group Registry is a container for Group
s in the flexer implementation.
It allows groups to contain associations between themselves, and also implements useful conversions for groups.
Implementations
impl Registry
[src]
impl Registry
[src]pub fn define_group(
&mut self,
name: impl Into<String>,
parent_index: Option<Identifier>
) -> Identifier
[src]
pub fn define_group(
&mut self,
name: impl Into<String>,
parent_index: Option<Identifier>
) -> Identifier
[src]Defines a new group of rules for the lexer with the specified name
and parent
.
It returns the identifier of the newly-created group.
pub fn add_group(&mut self, group: Group) -> Identifier
[src]
pub fn add_group(&mut self, group: Group) -> Identifier
[src]Adds an existing group
to the registry, updating and returning its identifier.
pub fn create_rule(
&mut self,
group: Identifier,
pattern: &Pattern,
callback: impl AsRef<str>
)
[src]
pub fn create_rule(
&mut self,
group: Identifier,
pattern: &Pattern,
callback: impl AsRef<str>
)
[src]Creates a rule that matches pattern
for the group identified by group_id
.
Panics if group_id
refers to a nonexistent group.
pub fn add_rule(&mut self, group: Identifier, rule: Rule)
[src]
pub fn add_rule(&mut self, group: Identifier, rule: Rule)
[src]Associates the provided rule
with the group identified by group_id
.
Panics if group_id
refers to a nonexistent group.
pub fn rules_for(&self, group: Identifier) -> Vec<&Rule>ⓘ
[src]
pub fn rules_for(&self, group: Identifier) -> Vec<&Rule>ⓘ
[src]Collates the entire set of rules that are matchable when the lexer has the group identified
by group_id
as active.
This set of rules includes the rules inherited from any parent groups.
pub fn group(&self, group: Identifier) -> &Group
[src]
pub fn group(&self, group: Identifier) -> &Group
[src]Obtains a reference to the group for the given group_id
.
As group identifiers can only be created by use of this Registry
, this will always
succeed.
pub fn group_mut(&mut self, group: Identifier) -> &mut Group
[src]
pub fn group_mut(&mut self, group: Identifier) -> &mut Group
[src]Obtains a mutable reference to the group for the given group_id
.
As group identifiers can only be created by use of this Registry
, this will always
succeed.
pub fn to_nfa_from(&self, group_id: Identifier) -> AutomatonData
[src]
pub fn to_nfa_from(&self, group_id: Identifier) -> AutomatonData
[src]Converts the group identified by group_id
into an NFA.
Returns None
if the group does not exist, or if the conversion fails.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Registry
impl Send for Registry
impl Sync for Registry
impl Unpin for Registry
impl UnwindSafe for Registry
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> HasRefValue for T where
T: ?Sized,
[src]
impl<T> HasRefValue for T where
T: ?Sized,
[src]type RefValue = T
impl<T> PhantomConversions for T
[src]
impl<T> PhantomConversions for T
[src]fn phantom_into<P>() -> P where
Self: PhantomInto<P>,
[src]
Self: PhantomInto<P>,
fn phantom_from<P>() -> Self where
P: PhantomInto<Self>,
[src]
P: PhantomInto<Self>,
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
pub fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> TypeDisplay for T
[src]
impl<T> TypeDisplay for T
[src]pub default fn type_display() -> String
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T> Writer for T
[src]
impl<T> Writer for T
[src]pub default fn write_by_level(&self, message: &Array)
[src]
pub default fn write_by_level(&self, message: &Array)
[src]Write message using the appropriate console method.