#[repr(C)]
pub struct ValkyrieParser {}
Expand description
Program START_OF_INPUT HIDE Shebang [0, ∞] HIDE Statement HIDE END_OF_INPUT Statement DefineNamespace DefineClass DefineUnion DefineEnumerate DefineTrait DefineExtends DefineFunction DefineVariable DefineImport ControlFlow WhileStatement ForStatement ExpressionRoot EOS EOS [;;] ⁏|;; EOS_FREE [,,;;⁏] DefineNamespace KW_NAMESPACE HIDE OP_NAMESPACE HIDE NamepathFree HIDE EOS OP_NAMESPACE ! ? * DefineImport [0, ∞] HIDE AnnotationTerm HIDE KW_IMPORT HIDE EOS_FREE ImportBlock HIDE EOS_FREE ImportTerm HIDE EOS_FREE ImportBlock { HIDE [0, ∞] HIDE ImportTerm HIDE } ImportTerm ImportAll ImportSpace ImportName EOS_FREE ImportAll [1, ∞] HIDE Identifier HIDE NS_CONCAT HIDE OP_IMPORT_ALL ImportSpace Identifier HIDE [0, ∞] HIDE NS_CONCAT HIDE Identifier HIDE NS_CONCAT HIDE ImportBlock ImportName [0, ∞] HIDE Identifier HIDE NS_CONCAT HIDE ImportNameItem HIDE ImportAs ImportAs KW_AS HIDE ImportNameItem ImportNameItem ProceduralName AttributeName Identifier DefineConstraint AnnotationHead HIDE KW_CONSTRAINT HIDE ConstraintParameters HIDE ConstraintBlock ConstraintParameters Identifier HIDE [0, ∞] HIDE COMMA HIDE Identifier HIDE COMMA < HIDE Identifier HIDE [0, ∞] HIDE COMMA HIDE Identifier HIDE COMMA HIDE > HIDE Identifier HIDE [0, ∞] HIDE COMMA HIDE Identifier HIDE COMMA HIDE ConstraintBlock { HIDE [0, ∞] HIDE ConstraintStatement ConstraintImplements EOS_FREE HIDE } ConstraintStatement WhereBlock ConstraintImplements KW_IMPLEMENTS WhereBlock KW_WHERE HIDE { HIDE [0, ∞] HIDE WhereBound HIDE } WhereBound EOS_FREE DefineClass DefineConstraint HIDE AnnotationHead HIDE KW_CLASS HIDE Identifier HIDE DefineGeneric HIDE DefineInherit HIDE TypeHint HIDE ClassBlock HIDE EOS ClassBlock { HIDE [0, ∞] HIDE ClassTerm HIDE } ClassTerm ProceduralCall DefineMethod DefineDomain DefineField EOS_FREE KW_CLASS class structure DefineField AnnotationMix HIDE Identifier HIDE TypeHint HIDE ParameterDefault ParameterDefault = HIDE MainExpression DefineMethod AnnotationMix HIDE Namepath HIDE FunctionMiddle HIDE Continuation DefineDomain AnnotationMix HIDE DomainTerm HIDE { HIDE [0, ∞] HIDE Statement HIDE } DomainTerm Identifier DefineInherit ( HIDE InheritTerm HIDE [0, ∞] HIDE , HIDE InheritTerm HIDE , HIDE ) InheritTerm AnnotationMix HIDE TypeExpression ObjectStatement KW_Object HIDE DefineInherit HIDE TypeHint HIDE ClassBlock HIDE EOS DefineEnumerate AnnotationHead HIDE KW_FLAGS HIDE Identifier HIDE DefineInherit HIDE TypeHint HIDE { HIDE [0, ∞] HIDE FlagTerm HIDE } FlagTerm ProceduralCall DefineMethod FlagField EOS_FREE FlagField Identifier HIDE ParameterDefault DefineUnion DefineConstraint HIDE AnnotationHead HIDE KW_UNION HIDE Identifier HIDE DefineGeneric HIDE DefineInherit HIDE TypeHint HIDE { HIDE [0, ∞] HIDE UnionTerm HIDE } UnionTerm ProceduralCall DefineMethod DefineVariant EOS_FREE DefineVariant [0, ∞] HIDE AnnotationTerm HIDE Identifier HIDE ClassBlock KW_UNION union DefineTrait DefineConstraint HIDE AnnotationHead HIDE KW_TRAIT HIDE Identifier HIDE DefineGeneric HIDE DefineInherit HIDE TypeHint HIDE TraitBlock HIDE EOS DefineExtends DefineConstraint HIDE AnnotationHead HIDE KW_EXTENDS HIDE TypeExpression HIDE TypeHint HIDE TraitBlock HIDE EOS TraitBlock { HIDE [0, ∞] HIDE TraitTerm HIDE } TraitTerm ProceduralCall DefineMethod DefineField EOS_FREE KW_TRAIT trait interface DefineFunction AnnotationHead HIDE KW_FUNCTION HIDE Namepath HIDE FunctionMiddle HIDE Continuation DefineLambda [0, ∞] HIDE AnnotationTerm HIDE KW_LAMBDA HIDE FunctionMiddle HIDE Continuation FunctionMiddle DefineGeneric HIDE ( HIDE FunctionParameters HIDE ) HIDE TypeReturn HIDE TypeEffect TypeHint COLON HIDE TypeExpression TypeReturn ARROW1 HIDE TypeExpression TypeEffect / HIDE TypeExpression FunctionParameters ParameterItem [0, ∞] HIDE COMMA HIDE ParameterItem HIDE COMMA ParameterItem < > ParameterPair ... .. ParameterPair [0, ∞] HIDE ModifierAhead HIDE ParameterHint HIDE Identifier HIDE TypeHint HIDE ParameterDefault ParameterHint [.]{2,3}|[~^] Continuation { HIDE [0, ∞] HIDE Statement HIDE } KW_FUNCTION micro|function macro DefineVariable [0, ∞] HIDE AnnotationTerm HIDE KW_LET HIDE LetPattern HIDE TypeHint HIDE ParameterDefault HIDE EOS LetPattern StandardPattern BarePattern StandardPattern TuplePattern BarePattern BarePatternItem HIDE [0, ∞] HIDE COMMA HIDE BarePatternItem HIDE COMMA BarePatternItem [0, ∞] HIDE ModifierAhead HIDE Identifier TuplePattern Namepath HIDE ( HIDE PatternItem HIDE [0, ∞] HIDE COMMA HIDE PatternItem HIDE COMMA HIDE ) Namepath HIDE { HIDE PatternItem HIDE [0, ∞] HIDE COMMA HIDE PatternItem HIDE COMMA HIDE } [ HIDE PatternItem HIDE [0, ∞] HIDE COMMA HIDE PatternItem HIDE COMMA HIDE ] PatternItem TuplePatternItem ... .. TuplePatternItem AnnotationMix HIDE ParameterHint HIDE Identifier HIDE COLON HIDE StandardPattern WhileStatement KW_WHILE HIDE InlineExpression HIDE Continuation HIDE EOS KW_WHILE while until ForStatement KW_FOR HIDE LetPattern HIDE KW_IN HIDE InlineExpression HIDE IfGuard HIDE Continuation HIDE EOS IfGuard KW_IF HIDE InlineExpression ControlFlow [0, ∞] HIDE AnnotationTerm HIDE KW_CONTROL HIDE JumpLabel HIDE MainExpression JumpLabel ^ Identifier ExpressionRoot [0, ∞] HIDE AnnotationTerm HIDE MainExpression HIDE OP_AND_THEN HIDE EOS MatchExpression KW_MATCH HIDE Identifier HIDE BIND_L HIDE InlineExpression InlineExpression HIDE BIND_R HIDE Identifier HIDE MatchBlock SwitchStatement KW_SWITCH HIDE MatchBlock MatchBlock { HIDE [0, ∞] HIDE MatchTerms HIDE } MatchTerms MatchType MatchCase MatchWhen MatchElse COMMA MatchType KW_TYPE HIDE TypeExpression HIDE IfGuard HIDE COLON HIDE [0, ∞] HIDE MatchStatement MatchCase KW_CASE HIDE CasePattern HIDE IfGuard HIDE COLON HIDE [0, ∞] HIDE MatchStatement CasePattern StandardPattern Namepath MatchWhen KW_WHEN HIDE InlineExpression HIDE COLON HIDE [0, ∞] HIDE MatchStatement MatchElse KW_ELSE HIDE COLON HIDE [0, ∞] HIDE MatchStatement MatchStatement type|case|when|else|[,,] Statement KW_MATCH match catch BIND_L ≔|:= BIND_R ≕|=: DotMatchCall OP_AND_THEN HIDE DOT WhiteSpace KW_MATCH WhiteSpace BIND_R WhiteSpace Identifier WhiteSpace MatchBlock MainExpression MainTerm [0, ∞] HIDE MainInfix HIDE MainTerm MainTerm [0, ∞] MainPrefix HIDE MainFactor [0, ∞] MainSuffixTerm MainFactor SwitchStatement TryStatement MatchExpression DefineLambda ObjectStatement NewStatement GroupFactor Leading GroupFactor ( HIDE MainExpression HIDE ) Leading ProceduralCall TupleLiteralStrict RangeLiteral TextLiteral Slot Number Special Namepath InlineExpression InlineTerm [0, ∞] HIDE MainInfix HIDE InlineTerm InlineTerm [0, ∞] MainPrefix HIDE MainFactor [0, ∞] InlineSuffixTerm InlineSuffixTerm HIDE HIDE MainSuffix HIDE HIDE DotCall InlineTupleCall RangeCall GenericCall TypeExpression TypeTerm [0, ∞] HIDE TypeInfix HIDE TypeTerm TypeTerm [0, ∞] TypePrefix HIDE MainFactor [0, ∞] TypeSuffixTerm TypeFactor ( HIDE TypeExpression HIDE ) Leading TypeSuffixTerm GenericHide TypeSuffix TryStatement KW_TRY HIDE TypeExpression HIDE Continuation NewStatement KW_NEW HIDE [0, ∞] HIDE ModifierAhead HIDE Namepath HIDE GenericHide HIDE TupleLiteral HIDE NewBlock HIDE EOS NewBlock { HIDE NewPair HIDE [0, ∞] HIDE EOS_FREE HIDE NewPair HIDE EOS_FREE HIDE } NewPair NewPairKey HIDE COLON HIDE MainExpression NewPairKey Identifier TextRaw RangeLiteral DotCall OP_AND_THEN HIDE DOT WhiteSpace DotCallItem DotCallItem Namepath Integer DotClosureCall OP_AND_THEN HIDE DOT WhiteSpace Continuation InlineTupleCall WhiteSpace OP_AND_THEN WhiteSpace TupleLiteral TupleCall WhiteSpace OP_AND_THEN WhiteSpace TupleLiteral WhiteSpace Continuation Continuation TupleLiteral ( HIDE TupleTerms HIDE ) TupleLiteralStrict ( HIDE ) ( HIDE TuplePair HIDE COMMA HIDE ) ( HIDE TuplePair [0, ∞] HIDE COMMA HIDE TuplePair HIDE COMMA HIDE ) TupleTerms TuplePair [0, ∞] HIDE COMMA HIDE TuplePair HIDE COMMA TuplePair TupleKey HIDE COLON HIDE MainExpression TupleKey Identifier Integer TextRaw RangeCall WhiteSpace OP_AND_THEN WhiteSpace RangeLiteral RangeLiteral RangeLiteralIndex0 RangeLiteralIndex1 RangeLiteralIndex0 HIDE SubscriptAxis HIDE [0, ∞] HIDE COMMA HIDE SubscriptAxis HIDE COMMA HIDE RangeLiteralIndex1 [ HIDE SubscriptAxis HIDE [0, ∞] HIDE COMMA HIDE SubscriptAxis HIDE COMMA HIDE ] SubscriptAxis SubscriptRange SubscriptOnly SubscriptOnly MainExpression SubscriptRange MainExpression HIDE RangeOmit HIDE MainExpression COLON HIDE MainExpression HIDE COLON HIDE MainExpression RangeOmit PROPORTION COLON HIDE COLON DefineGeneric PROPORTION HIDE < HIDE GenericParameter HIDE > HIDE GenericParameter HIDE GenericParameter GenericParameterPair [0, ∞] HIDE COMMA HIDE GenericParameterPair HIDE COMMA GenericParameterPair Identifier HIDE COLON HIDE TypeExpression HIDE = HIDE TypeExpression GenericCall OP_AND_THEN HIDE PROPORTION HIDE < HIDE GenericTerms HIDE > HIDE GenericTerms HIDE HIDE PROPORTION HIDE Namepath GenericHide PROPORTION HIDE < HIDE GenericTerms HIDE > HIDE GenericTerms HIDE GenericTerms GenericPair [0, ∞] HIDE COMMA HIDE GenericPair HIDE COMMA GenericPair Identifier HIDE COLON HIDE TypeExpression AnnotationHead [0, ∞] HIDE AnnotationTerm HIDE [0, ∞] HIDE ModifierCall AnnotationMix [0, ∞] HIDE AnnotationTermMix HIDE [0, ∞] HIDE ModifierAhead AnnotationTerm AttributeList AttributeCall AnnotationTermMix AttributeList AttributeCall ProceduralCall AttributeList # HIDE [ HIDE AttributeItem HIDE [0, ∞] HIDE HIDE HIDE EOS_FREE HIDE HIDE HIDE AttributeItem HIDE HIDE HIDE EOS_FREE HIDE ] AttributeCall # AttributeItem AttributeItem Namepath HIDE [0, ∞] HIDE DOT HIDE Identifier HIDE TupleLiteral HIDE Continuation AttributeName # Identifier ProceduralCall @ Namepath HIDE TupleLiteral HIDE Continuation ProceduralName @ Identifier TextLiteral Identifier TextRaw TextRaw """" TEXT_CONTENT5 """" '''' TEXT_CONTENT6 '''' """ TEXT_CONTENT3 """ ''' TEXT_CONTENT4 ''' " TEXT_CONTENT1 " ' TEXT_CONTENT2 ' Text_L HIDE Text_R HIDE Text_X HIDE TEXT_CONTENT1 [0, ∞] [^"] TEXT_CONTENT2 [0, ∞] [^'] TEXT_CONTENT3 [1, ∞] """ ANY TEXT_CONTENT4 [1, ∞] ''' ANY TEXT_CONTENT5 [1, ∞] """" ANY TEXT_CONTENT6 [1, ∞] '''' ANY ModifierCall KEYWORDS_STOP Identifier ModifierAhead IDENTIFIER_STOP Identifier Slot OP_SLOT SlotItem SlotItem Integer Identifier NamepathFree Identifier [0, ∞] HIDE PROPORTION2 HIDE Identifier Namepath Identifier [0, ∞] HIDE PROPORTION HIDE Identifier Identifier IdentifierBare IdentifierRaw IdentifierBare [_\p{XID_start}]\p{XID_continue}* IdentifierRaw ` IdentifierRawText ` IdentifierRawText [1, ∞] HIDE [^`] Special [∅∞]|true|false|[?]{3} Number DecimalX Decimal Sign + - Integer [0-9](_*[0-9])* DigitsX [0-9a-zA-Z](_*[0-9a-zA-Z])* Decimal Integer DOT Integer [⁑]|[*]{2} Sign Integer [_]* Identifier DecimalX Integer [⁂]|[*]{3} DigitsX DOT DigitsX [⁑]|[*]{2} Sign Integer [_]* Identifier Identifier PROPORTION2 [..∷]|:: Shebang #! REST_OF_LINE Comment // REST_OF_LINE /* */ StringInterpolations [0, ∞] StringInterpolationTerm END_OF_INPUT StringInterpolationTerm EscapeUnicode EscapeCharacter StringInterpolationSimple StringInterpolationComplex StringInterpolationText EscapeCharacter \\.|\{\{|\}\} EscapeUnicode \u { HIDE EscapeUnicodeCode HIDE } EscapeUnicodeCode [0-9a-zA-Z]* StringInterpolationSimple { HIDE MainExpression HIDE COLON HIDE StringFormatter HIDE } StringInterpolationText [^{}\\]+ StringFormatter [^}]+ StringInterpolationComplex { HIDE MainExpression HIDE [0, ∞] HIDE COMMA HIDE TuplePair HIDE COMMA HIDE } StringTemplates [0, ∞] StringTemplateTerm END_OF_INPUT StringTemplateTerm ForTemplate ExpressionTemplate ExpressionTemplate TEMPLATE_S HIDE MainExpression HIDE TEMPLATE_E ForTemplate ForTemplateBegin ForTemplateElse ForTemplateEnd ForTemplateBegin TEMPLATE_S HIDE KW_FOR HIDE LetPattern HIDE KW_IN HIDE InlineExpression HIDE IfGuard HIDE TEMPLATE_E ForTemplateElse TEMPLATE_S HIDE KW_ELSE HIDE TEMPLATE_E ForTemplateEnd TEMPLATE_S HIDE KW_END HIDE KW_FOR HIDE TEMPLATE_E

Trait Implementations§

source§

impl Clone for ValkyrieParser

source§

fn clone(&self) -> ValkyrieParser

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ValkyrieParser

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ValkyrieParser

source§

fn default() -> ValkyrieParser

Returns the “default value” for a type. Read more
source§

impl Hash for ValkyrieParser

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for ValkyrieParser

source§

fn cmp(&self, other: &ValkyrieParser) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for ValkyrieParser

source§

fn eq(&self, other: &ValkyrieParser) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for ValkyrieParser

source§

fn partial_cmp(&self, other: &ValkyrieParser) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl YggdrasilParser for ValkyrieParser

§

type Rule = ValkyrieRule

Specify the rules of this language
source§

fn parse_cst(input: &str, rule: Self::Rule) -> OutputResult<'_, ValkyrieRule>

Parses a &str starting from rule.
source§

fn parse_lex( input: &str, rule: Self::Rule ) -> Result<TokenStream<'_, Self::Rule>, YggdrasilError<Self::Rule>>

Get flatten token stream
source§

impl Copy for ValkyrieParser

source§

impl Eq for ValkyrieParser

source§

impl StructuralPartialEq for ValkyrieParser

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.