Crate mech_interpreter

Crate mech_interpreter 

Source

Re-exports§

pub use crate::literals::*;
pub use crate::interpreter::*;
pub use crate::structures::*;
pub use crate::statements::*;
pub use crate::expressions::*;
pub use crate::mechdown::*;
pub use crate::stdlib::access::*;
pub use crate::stdlib::assign::*;
pub use crate::stdlib::convert::*;
pub use crate::stdlib::horzcat::*;
pub use crate::stdlib::vertcat::*;

Modules§

and
arithmetic
dot
enums
eq
error
expressions
functions
gt
gte
interpreter
kind
literals
lt
lte
map
matmul
mechdown
membership
modify
n_choose_k
neq
nodes
not
operations
or
program
relations
set
setdata
solve
statements
stdlib
structures
sum_column
sum_row
transpose
types
value
xor

Macros§

assign_1d_scalar
assign_1d_scalar_b
assign_1d_scalar_vb
compile_binop
compile_nullop
compile_quadop
compile_register
compile_register_brrw
compile_register_mat
compile_ternop
compile_unop
compile_varop
compiler_loc
impl_access_fxn_new
impl_add_assign_match_arms
impl_all_fxn_v
impl_assign_all_arms
impl_assign_all_arms_b
impl_assign_all_range_arms
impl_assign_all_scalar_arms
impl_assign_fxn
impl_assign_fxn_s
impl_assign_range_range_arms
impl_assign_range_range_arms_b
impl_assign_range_range_arms_bu
impl_assign_range_range_arms_ub
impl_assign_range_range_fxn_s
impl_assign_range_scalar_arms
impl_assign_range_scalar_arms_b
impl_assign_range_scalar_fxn_s
impl_assign_range_scalar_fxn_v
impl_assign_scalar_all_arms
impl_assign_scalar_arms
impl_assign_scalar_arms_b
impl_assign_scalar_fxn_v
impl_assign_scalar_range_arms
impl_assign_scalar_range_arms_b
impl_assign_scalar_range_fxn_s
impl_assign_scalar_range_fxn_v
impl_assign_scalar_scalar
impl_assign_scalar_scalar_arms
impl_assign_value_match_arms
impl_assign_vector_scalar
impl_assign_vector_vector
impl_binop
impl_binop2
impl_binop_atan2
impl_binop_match_arms
impl_binop_solve
impl_compare_binop
impl_compare_fxns
impl_div_assign_match_arms
impl_expop
impl_fxns
impl_logic_binop
impl_logic_fxns
impl_math_fxns
impl_math_fxns_exp
impl_math_unop
impl_mech_binop_fxn
impl_mech_urnop_fxn
impl_mul_assign_match_arms
impl_op_assign_range_fxn_s
impl_op_assign_range_fxn_v
impl_op_assign_value_match_arms
impl_range_range_fxn_v
impl_register_op_assign_vv_all
impl_set_all_fxn_s
impl_set_all_range_arms_b
impl_set_fxns
impl_set_match_arms
impl_set_range_all_arms
impl_set_range_all_arms_b
impl_set_range_arms
impl_set_range_arms_b
impl_stats_unop
impl_sub_assign_match_arms
impl_transpose
impl_unop
impl_urnop_match_arms
impl_urnop_match_arms2
impl_variable_define_fxn
impl_variable_define_match_arms
impls_stas
op_assign_range_all_fxn
op_assign_range_fxn
register_assign
register_assign_b
register_assign_s
register_assign_s1
register_assign_s2
register_assign_s_b
register_assign_srr
register_assign_srr2
register_assign_srr_b
register_assign_srr_b2
register_assign_srr_bu
register_assign_srr_bu2
register_assign_srr_ub
register_assign_srr_ub2
register_define
register_descriptor
register_fxn_descriptor
register_fxn_descriptor_inner
register_fxn_descriptor_inner_logic
register_op_assign_vv
register_op_assign_vv_all
register_set_fxns

Structs§

