@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
TypeScript
/**
* @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