pub enum Token {
Show 101 variants
Integer(i64),
Float(f64),
SingleString(String),
DoubleString(String),
BacktickString(String),
Regex(String, String, char),
HereDoc(String, String, bool),
QW(Vec<String>),
ScalarVar(String),
DerefScalarVar(String),
ArrayVar(String),
HashVar(String),
ArrayAt,
HashPercent,
Ident(String),
Label(String),
PackageSep,
FormatDecl {
name: String,
lines: Vec<String>,
},
Plus,
Minus,
Star,
Slash,
Percent,
Power,
Dot,
X,
NumEq,
NumNe,
NumLt,
NumGt,
NumLe,
NumGe,
Spaceship,
StrEq,
StrNe,
StrLt,
StrGt,
StrLe,
StrGe,
StrCmp,
LogAnd,
LogOr,
LogNot,
LogAndWord,
LogOrWord,
LogNotWord,
DefinedOr,
BitAnd,
BitOr,
BitXor,
BitNot,
ShiftLeft,
ShiftRight,
Assign,
PlusAssign,
MinusAssign,
MulAssign,
DivAssign,
ModAssign,
PowAssign,
DotAssign,
AndAssign,
OrAssign,
XorAssign,
ShiftLeftAssign,
ShiftRightAssign,
BitAndAssign,
BitOrAssign,
DefinedOrAssign,
Increment,
Decrement,
BindMatch,
BindNotMatch,
Arrow,
FatArrow,
PipeForward,
ThreadArrow,
ThreadArrowLast,
ThreadArrowStream,
ThreadArrowStreamLast,
ThreadArrowPar,
ThreadArrowParLast,
Range,
RangeExclusive,
Backslash,
LParen,
RParen,
LBracket,
RBracket,
LBrace,
RBrace,
ArrowBrace,
Semicolon,
Comma,
Question,
Colon,
Diamond,
ReadLine(String),
FileTest(char),
Eof,
Newline,
}Variants§
Integer(i64)
Float(f64)
SingleString(String)
DoubleString(String)
BacktickString(String)
`...` or qx{...} — interpolated like double quotes, then executed as sh -c (Perl qx).
Regex(String, String, char)
Regex pattern: (pattern, flags, delimiter)
HereDoc(String, String, bool)
QW(Vec<String>)
ScalarVar(String)
DerefScalarVar(String)
$$foo — symbolic scalar deref (inner name is foo without sigil).
ArrayVar(String)
HashVar(String)
ArrayAt
HashPercent
Ident(String)
Label(String)
PackageSep
FormatDecl
format NAME = … body … . (body lines without the closing .)
Plus
Minus
Star
Slash
Percent
Power
Dot
X
NumEq
NumNe
NumLt
NumGt
NumLe
NumGe
Spaceship
StrEq
StrNe
StrLt
StrGt
StrLe
StrGe
StrCmp
LogAnd
LogOr
LogNot
LogAndWord
LogOrWord
LogNotWord
DefinedOr
BitAnd
BitOr
BitXor
BitNot
ShiftLeft
ShiftRight
Assign
PlusAssign
MinusAssign
MulAssign
DivAssign
ModAssign
PowAssign
DotAssign
AndAssign
OrAssign
XorAssign
ShiftLeftAssign
ShiftRightAssign
BitAndAssign
Bitwise &=
BitOrAssign
Bitwise |=
DefinedOrAssign
Increment
Decrement
BindMatch
BindNotMatch
Arrow
FatArrow
PipeForward
|> — pipe-forward (F#/Elixir): x |> f(a) desugars to f(x, a) at parse time.
ThreadArrow
~> — thread-first macro: ~> EXPR stage1 stage2 ... injects as first arg
ThreadArrowLast
~>> / ->> — thread-last macro: injects as last arg
ThreadArrowStream
~s> — streaming thread-first. Per-stage semantics match ~>
(insert threaded value as first arg / topic), but each stage runs
in its own worker connected by bounded channels — items flow one
at a time. Concurrent (per-item flow with backpressure), not
chunk-parallel.
ThreadArrowStreamLast
~s>> — streaming thread-last. Per-stage semantics match ~>>
(insert threaded value as last arg).
ThreadArrowPar
~p> — parallel-chunk thread-first. Whole pipeline runs per chunk
in parallel, results auto-merged at end (sugar for
par_reduce { stage1 |> stage2 |> ... } SOURCE). ||> or
|then| switch from parallel-chunk back to pipe-forward / ~>.
ThreadArrowParLast
~p>> — parallel-chunk thread-last counterpart of ~p>.
Range
Two-dot range / inclusive flip-flop (..).
RangeExclusive
Three-dot range / exclusive flip-flop (...); list expansion matches .. (Perl).
Backslash
LParen
RParen
LBracket
RBracket
LBrace
RBrace
ArrowBrace
>{ — standalone block in thread macro (not attached to a function)
Semicolon
Comma
Question
Colon
Diamond
ReadLine(String)
FileTest(char)
Eof
Newline
Implementations§
Trait Implementations§
impl StructuralPartialEq for Token
Auto Trait Implementations§
impl Freeze for Token
impl RefUnwindSafe for Token
impl Send for Token
impl Sync for Token
impl Unpin for Token
impl UnsafeUnpin for Token
impl UnwindSafe for Token
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.Source§impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
impl<U, T> ToOwnedObj<U> for Twhere
U: FromObjRef<T>,
Source§fn to_owned_obj(&self, data: FontData<'_>) -> U
fn to_owned_obj(&self, data: FontData<'_>) -> U
T, using the provided data to resolve any offsets.