AddAssign1DRB
AddAssign1DRS
AddAssign1DRV
AddAssign1DRVB
AddAssign2DRAS
AddAssign2DRASB
AddAssign2DRAV
AddAssign2DRAVB
AddAssignMath
AddAssignRange
AddAssignRangeAll
AddAssignVS
AddAssignVV
AddMDMD
AddMDRD
AddMDS
AddMDVD
AddRDMD
AddRDRD
AddRDS
AddSMD
AddSRD
AddSS
AddSVD
AddVDMD
AddVDS
AddVDVD
Atom
Binding
BlockConfig
Body
BufferPositionMismatchError
ByteCodeHeader
C64
C64Node
CannotConvertToTypeError
CannotCreateTableFromEmptyRecordListError
CannotCreateTableFromNonTableKindError
Citation
CombinatoricsNChooseK
Comment
CompareEqual
CompareGreaterThan
CompareGreaterThanEqual
CompareLessThan
CompareLessThanEqual
CompareNotEqual
CompileCtx
CompilerSourceRange
ConstEntry
ConstEntryWriteIoError
ConstantEntryAlignmentError
ConstantEntryOutOfBoundsError
ConstantTooShortError
ConstantWrongSizeError
CrcMismatchError
DestructureExpectedTupleError
DictEntry
DimensionMismatch
DivAssign1DRB
DivAssign1DRS
DivAssign1DRV
DivAssign1DRVB
DivAssign2DRAS
DivAssign2DRASB
DivAssign2DRAV
DivAssign2DRAVB
DivAssignRange
DivAssignRangeAll
DivAssignVS
DivAssignVV
DivAssignValue
DivMDMD
DivMDRD
DivMDS
DivMDVD
DivRDMD
DivRDRD
DivRDS
DivSMD
DivSRD
DivSS
DivSVD
DivVDMD
DivVDS
DivVDVD
DotMDMD
DotRDRD
DotScalar
DotVDVD
Emoji
EnumDefine
EnumVariant
ExpRational
FeatureNotEnabledError
FencedMechCode
Field
FileTooShortError
FinalBufferLengthMismatchError
Fsm
FsmDeclare
FsmImplementation
FsmInstance
FsmPipe
FsmSpecification
FunctionArgument
FunctionCall
FunctionCompilerDescriptor
FunctionDefine
FunctionDefinition
FunctionDescriptor
FunctionRegistry
Functions
GenericError
Grammar
GrammarIdentifier
Guard
Identifier
Image
ImaginaryNumber
IncompatibleMatrixAppendToTableError
IncompatibleMechVersionError
IncorrectNumberOfArguments
IndexedString
InvalidMagicNumberError
InvalidOpcodeError
InvalidUtf8InDictError
IoErrorWrapper
KeyNotFoundInKeyIndexError
KindAnnotation
KindDefine
LogicAnd
LogicNot
LogicOr
LogicXor
Map
MapKeyKindMismatchError
MapValueKindMismatchError
Mapping
MarkdownTable
MatMulMDMD
MatMulMDRD
MatMulMDVD
MatMulRDMD
MatMulRDVD
MatMulScalar
MatMulVDRD
MathAbs
MathAcos
MathAcosh
MathAcot
MathAcsc
MathAdd
MathAsec
MathAsin
MathAsinh
MathAtan
MathAtan2
MathAtanh
MathCbrt
MathCeil
MathCopysign
MathCos
MathCosh
MathCot
MathCsc
MathDiv
MathErf
MathErfc
MathExp
MathExp2
MathExp10
MathExpm1
MathExponential
MathFdim
MathFloor
MathFmax
MathFmaximum
MathFmaximum_num
MathFmin
MathFminimum
MathFminimum_num
MathFmod
MathJ0
MathJ1
MathJn
MathLgamma
MathLog
MathLog2
MathLog1p
MathLog10
MathMod
MathMul
MathNegate
MathNextafter
MathRemainder
MathRint
MathRound
MathRoundeven
MathSec
MathSin
MathSinh
MathSqrt
MathSub
MathTan
MathTanh
MathTgamma
MathTrunc
MathY0
MathY1
MathYn
Matrix
MatrixAppendToTableError
MatrixColumn
MatrixDot
MatrixMatMul
MatrixRow
MatrixSolve
MatrixSolveMDVD
MatrixTranspose
MechAtom
MechEnum
MechError2
MechMap
MechRecord
MechSet
MechString
MechTable
MechTuple
MismatchedIndexLengthsError
MissingFieldInRecordError
MissingKindForFieldError
MissingKindInComparedRecordError
MulAssign1DRB
MulAssign1DRS
MulAssign1DRV
MulAssign1DRVB
MulAssign2DRAS
MulAssign2DRASB
MulAssign2DRAV
MulAssign2DRAVB
MulAssignRange
MulAssignRangeAll
MulAssignVS
MulAssignVV
MulAssignValue
MulMDMD
MulMDRD
MulMDS
MulMDVD
MulRDMD
MulRDRD
MulRDS
MulSMD
MulSRD
MulSS
MulSVD
MulVDMD
MulVDS
MulVDVD
NChooseK
NChooseKMatrix
NotExecutableError
NotV
OpAssign
OptionMap
OrderedList
Paragraph
ParsedConstEntry
ParsedProgram
PatternTupleStruct
Plan
Program
ProgramState
PushIntoStaticMatrixError
R64
RangeExpression
Record
RecordFieldKindMismatchError
RecordFieldNameMismatchError
Ref
ResizeStaticMatrixError
Rule
Section
Set
SetCartesianProduct
SetDifference
SetDisjoint
SetElementOf
SetEquals
SetInsert
SetIntersection
SetKindMismatchError
SetNotElementOf
SetNotEquals
SetPowerset
SetProperSubset
SetProperSuperset
SetRemove
SetSize
SetSubset
SetSuperset
SetSymDifference
SetUnion
Slice
SliceRef
SourceLocation
SourceRange
StateDefinition
StatsSumColumn
StatsSumRow
SubAssign1DRB
SubAssign1DRS
SubAssign1DRV
SubAssign1DRVB
SubAssign2DRAS
SubAssign2DRASB
SubAssign2DRAV
SubAssign2DRAVB
SubAssignRange
SubAssignRangeAll
SubAssignVS
SubAssignVV
SubAssignValue
SubMDMD
SubMDRD
SubMDS
SubMDVD
SubRDMD
SubRDRD
SubRDS
SubSMD
SubSRD
SubSS
SubSVD
SubVDMD
SubVDS
SubVDVD
Subtitle
SymbolEntry
SymbolTable
Table
TableColumn
TableColumnKindMismatchError
TableColumnNameMismatchError
TableColumnNotFoundError
TableEq
TableOfContents
TableRow
Term
Title
Token
TruncatedInstructionError
Tuple
TupleDestructure
TupleDestructureTooManyVarsError
TupleIndexOutOfBoundsError
TupleStruct
TypeEntry
TypeSection
UndefinedKindError
UnhandledFunctionArgumentIxes
UnhandledFunctionArgumentIxesMono
UnhandledFunctionArgumentKind1
UnhandledFunctionArgumentKind2
UnhandledFunctionArgumentKind3
UnhandledFunctionArgumentKind4
UnhandledFunctionArgumentKindError
UnhandledFunctionArgumentKindVarg
UnknownConstantTypeError
UnknownEnumVariantError
UnknownOpcodeError
UnsupportedBytecodeVersionError
UnsupportedConstantEncodingError
UnsupportedConstantTypeError
UserFunction
Var
VariableAssign
VariableDefine
Word

