UNPKG

python2ib

Version:

Convert Python code to IB Pseudocode format

71 lines 2.14 kB
/** * Main emitter for converting IR to IB Pseudocode text */ import { IR } from '../types/ir.js'; import { ConvertOptions } from '../types/config.js'; /** Main emitter class for IR to IB Pseudocode conversion */ export declare class IBPseudocodeEmitter { private indentManager; private config; private output; constructor(config: Required<ConvertOptions>); /** Main emit method */ emit(ir: IR): string; /** Emit a single IR node */ private emitNode; /** Emit block */ private emitBlock; /** Emit sequence */ private emitSequence; /** Emit program (root) */ private emitProgram; /** Emit assignment */ private emitAssign; /** Emit output statement */ private emitOutput; /** Emit input statement */ private emitInput; /** Emit if statement */ private emitIf; /** Emit endif */ private emitEndif; /** Emit elseif */ private emitElseif; /** Emit else */ private emitElse; /** Emit while loop */ private emitWhile; /** Emit until loop */ private emitUntil; /** Emit endwhile */ private emitEndwhile; /** Emit for loop */ private emitFor; /** Emit next (end of for loop) */ private emitNext; /** Emit function definition */ private emitFunction; /** Emit endfunction */ private emitEndfunction; /** Emit procedure definition */ private emitProcedure; /** Emit endprocedure */ private emitEndprocedure; /** Emit return statement */ private emitReturn; /** Emit comment */ private emitComment; /** Emit expression */ private emitExpression; /** Emit unsupported node */ private emitUnsupported; /** Get current indentation level */ getCurrentIndentLevel(): number; /** Reset emitter state */ reset(): void; } /** Convenience function for emitting IR to IB Pseudocode */ export declare function emitIBPseudocode(ir: IR, config: Required<ConvertOptions>): string; /** Convenience function with default config */ export declare function emitIBPseudocodeDefault(ir: IR): string; //# sourceMappingURL=index.d.ts.map