@bitloops/bl-transpiler
Version:
The one and only Bitloops Language transpiler
22 lines • 1.55 kB
TypeScript
import { IIntermediateASTParser, IntermediateAST } from './ast/core/types.js';
import { IOriginalParser, type ParserSyntacticErrors, TParserInputData } from './parser/index.js';
import { ITargetGenerator, TOutputTargetContent } from './target/types.js';
import type { TranspilerErrors, TTranspileOptions, TTranspileOutput } from './transpilerTypes.js';
import type { TSymbolTableSemantics } from './semantic-analysis/type-inference/types.js';
export default class Transpiler {
private parser;
private originalLanguageASTToIntermediateModelTransformer;
private intermediateASTModelToTargetLanguageGenerator;
constructor(parser: IOriginalParser, originalLanguageASTToIntermediateModelTransformer: IIntermediateASTParser, intermediateASTModelToTargetLanguageGenerator: ITargetGenerator);
transpile(transpileInputData: TParserInputData, options: TTranspileOptions): TTranspileOutput | TranspilerErrors;
bitloopsCodeToIntermediateModel(transpileInputData: TParserInputData): IntermediateAST | TranspilerErrors;
getSymbolTable(inputData: TParserInputData): ParserSyntacticErrors | TSymbolTableSemantics;
private bitloopsCodeToOriginalAST;
private originalASTToIntermediateModel;
private intermediateASTModelToTargetLanguage;
private validateIntermediateModel;
private completeIntermediateModel;
static isTranspileError(value: TOutputTargetContent | TranspilerErrors): value is TranspilerErrors;
static isTranspilerError(value: any): value is TranspilerErrors;
}
//# sourceMappingURL=Transpiler.d.ts.map