Module parser

Source
Expand description

All things related to parsing FIPS code

Modules§

fips_parser

Structs§

AdHocArrayExpression
AssignStatement
Statement for assigning a value to an existing binding
AtIndex
Array indexing expressions
BinaryOperation
An operation with two operands
BlockExpression
Block expressions (i.e. a block of statements terminated with an expression)
CallStatement
Statement for calling back to Rust
ExternFunctionDecl
FunctionCall
Call of a named function
Interaction
Interaction between particle types
InteractionQuantity
Specific quantity determined by the interaction of two particle types
LetStatement
Statement for introducing a new binding
OnceBlock
Block representing a one-time only action
Particle
Node for the information of a particle block
ParticleMember
Simulation
Structure representing a simulation
SimulationSubBlock
Subblocks in a simulation that contain the actual statements
StepBlock
Block representing an action that is to be repeated according to a step range
StepRange
Range of steps with start <= i < end
Unit
UpdateStatement
Statement for updating an interaction quantity

Enums§

Atom
An atomic expression
BinaryOperator
A binary operand
CompileTimeConstant
A compile time constant, i.e. a literal, some pre-defined constant (or an expression of such, TODO)
Expression
Types of Expressions
FipsType
A type in the FIPS language
Identifier
InteractionSymmetry
Literal
A literal
ReductionMethod
SimulationBlock
All possible blocks inside a simulation
Statement
All kinds of statements in Rust
SubstitutionValue
Helper to contain possible values for substitution (kind of a reverse of FipsValue: this is used to represent Rust types given for substitution without assuming that they are also valid types in FIPS)

Traits§

ConstantSubstitution