Enum erg_parser::token::TokenKind
source · #[repr(u8)]pub enum TokenKind {
Show 84 variants
Symbol,
NatLit,
IntLit,
RatioLit,
BoolLit,
StrLit,
StrInterpLeft,
StrInterpMid,
StrInterpRight,
NoneLit,
EllipsisLit,
InfLit,
DocComment,
PrePlus,
PreMinus,
PreBitNot,
Mutate,
PreStar,
PreDblStar,
Try,
Plus,
Minus,
Star,
Slash,
FloorDiv,
Pow,
Mod,
Closed,
RightOpen,
LeftOpen,
Open,
BitAnd,
BitOr,
BitXor,
Shl,
Shr,
Less,
Gre,
LessEq,
GreEq,
DblEq,
NotEq,
InOp,
NotInOp,
SubOp,
IsOp,
IsNotOp,
AndOp,
OrOp,
DotOp,
CrossOp,
RefOp,
RefMutOp,
Assign,
Inclusion,
Walrus,
FuncArrow,
ProcArrow,
LParen,
RParen,
LSqBr,
RSqBr,
LBrace,
RBrace,
Indent,
Dedent,
Dot,
Pipe,
Colon,
DblColon,
SupertypeOf,
SubtypeOf,
As,
Comma,
Caret,
Amper,
AtSign,
VBar,
UBar,
Newline,
Semi,
Illegal,
BOF,
EOF,
}
Expand description
意味論的名前と記号自体の名前が混在しているが、Pythonの名残である
Variants§
Symbol
e.g. i, p!, $s, T, +
, and
, ‘d/dx’
NatLit
e.g. 0, 1
IntLit
e.g. -1, -2
RatioLit
BoolLit
StrLit
StrInterpLeft
e.g. “abc{
StrInterpMid
e.g. }abc{
StrInterpRight
e.g. }def“
NoneLit
EllipsisLit
… (== Ellipsis)
InfLit
DocComment
PrePlus
+
(unary)
PreMinus
-
(unary)
PreBitNot
~ (unary)
Mutate
! (unary)
PreStar
PreDblStar
Try
? (postfix)
Plus
+
Minus
-
Star
*
Slash
/
FloorDiv
//
Pow
**
Mod
%
Closed
..
RightOpen
..<
LeftOpen
<..
Open
<..<
BitAnd
&&
BitOr
||
BitXor
^^
Shl
<<
Shr
Less
<
Gre
LessEq
<=
GreEq
=
DblEq
==
NotEq
!=
InOp
in
NotInOp
notin
SubOp
sub
(subtype of)
IsOp
is!
IsNotOp
isnot!
AndOp
and
OrOp
or
DotOp
dot
(scalar product)
CrossOp
cross
(vector product)
RefOp
ref
(special unary)
RefMutOp
ref!
(special unary)
Assign
=
Inclusion
<-
Walrus
:=
FuncArrow
->
ProcArrow
=>
LParen
(
RParen
)
LSqBr
[
RSqBr
]
LBrace
{
RBrace
}
Indent
Dedent
Dot
.
Pipe
|>
Colon
:
DblColon
::
SupertypeOf
:>
SubtypeOf
<:
As
as
Comma
,
Caret
^
Amper
&
AtSign
@
VBar
|
UBar
_
Newline
\n
Semi
;
Illegal
BOF
Beginning Of File
EOF
Implementations§
source§impl TokenKind
impl TokenKind
pub const fn category(&self) -> TokenCategory
pub const fn precedence(&self) -> Option<usize>
pub const fn is_right_associative(&self) -> bool
pub const fn is_range_op(&self) -> bool
Trait Implementations§
source§impl PartialEq<TokenKind> for TokenKind
impl PartialEq<TokenKind> for TokenKind
impl Copy for TokenKind
impl Eq for TokenKind
impl StructuralEq for TokenKind
impl StructuralPartialEq for TokenKind
Auto Trait Implementations§
impl RefUnwindSafe for TokenKind
impl Send for TokenKind
impl Sync for TokenKind
impl Unpin for TokenKind
impl UnwindSafe for TokenKind
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