UNPKG

python2igcse

Version:

Convert Python code to IGCSE Pseudocode format

63 lines 1.62 kB
import { IGCSEDataType } from '../types/igcse'; /** * Basic interface for Python AST nodes */ interface ASTNode { type: string; lineno?: number; col_offset?: number; [key: string]: any; } /** * Visitor class responsible for processing expressions */ export declare class ExpressionVisitor { /** * Convert expressions to IGCSE pseudocode */ visitExpression(node: ASTNode): string; /** * Simple expression parsing */ private parseRawExpression; private formatConstant; private formatNameConstant; private visitBinOp; private visitUnaryOp; private visitCompare; private visitBoolOp; private visitCallExpression; private visitAttribute; private visitSubscript; private visitList; private visitDict; private visitListComp; private visitIfExp; private visitJoinedStr; convertBuiltinFunction(func: string, args: string[]): string | null; private convertOperator; private convertUnaryOperator; private convertCompareOperator; /** * Infer type from value */ inferTypeFromValue(node: ASTNode): IGCSEDataType; /** * Check if it's a numeric constant */ isNumericConstant(node: ASTNode): boolean; /** * Get the value of a numeric constant */ getNumericValue(node: ASTNode): number; /** * Check if it's array initialization */ isArrayInitialization(node: ASTNode): boolean; /** * Check if it's an explicit string type */ private isExplicitStringType; } export {}; //# sourceMappingURL=expression-visitor.d.ts.map