@runtimeverificationinc/tsk
Version:
TypeScript/JavaScript library for K Framework functionality
77 lines (76 loc) • 1.65 kB
TypeScript
export declare enum TokenType {
EOF = 0,
COMMA = 1,
LPAREN = 2,
RPAREN = 3,
LBRACE = 4,
RBRACE = 5,
LBRACK = 6,
RBRACK = 7,
VBAR = 8,
EQ = 9,
GT = 10,
PLUS = 11,
TIMES = 12,
QUESTION = 13,
TILDE = 14,
COLON = 15,
DCOLONEQ = 16,
KW_ALIAS = 17,
KW_CLAIM = 18,
KW_CONFIG = 19,
KW_CONTEXT = 20,
KW_ENDMODULE = 21,
KW_IMPORTS = 22,
KW_LEFT = 23,
KW_LEXICAL = 24,
KW_MODULE = 25,
KW_NONASSOC = 26,
KW_PRIORITY = 27,
KW_PRIVATE = 28,
KW_PUBLIC = 29,
KW_REQUIRES = 30,
KW_RIGHT = 31,
KW_RULE = 32,
KW_SYNTAX = 33,
NAT = 34,
STRING = 35,
REGEX = 36,
ID_LOWER = 37,
ID_UPPER = 38,
MODNAME = 39,
KLABEL = 40,
RULE_LABEL = 41,
ATTR_KEY = 42,
ATTR_CONTENT = 43,
BUBBLE = 44
}
export declare class Loc {
line: number;
col: number;
constructor(line: number, col: number);
add(other: string): Loc;
}
export declare const INIT_LOC: Loc;
export declare class Token {
text: string;
type: TokenType;
loc: Loc;
constructor(text: string, type: TokenType, loc: Loc);
let(options: {
text?: string;
type?: TokenType;
loc?: Loc;
}): Token;
}
export declare class LocationIterator implements Iterator<string> {
private line;
private col;
private iter;
private nextline;
constructor(text: Iterable<string>, line?: number, col?: number);
next(): IteratorResult<string>;
get loc(): Loc;
[Symbol.iterator](): Iterator<string>;
}
export declare function outerLexer(text: Iterable<string>): Generator<Token>;