Enum erg_parser::token::TokenKind
source · #[repr(u8)]pub enum TokenKind {
Show 86 variants
Symbol = 0,
NatLit = 1,
IntLit = 2,
BinLit = 3,
OctLit = 4,
HexLit = 5,
RatioLit = 6,
BoolLit = 7,
StrLit = 8,
StrInterpLeft = 9,
StrInterpMid = 10,
StrInterpRight = 11,
NoneLit = 12,
EllipsisLit = 13,
InfLit = 14,
DocComment = 15,
PrePlus = 16,
PreMinus = 17,
PreBitNot = 18,
Mutate = 19,
PreStar = 20,
PreDblStar = 21,
Try = 22,
Plus = 23,
Minus = 24,
Star = 25,
Slash = 26,
FloorDiv = 27,
Pow = 28,
Mod = 29,
Closed = 30,
RightOpen = 31,
LeftOpen = 32,
Open = 33,
BitAnd = 34,
BitOr = 35,
BitXor = 36,
Shl = 37,
Shr = 38,
Less = 39,
Gre = 40,
LessEq = 41,
GreEq = 42,
DblEq = 43,
NotEq = 44,
InOp = 45,
NotInOp = 46,
ContainsOp = 47,
SubOp = 48,
IsOp = 49,
IsNotOp = 50,
AndOp = 51,
OrOp = 52,
RefOp = 53,
RefMutOp = 54,
Assign = 55,
Inclusion = 56,
Walrus = 57,
FuncArrow = 58,
ProcArrow = 59,
LParen = 60,
RParen = 61,
LSqBr = 62,
RSqBr = 63,
LBrace = 64,
RBrace = 65,
Indent = 66,
Dedent = 67,
Dot = 68,
Pipe = 69,
Colon = 70,
DblColon = 71,
SupertypeOf = 72,
SubtypeOf = 73,
As = 74,
Comma = 75,
Caret = 76,
Amper = 77,
AtSign = 78,
VBar = 79,
UBar = 80,
Newline = 81,
Semi = 82,
Illegal = 83,
BOF = 84,
EOF = 85,
}
Expand description
意味論的名前と記号自体の名前が混在しているが、Pythonの名残である
Variants§
Symbol = 0
e.g. i, p!, $s, T, +
, and
, ‘d/dx’
NatLit = 1
e.g. 0, 1
IntLit = 2
e.g. -1, -2
BinLit = 3
e.g. 0b101
OctLit = 4
e.g. 0o777
HexLit = 5
e.g. 0xdeadbeef
RatioLit = 6
BoolLit = 7
StrLit = 8
StrInterpLeft = 9
e.g. “abc{
StrInterpMid = 10
e.g. }abc{
StrInterpRight = 11
e.g. }def“
NoneLit = 12
EllipsisLit = 13
… (== Ellipsis)
InfLit = 14
DocComment = 15
PrePlus = 16
+
(unary)
PreMinus = 17
-
(unary)
PreBitNot = 18
~ (unary)
Mutate = 19
! (unary)
PreStar = 20
PreDblStar = 21
Try = 22
? (postfix)
Plus = 23
+
Minus = 24
-
Star = 25
*
Slash = 26
/
FloorDiv = 27
//
Pow = 28
**
Mod = 29
%
Closed = 30
..
RightOpen = 31
..<
LeftOpen = 32
<..
Open = 33
<..<
BitAnd = 34
&&
BitOr = 35
||
BitXor = 36
^^
Shl = 37
<<
Shr = 38
Less = 39
<
Gre = 40
LessEq = 41
<=
GreEq = 42
=
DblEq = 43
==
NotEq = 44
!=
InOp = 45
in
NotInOp = 46
notin
ContainsOp = 47
SubOp = 48
sub
(subtype of)
IsOp = 49
is!
IsNotOp = 50
isnot!
AndOp = 51
and
OrOp = 52
or
RefOp = 53
ref
(special unary)
RefMutOp = 54
ref!
(special unary)
Assign = 55
=
Inclusion = 56
<-
Walrus = 57
:=
FuncArrow = 58
->
ProcArrow = 59
=>
LParen = 60
(
RParen = 61
)
LSqBr = 62
[
RSqBr = 63
]
LBrace = 64
{
RBrace = 65
}
Indent = 66
Dedent = 67
Dot = 68
.
Pipe = 69
|>
Colon = 70
:
DblColon = 71
::
SupertypeOf = 72
:>
SubtypeOf = 73
<:
As = 74
as
Comma = 75
,
Caret = 76
^
Amper = 77
&
AtSign = 78
@
VBar = 79
|
UBar = 80
_
Newline = 81
\n
Semi = 82
;
Illegal = 83
BOF = 84
Beginning Of File
EOF = 85
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 for TokenKind
impl PartialEq for TokenKind
impl Copy for TokenKind
impl Eq for TokenKind
impl StructuralPartialEq for TokenKind
Auto Trait Implementations§
impl Freeze for TokenKind
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