Packages

package lang

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. class CheckingSigmaBuilder extends StdSigmaBuilder

    Builder which does checking of constraints on the numeric arguments of binary operations.

  2. 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

  3. 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, the map 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).

  4. class SigmaBinder extends AnyRef

  5. 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.

  6. class SigmaCompiler extends AnyRef

    Compiler which compiles ErgoScript source code into ErgoTree.

  7. class SigmaTyper extends AnyRef

    Type inference and analysis for Sigma expressions.

  8. case class SourceContext(line: Int, column: Int, sourceLine: String) extends Product with Serializable
  9. 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 the currentSrcCtx variable. (See for example how this variable is used in SigmaParser.)

  10. 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.

  11. trait Types extends Core

    Parsers of type terms.

    Parsers of type terms. Can produce values of SType.

Value Members

  1. object CheckingSigmaBuilder extends CheckingSigmaBuilder with Product with Serializable

    Builder which performs checking of constraints on numeric operations.

  2. object Constraints
  3. object DeserializationSigmaBuilder extends TransformingSigmaBuilder with Product with Serializable

    Builder of ErgoTree nodes which is used in deserializers.

  4. object SigmaBinder
  5. object SigmaCompiler
  6. object SigmaParser extends Exprs with Types with Core

    Main facade to ErgoScript parser implementation.

  7. object SigmaPredef
  8. object SigmaTyper
  9. object SourceContext extends Serializable
  10. object SrcCtxCallbackRewriter extends CallbackRewriter
  11. object StdSigmaBuilder extends StdSigmaBuilder with Product with Serializable

    Standard builder which don't perform any additional transformations and checking.

  12. object Terms
  13. object TransformingSigmaBuilder extends TransformingSigmaBuilder with Product with Serializable

    Builder of ErgoTree nodes which is used in SigmaCompiler.

Ungrouped