import { CONTRACT } from '../../typings/contractTypes'; import { MEMORY_SLOT, TOKEN } from '../../typings/syntaxTypes'; import { FLATTEN_MEMORY_RETURN_OBJECT, GENCODE_SOLVED_OBJECT } from '../codeGeneratorTypes'; /** Transforms a instruction into const instruction */ export declare function setConstAsmCode(progMemory: MEMORY_SLOT[], code: string, line: string): string; /** Creates one simple assembly instruction */ export declare function createSimpleInstruction(instruction: string, param1?: string): string; export declare function toRegister(Program: CONTRACT, InSolved: GENCODE_SOLVED_OBJECT, line: string): GENCODE_SOLVED_OBJECT; /** Create assembly code for one api function call */ export declare function createAPICallInstruction(Program: CONTRACT, ApiToken: TOKEN, RetMem: MEMORY_SLOT, argsMem: MEMORY_SLOT[]): string; /** * From ParamMemObj create an memory object suitable for assembly operations (a regular long variable). * Do do rely in createInstruction, all hardwork done internally. Returns also instructions maybe needed for * conversion and a boolean to indicate if it is a new object (that must be free later on). */ export declare function flattenMemory(Program: CONTRACT, StuffedMemory: MEMORY_SLOT, line: string): FLATTEN_MEMORY_RETURN_OBJECT; /** Used in function calls. Mem shall be a memory not stuffed */ export declare function forceSetMemFromR0(Program: CONTRACT, Mem: MEMORY_SLOT, line: string): string; /** Translate one single instruction from ast to assembly code */ export declare function createInstruction(Program: CONTRACT, OperatorToken: TOKEN, MemParam1?: MEMORY_SLOT, MemParam2?: MEMORY_SLOT, rLogic?: boolean, jpFalse?: string, jpTrue?: string): string;