/** * Aexol Language Lexer * * Tokenizes Aexol source code into a stream of tokens. * Handles keywords, identifiers, operators, strings, and whitespace. */ export declare enum TokenType { IDENTIFIER = "IDENTIFIER", STRING = "STRING", NUMBER = "NUMBER", VISITOR = "VISITOR", AND = "AND", OR = "OR", NOT = "NOT", IF = "IF", WHEN = "WHEN", WHILE = "WHILE", FOR = "FOR", IN = "IN", OF = "OF", AS = "AS", WITH = "WITH", WITHOUT = "WITHOUT", REQUIRE = "REQUIRE", IMPORT = "IMPORT", FROM = "FROM", DEFINE = "DEFINE", TYPE = "TYPE", ENUM = "ENUM", INTERFACE = "INTERFACE", AGENT = "AGENT", WORKFLOW = "WORKFLOW", ROLE = "ROLE", PERMISSION = "PERMISSION", ACTION = "ACTION", STATE = "STATE", TRANSITION = "TRANSITION", EXECUTION_PLAN = "EXECUTION_PLAN", TASK = "TASK", SUBTASK = "SUBTASK", SUBTASKS = "SUBTASKS", DEPENDENCIES = "DEPENDENCIES", PARALLEL_WITH = "PARALLEL_WITH", EXECUTION_GRAPH = "EXECUTION_GRAPH", PHASE = "PHASE", CONTEXT = "CONTEXT", CAPABILITIES = "CAPABILITIES", SKILLS = "SKILLS", MODEL = "MODEL", MAX_CONCURRENT = "MAX_CONCURRENT", ESTIMATED_DURATION = "ESTIMATED_DURATION", DESCRIPTION = "DESCRIPTION", SPEC_REFERENCE = "SPEC_REFERENCE", GENERATED_FROM = "GENERATED_FROM", GENERATED_AT = "GENERATED_AT", GENERATED_BY = "GENERATED_BY", INITIAL = "INITIAL", FINAL = "FINAL", TRUE = "TRUE", FALSE = "FALSE", NULL = "NULL", RETURN = "RETURN", YIELD = "YIELD", ASYNC = "ASYNC", AWAIT = "AWAIT", THROW = "THROW", TRY = "TRY", CATCH = "CATCH", FINALLY = "FINALLY", LPAREN = "LPAREN", RPAREN = "RPAREN", LBRACE = "LBRACE", RBRACE = "RBRACE", LBRACKET = "LBRACKET", RBRACKET = "RBRACKET", DOT = "DOT", COMMA = "COMMA", COLON = "COLON", SEMICOLON = "SEMICOLON", ARROW = "ARROW", FAT_ARROW = "FAT_ARROW", EQUALS = "EQUALS", PLUS_EQUALS = "PLUS_EQUALS", MINUS_EQUALS = "MINUS_EQUALS", MULT_EQUALS = "MULT_EQUALS", DIV_EQUALS = "DIV_EQUALS", PLUS = "PLUS", MINUS = "MINUS", MULT = "MULT", DIV = "DIV", MOD = "MOD", POWER = "POWER", EQ = "EQ", NEQ = "NEQ", LT = "LT", LTE = "LTE", GT = "GT", GTE = "GTE", AMPERSAND = "AMPERSAND", PIPE = "PIPE", CARET = "CARET", TILDE = "TILDE", QUESTION = "QUESTION", EXCLAMATION = "EXCLAMATION", AT = "AT", DOLLAR = "DOLLAR", HASH = "HASH", BACKSLASH = "BACKSLASH", NEWLINE = "NEWLINE", INDENT = "INDENT", DEDENT = "DEDENT", EOF = "EOF", COMMENT = "COMMENT", WHITESPACE = "WHITESPACE", PROMPT = "PROMPT" } export interface TokenLocation { line: number; column: number; offset: number; } export interface Token { type: TokenType; value: string; location: TokenLocation; raw: string; } export declare class Lexer { private source; private position; private line; private column; private tokens; private indentStack; constructor(source: string); private peek; private advance; private skipWhitespace; private skipCommentIfNeeded; private readString; private readNumber; private readIdentifier; private readPromptString; private handleIndentation; tokenize(): Token[]; getTokens(): Token[]; } //# sourceMappingURL=lexer.d.ts.map