pub enum TokenKind {
Show 56 variants
Eof,
Identifier,
Integer,
HexInteger,
BinaryInteger,
OctalInteger,
Float,
String,
HashedString,
Keyword(Keyword),
Divide,
LogicalAnd,
LogicalOr,
Minus,
LeftBrace,
RightBrace,
LeftParen,
RightParen,
Semicolon,
Comma,
GreaterEqual,
LessEqual,
GreaterThan,
LessThan,
NotEqual,
EqualEqual,
Plus,
Modulus,
Assign,
InclusiveOr,
ExclusiveOr,
BooleanAnd,
ShiftLeft,
ShiftRight,
Multiply,
UnsignedShiftRight,
Tilde,
StructurePartSpecify,
BooleanNot,
LeftSquareBracket,
RightSquareBracket,
Increment,
Decrement,
AssignMinus,
AssignPlus,
AssignMultiply,
AssignDivide,
AssignModulus,
AssignAnd,
AssignXor,
AssignOr,
AssignShiftLeft,
AssignShiftRight,
AssignUnsignedShiftRight,
QuestionMark,
Colon,
}Expand description
One lexical token in NWScript source.
Variants§
Eof
End of file.
Identifier
An unqualified identifier.
Integer
A decimal integer literal.
HexInteger
A hexadecimal integer literal.
BinaryInteger
A binary integer literal.
OctalInteger
An octal integer literal.
Float
A floating-point literal.
String
A cooked string literal, including raw-string inputs.
HashedString
A cooked hashed string literal.
The upstream lexer lowers these to HexInteger tokens immediately, so
this variant is retained only as shared vocabulary.
Keyword(Keyword)
One recognized keyword.
Divide
/
LogicalAnd
&&
LogicalOr
||
Minus
-
LeftBrace
{
RightBrace
}
LeftParen
(
RightParen
)
Semicolon
;
Comma
,
GreaterEqual
>=
LessEqual
<=
GreaterThan
>
LessThan
<
NotEqual
!=
EqualEqual
==
Plus
+
Modulus
%
Assign
=
InclusiveOr
|
ExclusiveOr
^
BooleanAnd
&
ShiftLeft
<<
ShiftRight
>>
Multiply
*
UnsignedShiftRight
>>>
Tilde
~
StructurePartSpecify
.
BooleanNot
!
LeftSquareBracket
[
RightSquareBracket
]
Increment
++
Decrement
--
AssignMinus
-=
AssignPlus
+=
AssignMultiply
*=
AssignDivide
/=
AssignModulus
%=
AssignAnd
&=
AssignXor
^=
AssignOr
|=
AssignShiftLeft
<<=
AssignShiftRight
>>=
AssignUnsignedShiftRight
>>>=
QuestionMark
?
Colon
:
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TokenKind
impl<'de> Deserialize<'de> for TokenKind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
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 UnsafeUnpin 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.