python2igcse
Version:
Convert Python code to IGCSE Pseudocode format
75 lines • 1.81 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>);
/**
* Convert Python code to IGCSE Pseudocode
*/
convert(pythonCode: string): ConversionResult;
/**
* Batch conversion (multiple files)
*/
convertBatch(files: Array<{
name: string;
content: string;
}>): Array<{
name: string;
result: ConversionResult;
}>;
/**
* Update conversion options
*/
updateOptions(newOptions: Partial<ConversionOptions>): void;
/**
* Get current options
*/
getOptions(): ConversionOptions;
/**
* Get conversion statistics
*/
getStats(): {
totalConversions: number;
successfulConversions: number;
averageParseTime: number;
averageEmitTime: number;
averageTotalTime: number;
};
/**
* Validate IR
*/
validateIR(ir: IR): {
isValid: boolean;
errors: string[];
warnings: string[];
};
/**
* Merge with default options
*/
private mergeDefaultOptions;
/**
* Create error result
*/
private createErrorResult;
/**
* Create conversion statistics
*/
private createConversionStats;
}
/**
* Utility function: Simple conversion
*/
export declare function convertPythonToIGCSE(pythonCode: string, options?: Partial<ConversionOptions>): Promise<ConversionResult>;
/**
* Utility function: Convert from file
*/
/**
* Utility function: Convert multiple files
*/
//# sourceMappingURL=converter.d.ts.map