python2igcse
Version:
Convert Python code to IGCSE Pseudocode format
80 lines • 2.18 kB
TypeScript
import { ConversionOptions, ConversionResult } from './types';
import { IR } from './types/ir';
/**
* Python to IGCSE Pseudocode Converter
*/
export declare class Converter {
private parser;
private textEmitter;
private markdownEmitter;
private options;
constructor(options?: Partial<ConversionOptions>);
/**
* Python コードを IGCSE Pseudocode に変換
*/
convert(pythonCode: string): ConversionResult;
/**
* バッチ変換(複数ファイル)
*/
convertBatch(files: Array<{
name: string;
content: string;
}>): Promise<Array<{
name: string;
result: ConversionResult;
}>>;
/**
* 変換オプションの更新
*/
updateOptions(newOptions: Partial<ConversionOptions>): void;
/**
* 現在のオプションを取得
*/
getOptions(): ConversionOptions;
/**
* 変換統計の取得
*/
getStats(): {
totalConversions: number;
successfulConversions: number;
averageParseTime: number;
averageEmitTime: number;
averageTotalTime: number;
};
/**
* IRの検証
*/
validateIR(ir: IR): {
isValid: boolean;
errors: string[];
warnings: string[];
};
/**
* デフォルトオプションとのマージ
*/
private mergeDefaultOptions;
/**
* エラー結果の作成
*/
private createErrorResult;
/**
* 変換統計の作成
*/
private createConversionStats;
}
/**
* 便利な関数:簡単な変換
*/
export declare function convertPythonToIGCSE(pythonCode: string, options?: Partial<ConversionOptions>): Promise<ConversionResult>;
/**
* 便利な関数:ファイルからの変換
*/
export declare function convertFileToIGCSE(filePath: string, options?: Partial<ConversionOptions>): Promise<ConversionResult>;
/**
* 便利な関数:複数ファイルの変換
*/
export declare function convertFilesToIGCSE(filePaths: string[], options?: Partial<ConversionOptions>): Promise<Array<{
name: string;
result: ConversionResult;
}>>;
//# sourceMappingURL=converter.d.ts.map