mirror of
https://github.com/CamHenlin/MessagesForMacintosh.git
synced 2024-11-26 05:49:24 +00:00
35 lines
636 B
Plaintext
35 lines
636 B
Plaintext
|
// @flow strict
|
||
|
/**
|
||
|
* An exported enum describing the different kinds of tokens that the
|
||
|
* lexer emits.
|
||
|
*/
|
||
|
export const TokenKind = Object.freeze({
|
||
|
SOF: '<SOF>',
|
||
|
EOF: '<EOF>',
|
||
|
BANG: '!',
|
||
|
DOLLAR: '$',
|
||
|
AMP: '&',
|
||
|
PAREN_L: '(',
|
||
|
PAREN_R: ')',
|
||
|
SPREAD: '...',
|
||
|
COLON: ':',
|
||
|
EQUALS: '=',
|
||
|
AT: '@',
|
||
|
BRACKET_L: '[',
|
||
|
BRACKET_R: ']',
|
||
|
BRACE_L: '{',
|
||
|
PIPE: '|',
|
||
|
BRACE_R: '}',
|
||
|
NAME: 'Name',
|
||
|
INT: 'Int',
|
||
|
FLOAT: 'Float',
|
||
|
STRING: 'String',
|
||
|
BLOCK_STRING: 'BlockString',
|
||
|
COMMENT: 'Comment',
|
||
|
});
|
||
|
|
||
|
/**
|
||
|
* The enum type representing the token kinds values.
|
||
|
*/
|
||
|
export type TokenKindEnum = $Values<typeof TokenKind>;
|