Skip to content

aeso_compiler

Module

aeso_compiler

The Sophia compiler

Description

This module provides the interface to the standard Sophia compiler. It returns the compiled module in a map which can then be loaded.

Types

erlang contract_string() = string() | binary() contract_map() = #{bytecode => binary(), compiler_version => binary(), contract_souce => string(), type_info => type_info()} type_info() errorstring() = binary()

Exports

file(File)

file(File, Options) -> CompRet

from_string(ContractString, Options) -> CompRet

Types

erlang ContractString = contract_string() Options = [Option] CompRet = {ok,ContractMap} | {error,ErrorString} ContractMap = contract_map() ErrorString = errorstring()

Compile a contract defined in a file or in a string.

The pp_ options all print to standard output the following:

pp_sophia_code - print the input Sophia code.

pp_ast - print the AST of the code

pp_types - print information about the types

pp_typed_ast - print the AST with type information at each node

pp_assembler - print the generated assembler code

check_call(ContractString, Options) -> CheckRet

Types ContractString = string() | binary() CheckRet = {ok,string(),{Types,Type | any()},Terms} | {error,Term} Types = [Type] Type = term() Check a call in contract through the __call function.

version() -> {ok, Version} | {error, term()}

Types

erlang Version = binary()

Get the current version of the Sophia compiler.