1234567891011121314151617181920212223242526272829303132333435363738 |
- export enum TokenKind {
- AND = "AND",
- AS = "AS",
- BACKTICK = "BACKTICK",
- COMMA = "COMMA",
- DOT = "DOT",
- EOF = "EOF",
- EQUALS = "EQUALS",
- FROM = "FROM",
- IDENTIFIER = "IDENTIFIER",
- LPAREN = "LPAREN",
- MINUS = "MINUS",
- NUMBER = "NUMBER",
- OR = "OR",
- PLUS = "PLUS",
- RPAREN = "RPAREN",
- SELECT = "SELECT",
- SEMICOLON = "SEMICOLON",
- SLASH = "SLASH",
- STAR = "STAR",
- WHERE = "WHERE",
- }
-
- export default class Token {
- public kind: TokenKind;
- public value: string | null;
- public line: number;
-
- constructor(kind: TokenKind, value: string | null, line: number) {
- this.kind = kind;
- this.value = value;
- this.line = line;
- }
-
- public repr(): string {
- return `{ kind: ${this.kind}${this.value ? `, value: ${this.value} }` : " }"}`;
- }
- }
|