mirror of
https://github.com/AeThex-Corporation/AeThex-OS.git
synced 2026-04-17 22:27:19 +00:00
78 lines
No EOL
1.8 KiB
TypeScript
78 lines
No EOL
1.8 KiB
TypeScript
/**
|
|
* AeThex Compiler - Lexer (Tokenizer)
|
|
* Converts source code into tokens
|
|
*/
|
|
export declare enum TokenType {
|
|
REALITY = "REALITY",
|
|
JOURNEY = "JOURNEY",
|
|
LET = "LET",
|
|
IMPORT = "IMPORT",
|
|
FROM = "FROM",
|
|
WHEN = "WHEN",
|
|
OTHERWISE = "OTHERWISE",
|
|
RETURN = "RETURN",
|
|
PLATFORM = "PLATFORM",
|
|
NOTIFY = "NOTIFY",
|
|
REVEAL = "REVEAL",
|
|
SYNC = "SYNC",
|
|
ACROSS = "ACROSS",
|
|
NEW = "NEW",
|
|
IDENTIFIER = "IDENTIFIER",
|
|
STRING = "STRING",
|
|
NUMBER = "NUMBER",
|
|
PLUS = "PLUS",
|
|
MINUS = "MINUS",
|
|
STAR = "STAR",
|
|
SLASH = "SLASH",
|
|
EQUALS = "EQUALS",
|
|
EQUALS_EQUALS = "EQUALS_EQUALS",
|
|
NOT_EQUALS = "NOT_EQUALS",
|
|
BANG = "BANG",
|
|
LESS_THAN = "LESS_THAN",
|
|
GREATER_THAN = "GREATER_THAN",
|
|
LESS_EQUALS = "LESS_EQUALS",
|
|
GREATER_EQUALS = "GREATER_EQUALS",
|
|
LEFT_PAREN = "LEFT_PAREN",
|
|
RIGHT_PAREN = "RIGHT_PAREN",
|
|
LEFT_BRACE = "LEFT_BRACE",
|
|
RIGHT_BRACE = "RIGHT_BRACE",
|
|
LEFT_BRACKET = "LEFT_BRACKET",
|
|
RIGHT_BRACKET = "RIGHT_BRACKET",
|
|
COMMA = "COMMA",
|
|
DOT = "DOT",
|
|
COLON = "COLON",
|
|
SEMICOLON = "SEMICOLON",
|
|
NEWLINE = "NEWLINE",
|
|
EOF = "EOF",
|
|
COMMENT = "COMMENT"
|
|
}
|
|
export interface Token {
|
|
type: TokenType;
|
|
value: string;
|
|
line: number;
|
|
column: number;
|
|
}
|
|
export declare class Lexer {
|
|
private source;
|
|
private position;
|
|
private line;
|
|
private column;
|
|
private current;
|
|
private keywords;
|
|
constructor(source: string);
|
|
tokenize(): Token[];
|
|
private nextToken;
|
|
private readComment;
|
|
private readString;
|
|
private readNumber;
|
|
private readIdentifier;
|
|
private readOperator;
|
|
private skipWhitespace;
|
|
private advance;
|
|
private isAtEnd;
|
|
private isDigit;
|
|
private isAlpha;
|
|
private isAlphaNumeric;
|
|
private makeToken;
|
|
}
|
|
//# sourceMappingURL=Lexer.d.ts.map
|