scriny library

A tiny scripting language for Dart. By Skyost.

Classes

AbsFunction
Represents the absolute value function.
ACosFunction
Represents the arc cosine function.
AdditionExpression
Represents an addition expression.
AllTypesAcceptor
Represents a type acceptor that accepts all types.
AndExpression
Represents an and expression.
ASinFunction
Represents the arc sine function.
AssignmentExpression
A statement that assigns a value to a variable.
ATanFunction
Represents the arc tangent function.
BinaryExpression
Represents a binary expression with two operands and an operator.
BooleanLiteral
An expression that represents a boolean.
BooleanTypeAcceptor
Represents a type acceptor that accepts only bools.
BreakResult
A result of a break statement.
BreakStatement
A statement that breaks the current loop.
CeilFunction
Represents the ceiling function.
ConditionalExpression
Represents a conditional expression.
ContinueResult
A result of a continue statement.
ContinueStatement
A statement that continues the current loop.
CosFunction
Represents the cosine function.
DefaultExpressionRenderer
The default expression renderer.
DefaultStatementRenderer
The default statement renderer.
DeleteExpression
A statement that unassigns a variable.
DivisionExpression
Represents a division expression.
EqualityExpression
Represents an equal expression. Note: This performs equality on evaluated values, which can be numbers, strings, booleans, etc.
EvaluableFunction
Represents an evaluable function.
EvaluableFunctionTypeAcceptor
Represents a type acceptor that accepts only EvaluableFunctions.
EvaluationContext
Provides the necessary context for evaluating expressions : variables, constants and functions.
ExpFunction
Represents the exponential function.
ExponentiationExpression
Represents an exponentiation expression.
Expression
An expression that can be evaluated.
ExpressionRendererBase
The base class for expression renderers.
ExpressionStatement
A statement that evaluates an expression.
FloorFunction
Represents the floor function.
ForStatement
A statement that runs a list of statements for each element in a collection.
FunctionCallExpression
An expression that calls a function.
GroupingExpression
An expression that is surrounded by parenthesis.
HasExpression
Represents a has expression. Allows to test whether a collection contains a value.
IdentifierExpression
An expression that represents a variable.
IfStatement
A statement that runs a list of statements if the condition is true.
InequalityExpression
Represents a different (not equal) expression. Note: This performs inequality on evaluated values, which can be numbers, strings, booleans, etc.
InferiorExpression
Represents an inferior expression.
InferiorOrEqualExpression
Represents an inferior or equal expression.
IntegerDivisionExpression
Represents an integer division expression.
IntTypeAcceptor
Represents a type acceptor that accepts only ints.
LengthFunction
Represents the length function.
ListLiteral
An expression that represents a list.
ListTypeAcceptor<T>
Represents a type acceptor that accepts only Lists.
Literal<T extends Object?>
An expression that represents a literal value.
LogFunction
Represents the natural logarithm function.
MapLiteral
An expression that represents a map.
MapTypeAcceptor<K, V>
Represents a type acceptor that accepts only Maps.
MathematicalExpressionRenderer
The mathematical expression renderer.
MaxFunction
Represents the max function.
MemberAccessExpression
An expression that represents a member access.
MinFunction
Represents the min function.
MinusExpression
Allows takes the opposite sign of a number expression.
MultipleTypesAcceptor
Represents a type acceptor that accepts any of the given types.
MultiplicationExpression
Represents a multiplication expression.
NotExpression
Allows takes the opposite value of a boolean expression.
NullLiteral
An expression that represents a null value.
NullTypeAcceptor
Represents a type acceptor that accepts only null values.
NumberLiteral
An expression that represents a number.
NumberTypeAcceptor
Represents a type acceptor that accepts only nums.
OrExpression
Represents an or expression.
PrintFunction
Represents the print function.
Program
Represents a runnable program.
RangeFunction
Represents the range function.
RemainderExpression
Represents a remainder expression.
ReturnResult
A result of a return statement.
ReturnStatement
A statement that returns a value.
RootFunction
Represents the root function.
RoundFunction
Represents the round function.
RunResult
A result of a statement.
ScrinyParser
A parser for expressions and statements.
SinFunction
Represents the sine function.
SqrtFunction
Represents the squared root function.
Statement
A statement in an algorithm.
StringLiteral
An expression that represents a string.
StringTypeAcceptor
Represents a type acceptor that accepts only Strings.
SubtractionExpression
Represents an subtraction expression.
SuperiorExpression
Represents a superior expression.
SuperiorOrEqualExpression
Represents a superior or equal expression.
TanFunction
Represents the tangent function.
TernaryExpression
Represents a ternary expression with three operands and an operator.
TypeAcceptor
A class that allows to accept an object based on its type.
UnaryExpression
An unary expression that takes one operand and one operator.
WhileStatement
A statement that runs a list of statements while the condition is true.

Enums

ExpressionPrecedence
Represents the precedence of an expression. References :

Mixins

AssociativityAware
A mixin for rendering binary expressions without neglecting the associativity.
ExpressionRenderer
A mixin for rendering expressions.
FixedArgumentCount
Represents a function that accepts a fixed number of arguments.
InAdditiveGroup
An expression that is part of the additive group.
InAssignmentGroup
An expression that is part of the assignment group.
InEqualityGroup
An expression that is part of the equality group.
InExponentiationGroup
An expression that is part of the exponentiation group.
InLogicalGroup
An expression that is part of the logical group.
InMultiplicativeGroup
An expression that is part of the multiplicative group.
InRelationalGroup
An expression that is part of the relational group.
StatementRenderer
A mixin for rendering statements.

Extensions

RunExtension on List<Statement>
Allows to run the list of statements.

Exceptions / Errors

FunctionArgumentTypeException
Exception thrown when an argument is of the wrong type.
UnknownIdentifierException
Exception thrown when an unknown identifier is encountered.
WrongArgumentCountException
Exception thrown when the wrong number of arguments is passed to a function.