Revamping to matrix style

This commit is contained in:
2026-02-16 16:37:35 -05:00
parent 71852ec99a
commit 9d0e3938e4
14958 changed files with 2089572 additions and 114 deletions

View File

@@ -0,0 +1,31 @@
type Match = ((code: number) => boolean) | number;
export interface BackwardScanner {
/** Text to scan */
text: string;
/** Left bound till given text must be scanned */
start: number;
/** Current scanner position */
pos: number;
}
/**
* Creates structure for scanning given string in backward direction
*/
export default function backwardScanner(text: string, start?: number): BackwardScanner;
/**
* Check if given scanner position is at start of scanned text
*/
export declare function sol(scanner: BackwardScanner): boolean;
/**
* “Peeks” character code an current scanner location without advancing it
*/
export declare function peek(scanner: BackwardScanner, offset?: number): number;
/**
* Returns current character code and moves character location one symbol back
*/
export declare function previous(scanner: BackwardScanner): number | undefined;
/**
* Consumes current character code if it matches given `match` code or function
*/
export declare function consume(scanner: BackwardScanner, match: Match): boolean;
export declare function consumeWhile(scanner: BackwardScanner, match: Match): boolean;
export {};