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

74 lines 1.68 kB
/** * @import { SymbolToken, Word } from "@helios-lang/compiler-utils" * @typedef {import("@helios-lang/ir").SourceMappedStringI} SourceMappedStringI * @typedef {import("../typecheck/index.js").EvalEntity} EvalEntity */ /** * @type {{[name: string]: string}} */ export const BINARY_SYMBOLS_MAP: { [name: string]: string; }; /** * Binary operator expression */ export class BinaryExpr extends Expr { /** * @param {SymbolToken} op * @param {Expr} a * @param {Expr} b */ constructor(op: SymbolToken, a: Expr, b: Expr); /** * @private * @readonly * @typedef {SymbolToken} */ private readonly _op; /** * @private * @readonly * @typedef {Expr} */ private readonly _a; /** * @private * @readonly * @typedef {Expr} */ private readonly _b; /** * @private * @type {boolean} */ private _swap; /** * @private * @type {number} */ private _alt; /** * @type {Expr} */ get first(): Expr; /** * @type {Expr} */ get second(): Expr; /** * Turns op symbol into internal name * @param {number} alt * @returns {Word} */ translateOp(alt?: number): Word; /** * @returns {boolean} */ isCommutative(): boolean; } export type SourceMappedStringI = import("@helios-lang/ir").SourceMappedStringI; export type EvalEntity = import("../typecheck/index.js").EvalEntity; import { Expr } from "./Expr.js"; import type { Word } from "@helios-lang/compiler-utils"; import type { SymbolToken } from "@helios-lang/compiler-utils"; //# sourceMappingURL=BinaryExpr.d.ts.map