java2ib
Version:
TypeScript library that converts Java code into IB Computer Science pseudocode format
56 lines • 1.92 kB
TypeScript
/**
* Pseudocode Generation System for converting PseudocodeNode AST to formatted pseudocode strings
*/
import { PseudocodeNode } from './transformer';
import { ConversionOptions } from './types';
export interface CodeGenerationOptions {
indentSize: number;
preserveComments: boolean;
indentChar: string;
}
export declare class PseudocodeGenerator {
private options;
constructor(options?: Partial<CodeGenerationOptions>);
/**
* Generate formatted pseudocode from PseudocodeNode AST
* @param nodes - Array of PseudocodeNode objects to convert
* @returns Formatted pseudocode string
*/
generate(nodes: PseudocodeNode[]): string;
/**
* Generate lines for a single PseudocodeNode
* @param node - The PseudocodeNode to generate
* @returns Array of formatted lines
*/
private generateNode;
/**
* Format a single line with proper indentation
* @param content - The content to format
* @param indentLevel - The indentation level
* @returns Formatted line with indentation
*/
private formatLine;
/**
* Generate indentation string for the given level
* @param level - The indentation level
* @returns Indentation string
*/
private generateIndent;
/**
* Update generation options
* @param options - New options to merge
*/
updateOptions(options: Partial<CodeGenerationOptions>): void;
/**
* Get current generation options
* @returns Current options
*/
getOptions(): CodeGenerationOptions;
}
/**
* Utility function to create a PseudocodeGenerator from ConversionOptions
* @param conversionOptions - ConversionOptions from the main API
* @returns Configured PseudocodeGenerator
*/
export declare function createGeneratorFromConversionOptions(conversionOptions?: ConversionOptions): PseudocodeGenerator;
//# sourceMappingURL=code-generator.d.ts.map