Enum oq3_syntax::SyntaxKind
source · #[repr(u16)]pub enum SyntaxKind {
Show 200 variants
DOUBLE_PLUS,
SEMICOLON,
COMMA,
L_PAREN,
R_PAREN,
L_CURLY,
R_CURLY,
L_BRACK,
R_BRACK,
L_ANGLE,
R_ANGLE,
AT,
POUND,
TILDE,
QUESTION,
DOLLAR,
AMP,
PIPE,
PLUS,
STAR,
SLASH,
CARET,
PERCENT,
UNDERSCORE,
DOT,
DOT2,
DOT3,
DOT2EQ,
COLON,
COLON2,
EQ,
EQ2,
FAT_ARROW,
BANG,
NEQ,
MINUS,
THIN_ARROW,
LTEQ,
GTEQ,
PLUSEQ,
MINUSEQ,
PIPEEQ,
AMPEQ,
CARETEQ,
SLASHEQ,
STAREQ,
PERCENTEQ,
AMP2,
PIPE2,
SHL,
SHR,
SHLEQ,
SHREQ,
O_P_E_N_Q_A_S_M_KW,
INCLUDE_KW,
PRAGMA_KW,
DEF_KW,
DEFCALGRAMMAR_KW,
CAL_KW,
DEFCAL_KW,
GATE_KW,
DELAY_KW,
RESET_KW,
MEASURE_KW,
LET_KW,
BOX_KW,
EXTERN_KW,
CONST_KW,
BARRIER_KW,
GPHASE_KW,
IF_KW,
ELSE_KW,
FOR_KW,
IN_KW,
WHILE_KW,
CONTINUE_KW,
RETURN_KW,
BREAK_KW,
END_KW,
SWITCH_KW,
CASE_KW,
DEFAULT_KW,
INPUT_KW,
OUTPUT_KW,
READONLY_KW,
MUTABLE_KW,
QREG_KW,
CREG_KW,
QUBIT_KW,
VOID_KW,
ARRAY_KW,
CTRL_KW,
NEGCTRL_KW,
INV_KW,
POW_KW,
FALSE_KW,
TRUE_KW,
INT_NUMBER,
FLOAT_NUMBER,
CHAR,
BYTE,
STRING,
BIT_STRING,
FLOAT_TY,
INT_TY,
UINT_TY,
COMPLEX_TY,
BOOL_TY,
BIT_TY,
DURATION_TY,
STRETCH_TY,
ANGLE_TY,
ERROR,
IDENT,
HARDWAREIDENT,
WHITESPACE,
COMMENT,
PRAGMA,
ANNOTATION,
SOURCE_FILE,
GATE,
DEF_CAL,
DELAY_STMT,
CAL,
DEF_CAL_GRAMMAR,
MEASURE,
BARRIER,
DEF,
RESET,
CONST,
PRAGMA_STATEMENT,
ANNOTATION_STATEMENT,
TIMING_LITERAL,
TUPLE_EXPR,
ARRAY_EXPR,
PAREN_EXPR,
IF_STMT,
WHILE_STMT,
FOR_STMT,
FOR_ITERABLE,
END_STMT,
CONTINUE_STMT,
BREAK_STMT,
BLOCK_EXPR,
STMT_LIST,
RETURN_EXPR,
LET_STMT,
BOX_EXPR,
SWITCH_CASE_STMT,
CASE_EXPR,
CALL_EXPR,
GATE_CALL_EXPR,
MODIFIED_GATE_CALL_EXPR,
G_PHASE_CALL_EXPR,
CAST_EXPRESSION,
INDEX_EXPR,
PREFIX_EXPR,
RANGE_EXPR,
BIN_EXPR,
LITERAL,
NAME,
EXPR_STMT,
TYPE,
PARAM_LIST,
TYPED_PARAM_LIST,
QUBIT_LIST,
FILE_PATH,
PARAM,
TYPED_PARAM,
ARG_LIST,
VERSION,
VERSION_STRING,
INCLUDE,
DECLARATION,
DESIGNATOR,
SCALAR_TYPE,
ARRAY_TYPE,
QUBIT_TYPE,
EXPRESSION_LIST,
RETURN_SIGNATURE,
SET_EXPRESSION,
ALIAS_DECLARATION_STATEMENT,
INDEX_OPERATOR,
INDEX_KIND,
INDEXED_IDENTIFIER,
IDENTIFIER,
ARRAY_LITERAL,
HARDWARE_QUBIT,
CLASSICAL_DECLARATION_STATEMENT,
ASSIGNMENT_STMT,
I_O_DECLARATION_STATEMENT,
GATE_OPERAND,
MEASURE_EXPRESSION,
OLD_STYLE_DECLARATION_STATEMENT,
QUANTUM_DECLARATION_STATEMENT,
INV_MODIFIER,
POW_MODIFIER,
CTRL_MODIFIER,
NEG_CTRL_MODIFIER,
MODIFIER,
// some variants omitted
}
Expand description
The kind of syntax node, e.g. IDENT
, USE_KW
, or STRUCT
.
Variants§
DOUBLE_PLUS
punctuation
SEMICOLON
COMMA
L_PAREN
R_PAREN
L_CURLY
R_CURLY
L_BRACK
R_BRACK
L_ANGLE
R_ANGLE
AT
POUND
TILDE
QUESTION
DOLLAR
AMP
PIPE
PLUS
STAR
SLASH
CARET
PERCENT
UNDERSCORE
DOT
DOT2
DOT3
DOT2EQ
COLON
COLON2
EQ
EQ2
FAT_ARROW
BANG
NEQ
MINUS
THIN_ARROW
LTEQ
GTEQ
PLUSEQ
MINUSEQ
PIPEEQ
AMPEQ
CARETEQ
SLASHEQ
STAREQ
PERCENTEQ
AMP2
PIPE2
SHL
SHR
SHLEQ
SHREQ
O_P_E_N_Q_A_S_M_KW
all_keywords
INCLUDE_KW
PRAGMA_KW
DEF_KW
DEFCALGRAMMAR_KW
CAL_KW
DEFCAL_KW
GATE_KW
DELAY_KW
RESET_KW
MEASURE_KW
LET_KW
BOX_KW
EXTERN_KW
CONST_KW
BARRIER_KW
GPHASE_KW
IF_KW
ELSE_KW
FOR_KW
IN_KW
WHILE_KW
CONTINUE_KW
RETURN_KW
BREAK_KW
END_KW
SWITCH_KW
CASE_KW
DEFAULT_KW
INPUT_KW
OUTPUT_KW
READONLY_KW
MUTABLE_KW
QREG_KW
CREG_KW
QUBIT_KW
VOID_KW
ARRAY_KW
CTRL_KW
NEGCTRL_KW
INV_KW
POW_KW
FALSE_KW
TRUE_KW
INT_NUMBER
literals
FLOAT_NUMBER
CHAR
BYTE
STRING
BIT_STRING
FLOAT_TY
scalar_types
INT_TY
UINT_TY
COMPLEX_TY
BOOL_TY
BIT_TY
DURATION_TY
STRETCH_TY
ANGLE_TY
ERROR
tokens
IDENT
HARDWAREIDENT
WHITESPACE
COMMENT
PRAGMA
ANNOTATION
SOURCE_FILE
nodes
GATE
DEF_CAL
DELAY_STMT
CAL
DEF_CAL_GRAMMAR
MEASURE
BARRIER
DEF
RESET
CONST
PRAGMA_STATEMENT
ANNOTATION_STATEMENT
TIMING_LITERAL
TUPLE_EXPR
ARRAY_EXPR
PAREN_EXPR
IF_STMT
WHILE_STMT
FOR_STMT
FOR_ITERABLE
END_STMT
CONTINUE_STMT
BREAK_STMT
BLOCK_EXPR
STMT_LIST
RETURN_EXPR
LET_STMT
BOX_EXPR
SWITCH_CASE_STMT
CASE_EXPR
CALL_EXPR
GATE_CALL_EXPR
MODIFIED_GATE_CALL_EXPR
G_PHASE_CALL_EXPR
CAST_EXPRESSION
INDEX_EXPR
PREFIX_EXPR
RANGE_EXPR
BIN_EXPR
LITERAL
NAME
EXPR_STMT
TYPE
PARAM_LIST
TYPED_PARAM_LIST
QUBIT_LIST
FILE_PATH
PARAM
TYPED_PARAM
ARG_LIST
VERSION
VERSION_STRING
INCLUDE
DECLARATION
DESIGNATOR
SCALAR_TYPE
ARRAY_TYPE
QUBIT_TYPE
EXPRESSION_LIST
RETURN_SIGNATURE
SET_EXPRESSION
ALIAS_DECLARATION_STATEMENT
INDEX_OPERATOR
INDEX_KIND
INDEXED_IDENTIFIER
IDENTIFIER
ARRAY_LITERAL
HARDWARE_QUBIT
CLASSICAL_DECLARATION_STATEMENT
ASSIGNMENT_STMT
I_O_DECLARATION_STATEMENT
GATE_OPERAND
MEASURE_EXPRESSION
OLD_STYLE_DECLARATION_STATEMENT
QUANTUM_DECLARATION_STATEMENT
INV_MODIFIER
POW_MODIFIER
CTRL_MODIFIER
NEG_CTRL_MODIFIER
MODIFIER
Implementations§
source§impl SyntaxKind
impl SyntaxKind
sourcepub fn is_classical_type(&self) -> bool
pub fn is_classical_type(&self) -> bool
Return true
if the next token begins a classical type, including array, specification.
sourcepub fn is_quantum_type(&self) -> bool
pub fn is_quantum_type(&self) -> bool
Return true
if the next token begins quantum type.
source§impl SyntaxKind
impl SyntaxKind
pub fn is_keyword(self) -> bool
pub fn is_punct(self) -> bool
pub fn is_literal(self) -> bool
pub fn is_scalar_type(self) -> bool
pub fn from_keyword(ident: &str) -> Option<SyntaxKind>
pub fn from_scalar_type(type_name: &str) -> Option<SyntaxKind>
pub fn from_char(c: char) -> Option<SyntaxKind>
Trait Implementations§
source§impl Clone for SyntaxKind
impl Clone for SyntaxKind
source§fn clone(&self) -> SyntaxKind
fn clone(&self) -> SyntaxKind
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for SyntaxKind
impl Debug for SyntaxKind
source§impl From<u16> for SyntaxKind
impl From<u16> for SyntaxKind
source§fn from(d: u16) -> SyntaxKind
fn from(d: u16) -> SyntaxKind
Converts to this type from the input type.
source§impl Hash for SyntaxKind
impl Hash for SyntaxKind
source§impl Ord for SyntaxKind
impl Ord for SyntaxKind
source§fn cmp(&self, other: &SyntaxKind) -> Ordering
fn cmp(&self, other: &SyntaxKind) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq for SyntaxKind
impl PartialEq for SyntaxKind
source§fn eq(&self, other: &SyntaxKind) -> bool
fn eq(&self, other: &SyntaxKind) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for SyntaxKind
impl PartialOrd for SyntaxKind
source§fn partial_cmp(&self, other: &SyntaxKind) -> Option<Ordering>
fn partial_cmp(&self, other: &SyntaxKind) -> Option<Ordering>
1.0.0 · source§fn 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 moreimpl Copy for SyntaxKind
impl Eq for SyntaxKind
impl StructuralPartialEq for SyntaxKind
Auto Trait Implementations§
impl Freeze for SyntaxKind
impl RefUnwindSafe for SyntaxKind
impl Send for SyntaxKind
impl Sync for SyntaxKind
impl Unpin for SyntaxKind
impl UnwindSafe for SyntaxKind
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
Converts
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>
Converts
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 more