UNPKG

python2igcse

Version:

Convert Python code to IGCSE Pseudocode format

80 lines 2.18 kB
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