package lang
- Alphabetic
- Public
- All
Type Members
-
class
CheckingSigmaBuilder extends StdSigmaBuilder
Builder which does checking of constraints on the numeric arguments of binary operations.
-
case class
CompilerResult[Ctx <: IRContext](env: ScriptEnv, code: String, compiledGraph: Ctx.Ref[(Ctx.Context) ⇒ Any], buildTree: SValue) extends Product with Serializable
Result of ErgoScript source code compilation.
Result of ErgoScript source code compilation.
- env
compiler environment used to compile the code
- code
ErgoScript source code
- compiledGraph
graph obtained by using new GraphBuilding
- buildTree
ErgoTree expression obtained from graph created by GraphBuilding
-
case class
CompilerSettings(networkPrefix: NetworkPrefix, builder: SigmaBuilder, lowerMethodCalls: Boolean) extends Product with Serializable
- networkPrefix
network prefix to decode an ergo address from string (PK op)
- builder
used to create ErgoTree nodes
- lowerMethodCalls
if true, then MethodCall nodes are lowered to ErgoTree nodes when sigmastate.SMethod.irInfo.irBuilder is defined. For example, in the
coll.map(x => x+1)
code, themap
method call can be lowered to MapCollection node. The lowering if preferable, because it is more compact (1 byte for MapCollection instead of 3 bytes for MethodCall).
- class SigmaBinder extends AnyRef
-
abstract
class
SigmaBuilder extends AnyRef
Abstract interface of ErgoTree node builders.
Abstract interface of ErgoTree node builders. Each method of the interface creates the corresponding ErgoTree node. The signatures of the methods reflect the constructors of the nodes. See the corresponding node classes for details.
-
class
SigmaCompiler extends AnyRef
Compiler which compiles ErgoScript source code into ErgoTree.
-
class
SigmaTyper extends AnyRef
Type inference and analysis for Sigma expressions.
- case class SourceContext(line: Int, column: Int, sourceLine: String) extends Product with Serializable
-
class
StdSigmaBuilder extends SigmaBuilder
Standard implementation of SigmaBuilder interface in which most of the operations delegate common logic to equalityOp, comparisonOp and arithOp with default implementation.
Standard implementation of SigmaBuilder interface in which most of the operations delegate common logic to equalityOp, comparisonOp and arithOp with default implementation. Note, each method of this class uses current value of
currentSrcCtx
dynamic variable to attach SourceContext to the created node. Thus, it is a responsibility of the caller to provide valid value of thecurrentSrcCtx
variable. (See for example how this variable is used in SigmaParser.) -
class
TransformingSigmaBuilder extends StdSigmaBuilder
Builder which does automatic upcast of numeric arguments when necessary.
Builder which does automatic upcast of numeric arguments when necessary. The upcast is implemented by inserting additional Upcast nodes. It also performs checking of constrains.
-
trait
Types extends Core
Parsers of type terms.
Parsers of type terms. Can produce values of SType.
Value Members
-
object
CheckingSigmaBuilder extends CheckingSigmaBuilder with Product with Serializable
Builder which performs checking of constraints on numeric operations.
- object Constraints
-
object
DeserializationSigmaBuilder extends TransformingSigmaBuilder with Product with Serializable
Builder of ErgoTree nodes which is used in deserializers.
- object SigmaBinder
- object SigmaCompiler
-
object
SigmaParser extends Exprs with Types with Core
Main facade to ErgoScript parser implementation.
- object SigmaPredef
- object SigmaTyper
- object SourceContext extends Serializable
- object SrcCtxCallbackRewriter extends CallbackRewriter
-
object
StdSigmaBuilder extends StdSigmaBuilder with Product with Serializable
Standard builder which don't perform any additional transformations and checking.
- object Terms
-
object
TransformingSigmaBuilder extends TransformingSigmaBuilder with Product with Serializable
Builder of ErgoTree nodes which is used in SigmaCompiler.