pub enum Token {
Show 37 variants
StackValue(StackValue),
Add,
Subtract,
Multiply,
Divide,
Dup,
Drop,
Swap,
Over,
Rot,
Print,
Println,
If(usize),
Elif(usize),
Else(usize),
MrBeast(usize),
Eq,
Seq,
Sseq,
Ineq,
Sineq,
Ssineq,
Gt,
Lt,
Ge,
Gse,
Gsse,
Le,
Lse,
Lsse,
Shr,
Shl,
Or,
And,
Not,
Xor,
Dummy,
}
Variants§
StackValue(StackValue)
Just a fucking n̶u̶m̶b̶e̶r̶ value✨
Add
Addition. Often used to add numbers.
Subtract
Subtraction. Nothin’ more, Nothin’ less.
Multiply
Multiplication. Very similar to multiplication.
Divide
Division. Quoted in famous works such as “Math”.
Dup
Used to duplicate things, much like mitosis. a – a a
Drop
Drops the thing, much like I drop depth charges at 55°16’06.9“S 13°06’37.3“W (for legal reasons, this is a joke). a –
Swap
Swaps the two things, much like the process of nurses swapping babies in hospitals. a b – b a
Over
Lets the thing jump over. No good jokes here. a b – a b a
Rot
Rotates three things, much like my testicles. a b c – b c a
Prints da thang, no matter what it is (least racist keyword). a –
Println
Very similar to print, but with that sweet ln
If(usize)
if-condition, often used by white people. The u32 is an offset to jump to.
Elif(usize)
elif is like an elif,
Else(usize)
else-condition exists but is non-existent in tokens because
MrBeast(usize)
fi also exists, but non-existent in tokens because
MrBeast!
is a mixture between fi and elif:
Once it is reached, one of the if/(el)ifs has already executed,
meaning it will jump to fi.
Eq
Equality, much like the thing globally not yet reached.
Seq
Strict equality, similar to javascripts strict equality thing.
Sseq
Even stricter equality, stricter than javascripts triple equal.
Ineq
Inequality,
Sineq
Strict inequality, similar to javascripts strict inequality thing.
Ssineq
Even stricter inequality, stricter than javascripts double inequal.
Gt
Greater-than,
Lt
Less-than,
Ge
Greater-than or equal,
Gse
Greater-than or strict equal,
Gsse
Greater-than or stricterer equal,
Le
Less-than or equal,
Lse
Less-than or strict equal,
Lsse
Less-than or strict strict equal,
Shr
Shift right,
Shl
Shift left,
Or
Or, both bool and integer
And
And, both bool and integer
Not
Not, both bool and integer
Xor
Xor, both bool and integer
Dummy
Does absolutely nothing, much like this programming language.
Implementations§
Trait Implementations§
Source§impl Deserialize for Token
impl Deserialize for Token
Source§fn deserialize(
deserializer: &mut Deserializer<'_, impl Read>,
) -> Result<Self, SavefileError>
fn deserialize( deserializer: &mut Deserializer<'_, impl Read>, ) -> Result<Self, SavefileError>
Source§impl Introspect for Token
impl Introspect for Token
Source§fn introspect_value(&self) -> String
fn introspect_value(&self) -> String
Source§fn introspect_child(
&self,
index: usize,
) -> Option<Box<dyn IntrospectItem<'_> + '_>>
fn introspect_child( &self, index: usize, ) -> Option<Box<dyn IntrospectItem<'_> + '_>>
Source§fn introspect_len(&self) -> usize
fn introspect_len(&self) -> usize
Source§impl Packed for Token
impl Packed for Token
Source§unsafe fn repr_c_optimization_safe(file_version: u32) -> IsPacked
unsafe fn repr_c_optimization_safe(file_version: u32) -> IsPacked
Source§impl Serialize for Token
impl Serialize for Token
Source§fn serialize(
&self,
serializer: &mut Serializer<'_, impl Write>,
) -> Result<(), SavefileError>
fn serialize( &self, serializer: &mut Serializer<'_, impl Write>, ) -> Result<(), SavefileError>
Source§impl WithSchema for Token
impl WithSchema for Token
impl StructuralPartialEq for Token
Auto Trait Implementations§
impl Freeze for Token
impl RefUnwindSafe for Token
impl Send for Token
impl Sync for Token
impl Unpin for Token
impl UnwindSafe for Token
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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