Skip to main content

TokenKind

Enum TokenKind 

Source
pub enum TokenKind {
Show 93 variants Module, Use, Const, Var, Type, Init, Action, Invariant, Property, Fairness, Func, And, Or, Not, Implies, Iff, All, Any, Choose, In, For, If, Then, Else, Let, With, Require, Changes, Always, Eventually, LeadsTo, Enabled, WeakFair, StrongFair, True, False, Nat, Int, Bool, String_, Set, Seq, Dict, Option_, Some_, None_, LParen, RParen, LBrace, RBrace, LBracket, RBracket, Comma, Colon, Semicolon, Dot, DotDot, Arrow, FatArrow, Prime, Pipe, Eq, Ne, Lt, Le, Gt, Ge, Plus, Minus, Star, Slash, Percent, Union, Intersect, Diff, SubsetOf, PlusPlus, Head, Tail, Len, Keys, Values, Powerset, UnionAll, Ampersand, Assign, Integer(i64), StringLit(String), Ident(String), Comment(String), DocComment(String), Eof, Error(String),
}
Expand description

The kind of token.

Variants§

§

Module

module

§

Use

use

§

Const

const

§

Var

var

§

Type

type

§

Init

init

§

Action

action

§

Invariant

invariant

§

Property

property

§

Fairness

fairness

§

Func

func - user-defined helper function

§

And

and

§

Or

or

§

Not

not

§

Implies

implies

§

Iff

iff

§

All

all (universal quantifier, Python-like)

§

Any

any (existential quantifier, Python-like)

§

Choose

choose (deterministic selection)

§

In

in

§

For

for

§

If

if

§

Then

then

§

Else

else

§

Let

let

§

With

with

§

Require

require

§

Changes

changes

§

Always

always

§

Eventually

eventually

§

LeadsTo

leads_to

§

Enabled

enabled

§

WeakFair

weak_fair

§

StrongFair

strong_fair

§

True

true

§

False

false

§

Nat

Nat

§

Int

Int

§

Bool

Bool

§

String_

String

§

Set

Set

§

Seq

Seq

§

Dict

dict - Python-like dictionary type (lowercase only)

§

Option_

Option

§

Some_

Some

§

None_

None

§

LParen

(

§

RParen

)

§

LBrace

{

§

RBrace

}

§

LBracket

[

§

RBracket

]

§

Comma

,

§

Colon

:

§

Semicolon

;

§

Dot

.

§

DotDot

..

§

Arrow

->

§

FatArrow

=>

§

Prime

' (prime for next-state variables)

§

Pipe

|

§

Eq

==

§

Ne

!=

§

Lt

<

§

Le

<=

§

Gt

>

§

Ge

>=

§

Plus

+

§

Minus

-

§

Star

*

§

Slash

/

§

Percent

%

§

Union

union

§

Intersect

intersect

§

Diff

diff

§

SubsetOf

subset_of

§

PlusPlus

++

§

Head

head - get first element of sequence

§

Tail

tail - get all but first element of sequence

§

Len

len - get length of sequence/set/function

§

Keys

keys - get domain of function as set

§

Values

values - get range of function as set

§

Powerset

powerset - get set of all subsets

§

UnionAll

union_all - distributed union (union of all sets in set)

§

Ampersand

&

§

Assign

=

§

Integer(i64)

Integer literal

§

StringLit(String)

String literal (without quotes)

§

Ident(String)

Identifier

§

Comment(String)

Single-line comment // ...

§

DocComment(String)

Documentation comment /// ...

§

Eof

End of file

§

Error(String)

Lexer error

Implementations§

Source§

impl TokenKind

Source

pub fn is_keyword(&self) -> bool

Check if this token is a keyword.

Source

pub fn keyword(ident: &str) -> Option<TokenKind>

Get the keyword for a given identifier, if any.

Source

pub fn is_trivia(&self) -> bool

Check if this is a trivia token (comment, whitespace).

Trait Implementations§

Source§

impl Clone for TokenKind

Source§

fn clone(&self) -> TokenKind

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TokenKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for TokenKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for TokenKind

Source§

fn eq(&self, other: &TokenKind) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for TokenKind

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.