Enums§

AddSubOp
ColumnAlignment
ComparisonOp
ConstEncoding
DecodedInstr
EncodedInstr
ExponentOp
Expression
Factor
FeatureFlag
FeatureKind
FloatDirection
FormulaOperator
FsmArm
FunctionArgs
GrammarExpression
Kind
Literal
LogicOp
MDList
MechCode
MechSourceCode
MulDivOp
Number
OpAssignOp
OpCode
ParagraphElement
Pattern
PipeElement
RangeOp
RealNumber
SectionElement
SetOp
Statement
Structure
Subscript
TableOp
TokenKind
Transition
TypeTag
Value
ValueKind
VecOp

Constants§

EMOJILIST
WORDLIST

Traits§

AsNaKind
AsValueKind
CompileConst
ConstElem
CopyMat
MechErrorKind2
MechFunction
MechFunctionCompiler
MechFunctionFactory
MechFunctionImpl
NativeFunctionCompiler
PrettyPrint
Recoverable
ToIndex
ToMatrix
ToUsize
ToValue

Functions§

add_assign_math_fxn
box_mech_fxn
check_index_lengths
compress_and_encode
decode_and_decompress
decode_version_from_u16
emojify
emojify_bytes
encode_value_kind
hash_bytes
hash_chars
hash_str
humanize
humanize_bytes
impl_atan2_fxn
load_program_from_bytes
load_program_from_file
load_stdkinds
load_stdlib
merge_src_range
parse_version_to_u16
verify_crc_trailer_seek

Type Aliases§

ArgumentList
Base
CheckList
Denominator
Dictionary
EnumTable
Exponent
Footnote
FsmArgs
FunctionCompilerTable
FunctionTable
FunctionsRef
Hyperlink
Imaginary
KindTable
MResult
MutableReference
Numerator
Part
PatternTuple
Real
Register
Sign
SymbolTableRef
TableHeader
TypeId
UnorderedList
ValRef
Whole