pub enum Token {
Show 129 variants
IDENT(SmolStr),
TYPE_NAME(TypeName),
FLOAT_CONST(f32),
INT_CONST(i32),
UINT_CONST(u32),
BOOL_CONST(bool),
DOUBLE_CONST(f64),
LEFT_OP,
RIGHT_OP,
INC_OP,
DEC_OP,
LE_OP,
GE_OP,
EQ_OP,
NE_OP,
AND_OP,
OR_OP,
XOR_OP,
MUL_ASSIGN,
DIV_ASSIGN,
ADD_ASSIGN,
MOD_ASSIGN,
LEFT_ASSIGN,
RIGHT_ASSIGN,
AND_ASSIGN,
XOR_ASSIGN,
OR_ASSIGN,
SUB_ASSIGN,
LPAREN,
RPAREN,
LBRACKET,
RBRACKET,
LBRACE,
RBRACE,
PERIOD,
COMMA,
COLON,
EQUAL,
SEMICOLON,
BANG,
DASH,
TILDE,
PLUS,
ASTERISK,
SLASH,
PERCENT,
LANGLE,
RANGLE,
BAR,
CARET,
AMPERSAND,
QUESTION,
HASH,
CONST,
UNIFORM,
BUFFER,
SHARED,
ATTRIBUTE,
VARYING,
COHERENT,
VOLATILE,
RESTRICT,
READONLY,
WRITEONLY,
LAYOUT,
CENTROID,
FLAT,
SMOOTH,
NOPERSPECTIVE,
PATCH,
SAMPLE,
INVARIANT,
PRECISE,
BREAK,
CONTINUE,
DO,
FOR,
WHILE,
SWITCH,
CASE,
DEFAULT,
IF,
ELSE,
SUBROUTINE,
IN,
OUT,
INOUT,
DISCARD,
RETURN,
LOWP,
MEDIUMP,
HIGHP,
PRECISION,
STRUCT,
COMMON,
PARTITION,
ACTIVE,
ASM,
CLASS,
UNION,
ENUM,
TYPEDEF,
TEMPLATE,
THIS,
RESOURCE,
GOTO,
INLINE,
NOINLINE,
PUBLIC,
STATIC,
EXTERN,
EXTERNAL,
INTERFACE,
LONG,
SHORT,
HALF,
FIXED,
UNSIGNED,
SUPERP,
INPUT,
OUTPUT,
FILTER,
SIZEOF,
CAST,
NAMESPACE,
USING,
WS,
COMMENT,
ERROR(ErrorKind),
}
Variants
IDENT(SmolStr)
Identifier
TYPE_NAME(TypeName)
Type name
FLOAT_CONST(f32)
Float constant
INT_CONST(i32)
Int constant
UINT_CONST(u32)
Unsigned int constant
BOOL_CONST(bool)
Bool constant
DOUBLE_CONST(f64)
Double constant
LEFT_OP
<<
RIGHT_OP
INC_OP
++
DEC_OP
–
LE_OP
<=
GE_OP
=
EQ_OP
==
NE_OP
!=
AND_OP
&&
OR_OP
||
XOR_OP
^^
MUL_ASSIGN
*=
DIV_ASSIGN
/=
ADD_ASSIGN
+=
MOD_ASSIGN
%=
LEFT_ASSIGN
<<=
RIGHT_ASSIGN
=
AND_ASSIGN
&=
XOR_ASSIGN
^=
OR_ASSIGN
|=
SUB_ASSIGN
-=
LPAREN
(
RPAREN
)
LBRACKET
[
RBRACKET
]
LBRACE
{
RBRACE
}
PERIOD
.
COMMA
,
COLON
:
EQUAL
=
SEMICOLON
;
BANG
!
DASH
TILDE
~
PLUS
ASTERISK
SLASH
/
PERCENT
%
LANGLE
<
RANGLE
BAR
|
CARET
^
AMPERSAND
&
QUESTION
?
HASH
CONST
“const”
UNIFORM
“uniform”
BUFFER
“buffer”
SHARED
“shared”
ATTRIBUTE
“attribute”
VARYING
“varying”
COHERENT
“coherent”
VOLATILE
“volatile”
RESTRICT
“restrict”
READONLY
“readonly”
WRITEONLY
“writeonly”
LAYOUT
“layout”
CENTROID
“centroid”
FLAT
“flat”
SMOOTH
“smooth”
NOPERSPECTIVE
“noperspective”
PATCH
“patch”
SAMPLE
“sample”
INVARIANT
“invariant”
PRECISE
“precise”
BREAK
“break”
CONTINUE
“continue”
DO
“do”
FOR
“for”
WHILE
“while”
SWITCH
“switch”
CASE
“case”
DEFAULT
“default”
IF
“if”
ELSE
“else”
SUBROUTINE
“subroutine”
IN
“in”
OUT
“out”
INOUT
“inout”
DISCARD
“discard”
RETURN
“return”
LOWP
“lowp”
MEDIUMP
“mediump”
HIGHP
“highp”
PRECISION
“precision”
STRUCT
“struct”
COMMON
“common”
PARTITION
“partition”
ACTIVE
“active”
ASM
“asm”
CLASS
“class”
UNION
“union”
ENUM
“enum”
TYPEDEF
“typedef”
TEMPLATE
“template”
THIS
“this”
RESOURCE
“resource”
GOTO
“goto”
INLINE
“inline”
NOINLINE
“noinline”
PUBLIC
“public”
STATIC
“static”
EXTERN
“extern”
EXTERNAL
“external”
INTERFACE
“interface”
LONG
“long”
SHORT
“short”
HALF
“half”
FIXED
“fixed”
UNSIGNED
“unsigned”
SUPERP
“superp”
INPUT
“input”
OUTPUT
“output”
FILTER
“filter”
SIZEOF
“sizeof”
CAST
“cast”
NAMESPACE
“namespace”
USING
“using”
WS
Whitespaace
COMMENT
Comment (single-line or multi-line)
ERROR(ErrorKind)
Marker for invalid tokens
Implementations
sourceimpl Token
impl Token
pub fn from_token(
token: TextToken,
source: &str,
version: u16,
target_vulkan: bool,
is_type_name: impl Fn(&TypeNameAtom) -> TypeNameState
) -> (Token, Option<TypeNameState>)
Trait Implementations
sourceimpl PartialOrd<Token> for Token
impl PartialOrd<Token> for Token
sourcefn partial_cmp(&self, other: &Token) -> Option<Ordering>
fn partial_cmp(&self, other: &Token) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl Token for Token
impl Token for Token
sourcefn variant_name(&self) -> &'static str
fn variant_name(&self) -> &'static str
Return the variant name of the current token
sourcefn parser_token(&self) -> &'static str
fn parser_token(&self) -> &'static str
Return the name used by the lalrpop parser for this token
sourcefn kinds(&self) -> &'static [&'static str]
fn kinds(&self) -> &'static [&'static str]
Return the token kinds this token belongs to
sourcefn all_tokens() -> &'static [TokenDescriptor]
fn all_tokens() -> &'static [TokenDescriptor]
Return the descriptions for all known tokens
impl StructuralPartialEq for Token
Auto Trait Implementations
impl RefUnwindSafe for Token
impl Send for Token
impl Sync for Token
impl Unpin for Token
impl UnwindSafe for Token
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more