Enum wagon_lexer::math::Math
source · pub enum Math {
}
Expand description
Lexer for the Math DSL.
Variants§
Identifier(Ident)
An identifier. Gets parsed to an [wagon-ident::Ident
] automatically.
An identifier may be any string of alphanumeric characters, as well as _
. The string must start with a purely alphabetical character.
The identifier may be prepended by $
/&
/*
to specify what type of identifier it is.
LitString(String)
A string, surrounded by either "
or '
.
LBr
[
RBr
]
LCur
{
RCur
}
LPar
(
RPar
)
Lt
<
Gt
>
Semi
;
Colon
:
Comma
,
Path(String)
A Rust style path.
Not
!
And
&&
Or
||
Pow
**
Mul
*
Div
/
Floor
//
Mod
%
Add
+
Sub
-
Eq
==
Neq
!=
Lte
<=
Gte
>=
In
in
If
if
Then
then
Else
else
Assigns
=
Bash(String)
A bash style subprocess. Defined as any string surrounded by $()
LitBool(bool)
Either true
or false
LitInt(i32)
Any integer
LitFloat(f32)
Any float
Trait Implementations§
source§impl<'s> Logos<'s> for Math
impl<'s> Logos<'s> for Math
§type Error = LexingError
type Error = LexingError
Error type returned by the lexer. This can be set using
#[logos(error = MyError)]
. Defaults to ()
if not set.§type Extras = ()
type Extras = ()
Associated type
Extras
for the particular lexer. This can be set using
#[logos(extras = MyExtras)]
and accessed inside callbacks.§type Source = str
type Source = str
Source type this token can be lexed from. This will default to
str
,
unless one of the defined patterns explicitly uses non-unicode byte values
or byte slices, in which case that implementation will use [u8]
.source§fn lex(lex: &mut Lexer<'s, Self>)
fn lex(lex: &mut Lexer<'s, Self>)
The heart of Logos. Called by the
Lexer
. The implementation for this function
is generated by the logos-derive
crate.§fn lexer_with_extras(
source: &'source Self::Source,
extras: Self::Extras
) -> Lexer<'source, Self> ⓘ
fn lexer_with_extras( source: &'source Self::Source, extras: Self::Extras ) -> Lexer<'source, Self> ⓘ
Create a new instance of a
Lexer
with the provided Extras
that will
produce tokens implementing this Logos
.source§impl PartialEq for Math
impl PartialEq for Math
impl StructuralPartialEq for Math
Auto Trait Implementations§
impl Freeze for Math
impl RefUnwindSafe for Math
impl Send for Math
impl Sync for Math
impl Unpin for Math
impl UnwindSafe for Math
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