UNPKG

@helios-lang/compiler

Version:

Helios is a Domain Specific Language that compiles to Plutus-Core (i.e. Cardano on-chain validator scripts). Helios is a non-Haskell alternative to Plutus. With this library you can compile Helios scripts and build Cardano transactions, all you need to bu

60 lines 1.57 kB
/** * @import { Source, Word } from "@helios-lang/compiler-utils" */ /** * A Module is a collection of statements */ export class Module { /** * @param {Word} name * @param {Statement[]} statements * @param {Source} sourceCode */ constructor(name: Word, statements: Statement[], sourceCode: Source); /** * @readonly * @type {Word} */ readonly name: Word; /** * @readonly * @type {Source} */ readonly sourceCode: Source; /** * @private * @readonly * @type {Statement[]} */ private readonly _statements; /** * @type {Statement[]} */ get statements(): Statement[]; /** * @returns {string} */ toString(): string; /** * @param {ModuleScope} scope */ evalTypes(scope: ModuleScope): void; /** * This module can depend on other modules * @param {Module[]} modules * @param {Module[]} stack * @returns {Module[]} */ filterDependencies(modules: Module[], stack?: Module[]): Module[]; /** * * @param {(name: string, statement: ConstStatement) => void} callback */ loopConstStatements(callback: (name: string, statement: ConstStatement) => void): void; } import type { Word } from "@helios-lang/compiler-utils"; import type { Source } from "@helios-lang/compiler-utils"; import { Statement } from "../statements/index.js"; import { ModuleScope } from "../scopes/index.js"; import { ConstStatement } from "../statements/index.js"; //# sourceMappingURL=Module.d.ts.map