python2ib
Version:
Convert Python code to IB Pseudocode format
71 lines • 2.14 kB
TypeScript
/**
* 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