python2igcse
Version:
Convert Python code to IGCSE Pseudocode format
121 lines • 2.47 kB
TypeScript
import { IR } from '../types/ir';
import { EmitResult, EmitterOptions } from '../types/emitter';
import { BaseEmitter } from './base-emitter';
/**
* プレーンテキスト形式でIGCSE Pseudocodeを出力するエミッター
*/
export declare class TextEmitter extends BaseEmitter {
private nodesProcessed;
constructor(options?: Partial<EmitterOptions>);
/**
* IRをプレーンテキストに変換
*/
emit(ir: IR): EmitResult;
/**
* IRノードの処理
*/
protected emitNode(node: IR): void;
/**
* 代入文の出力
*/
private emitAssign;
/**
* ブロックの出力
*/
private emitBlock;
/**
* 出力文の出力
*/
private emitOutput;
/**
* 入力文の出力
*/
private emitInput;
/**
* IF文の出力
* 構造化されたconsequent/alternateフィールドを使用
*/
private emitIf;
/**
* ELSE文の出力
* 構造化されたconsequentフィールドを使用
*/
private emitElse;
/**
* ELSE IF文の出力
*/
private emitElseIf;
/**
* ENDIF文の出力
*/
private emitEndif;
/**
* FOR文の出力
*/
private emitFor;
/**
* WHILE文の出力
*/
private emitWhile;
/**
* ENDWHILE文の出力
*/
private emitEndwhile;
/**
* REPEAT文の出力
*/
private emitRepeat;
/**
* UNTIL文の出力
*/
private emitUntil;
/**
* プロシージャの出力
*/
protected emitProcedure(node: IR): void;
/**
* FUNCTION文の出力
*/
protected emitFunction(node: IR): void;
/**
* RETURN文の出力
*/
private emitReturn;
/**
* 配列宣言の出力
*/
private emitArray;
/**
* TYPE定義の出力
*/
private emitType;
/**
* CLASS定義の出力
*/
private emitClass;
/**
* CASE文の出力
*/
private emitCase;
/**
* 式の出力
*/
private emitExpression;
/**
* 文の出力
*/
private emitStatement;
/**
* 複合文の出力
*/
private emitCompound;
/**
* ヘッダーコメントの追加
*/
addHeader(title: string, author?: string, date?: string): void;
/**
* フッターコメントの追加
*/
addFooter(): void;
}
//# sourceMappingURL=text-emitter.d.ts.map