UNPKG

meta-log-db

Version:

Native database package for Meta-Log (ProLog, DataLog, R5RS)

54 lines 1.28 kB
/** * R5RS Scheme Parser * Parses Scheme files and extracts function definitions */ export interface SchemeExpression { type: 'atom' | 'list' | 'lambda' | 'define' | 'if' | 'quote' | 'call'; value?: any; children?: SchemeExpression[]; name?: string; params?: string[]; body?: SchemeExpression; } /** * R5RS Scheme Parser */ export declare class R5RSParser { /** * Parse Scheme file content */ static parse(content: string): SchemeExpression[]; /** * Tokenize Scheme code */ private static tokenize; /** * Parse a single expression */ private static parseExpression; /** * Parse a list expression */ private static parseList; /** * Parse define expression */ private static parseDefine; /** * Parse lambda expression */ private static parseLambda; /** * Parse atom */ private static parseAtom; /** * Extract function definitions from parsed expressions */ static extractFunctions(expressions: SchemeExpression[]): Map<string, SchemeExpression>; /** * Extract lambda expressions */ static extractLambdas(expressions: SchemeExpression[]): SchemeExpression[]; } //# sourceMappingURL=parser.d.ts.map