semantic-math-processor-client
Version:
Semantic Math Processor Client is a plugin for SemanticMathEditor, which allows making math calculation using Math Processor - our REST wrapper around Sympy CAS
56 lines (55 loc) • 2.12 kB
TypeScript
export declare abstract class SympyBaseToken {
}
export declare abstract class SympyToken extends SympyBaseToken {
readonly type: string;
constructor(func: string);
abstract accept<T>(visitor: SympyTokenVisitor<T>): T;
}
export declare abstract class SympyContainer extends SympyToken {
readonly args: SympyToken[];
constructor(name: string, args: SympyToken[]);
}
export declare class SympyFunction extends SympyContainer {
constructor(name: string, args: SympyToken[]);
accept<T>(visitor: SympyTokenVisitor<T>): T;
}
export declare class SympyMethod extends SympyContainer {
readonly method: string;
readonly object: SympyToken;
constructor(obj: SympyToken, name: string, args: SympyToken[]);
accept<T>(visitor: SympyTokenVisitor<T>): T;
}
export declare class SympyUserFunction extends SympyContainer {
readonly name: string;
constructor(name: string, args: SympyToken[]);
accept<T>(visitor: SympyTokenVisitor<T>): T;
}
export declare class SympyArray extends SympyContainer {
readonly square: boolean;
constructor(args: SympyToken[], square: boolean);
accept<T>(visitor: SympyTokenVisitor<T>): T;
}
export declare class SympyString extends SympyToken {
private v;
constructor(s?: string);
append(s: string): void;
get value(): string;
accept<T>(visitor: SympyTokenVisitor<T>): T;
}
export interface SympyTokenVisitor<T> {
visitMethod(m: SympyMethod): T;
visitUserFunction(uf: SympyUserFunction): T;
visitFunction(f: SympyFunction): T;
visitString(s: SympyString): T;
visitArray(a: SympyArray): T;
}
export declare class SympyStringify implements SympyTokenVisitor<string> {
static readonly instance: SympyStringify;
visitFunction(f: SympyFunction): string;
visitString(s: SympyString): string;
visitArray(a: SympyArray): string;
visitUserFunction(uf: SympyUserFunction): string;
visitMethod(m: SympyMethod): string;
}
export declare function rawParseSympyExpression(expression: string): SympyToken[];
export declare function parseSympyExpression(expression: string): SympyToken;