UNPKG

python2igcse

Version:

Convert Python code to IGCSE Pseudocode format

81 lines 2.05 kB
import { IR } from '../types/ir'; import { EmitResult, EmitterOptions } from '../types/emitter'; /** * Emitter utility class */ export declare class EmitterUtils { /** * Get IR tree statistics */ static getIRStats(ir: IR): { totalNodes: number; maxDepth: number; nodeTypes: Record<string, number>; hasComments: boolean; hasFunctions: boolean; hasLoops: boolean; hasConditionals: boolean; }; /** * Traverse IR tree */ static traverseIR(ir: IR, callback: (node: IR, depth: number) => void, depth?: number): void; /** * Validate emit result */ static validateEmitResult(result: EmitResult): { isValid: boolean; issues: string[]; suggestions: string[]; }; /** * Analyze code quality */ static analyzeCodeQuality(code: string): { score: number; metrics: { readability: number; structure: number; consistency: number; completeness: number; }; recommendations: string[]; }; /** * Evaluate readability */ private static evaluateReadability; /** * Evaluate structure */ private static evaluateStructure; /** * Evaluate consistency */ private static evaluateConsistency; /** * Evaluate completeness */ private static evaluateCompleteness; /** * Check control structure balance */ private static checkStructureBalance; /** * Calculate code complexity */ static calculateComplexity(ir: IR): { cyclomaticComplexity: number; cognitiveComplexity: number; nestingDepth: number; }; /** * Suggest optimizations */ static suggestOptimizations(ir: IR): string[]; /** * Optimize emitter options */ static optimizeEmitterOptions(ir: IR, targetFormat: import('../types/emitter').OutputFormat): Partial<EmitterOptions>; } //# sourceMappingURL=utils.d.ts.map