import { ArtifactContext, ArtifactExprContext, AssignmentContext, BooleanExprContext, BuiltInOpContext, CaseContext, CasesExprContext, CompOpContext, DefineSetContext, DefinitionContext, FuzzyExprContext, FuzzySymContext, GlobalBindContext, IndicatorCategoryContext, IndicatorContext, IndicatorExprContext, InvertOpContext, InvokedOpContext, LocalBindContext, MacroExprContext, MaxOpContext, MinOpContext, NodeTypeContext, OpDefContext, OpTypedParamContext, SetConstContext, SetCrispContext, SetDownContext, SetTrapContext, SetTriContext, SetUpContext, StartContext } from "../antlr/CertusParser"; import { CertusContext, FZ, TypedParameter } from "../model/Context"; import { CertusVisitor } from "../antlr/CertusVisitor"; import { ErrorNode } from "antlr4ts/tree/ErrorNode"; import { ParseTree } from "antlr4ts/tree/ParseTree"; import { RuleNode } from "antlr4ts/tree/RuleNode"; import { TerminalNode } from "antlr4ts/tree/TerminalNode"; import { Artifact, Indicator, IndicatorCategory, NodeType } from "../model/Argument"; export declare class EvaluationError extends Error { constructor(msg: string); } export declare class CertusEvaluator implements CertusVisitor { private ctx; constructor(); evaluate(input: string, initCtx: CertusContext): CertusContext; /** * Expands macros in expressions like: "C1 is #FUSE". Returns the * expanded macro. * * Warning. This will produce very large strings that will take a long * time for Certus to parse for argument steps with more than 2 or 3 children. * * @param input Certus expression * @returns an updated Certus expression containing macro expansions */ expandMacro(input: string): string; visit(tree: ParseTree): void; visitStart: (ctx: StartContext) => void; visitLocalBind: (ctx: LocalBindContext) => void; visitGlobalBind: (ctx: GlobalBindContext) => void; visitAssignment(ctx: AssignmentContext): void; visitDefinition(ctx: DefinitionContext): void; visitOpDef?: (ctx: OpDefContext) => void; visitOpTypedParam(ctx: OpTypedParamContext): TypedParameter; visitNodeType(ctx: NodeTypeContext): NodeType; visitBooleanExpr(ctx: BooleanExprContext): boolean; visitArtifactExpr: (ctx: ArtifactExprContext) => boolean; visitIndicatorExpr: (ctx: IndicatorExprContext) => boolean; visitCasesExpr(ctx: CasesExprContext): FZ; visitCase(ctx: CaseContext): [boolean, FZ]; visitMacroExpr(ctx: MacroExprContext): FZ; visitFuzzyExpr(ctx: FuzzyExprContext): FZ; visitInvokedOp(ctx: InvokedOpContext): FZ; visitFuzzySym(ctx: FuzzySymContext): FZ; visitBuiltInOp(ctx: BuiltInOpContext): FZ; visitMinOp(ctx: MinOpContext): FZ; visitMaxOp(ctx: MaxOpContext): FZ; visitInvertOp: (ctx: InvertOpContext) => FZ; visitCompOp: (ctx: CompOpContext) => FZ; visitDefineSet(ctx: DefineSetContext): FZ; visitSetTrap(ctx: SetTrapContext): FZ; visitSetTri(ctx: SetTriContext): FZ; visitSetUp(ctx: SetUpContext): FZ; visitSetDown(ctx: SetDownContext): FZ; visitSetConst(ctx: SetConstContext): FZ; visitSetCrisp(ctx: SetCrispContext): FZ; visitIndicator(ctx: IndicatorContext): Indicator; visitArtifact(ctx: ArtifactContext): Artifact | null; visitIndicatorCategory(ctx: IndicatorCategoryContext): IndicatorCategory; visitChildren(node: RuleNode): void; visitTerminal(node: TerminalNode): void; visitErrorNode(node: ErrorNode): void; /** * Throws if the fuzzy set is invalid for purpose of Certus evaluation. * @param f Set to check. */ private checkValidSet; } //# sourceMappingURL=Evaluator.d.ts.map