Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x | /**
* This module exports the main lexer.
*
* @module lexer
*/
'use strict';
import { nearleyLexer } from '@ull-esit-pl-2324/lexer-generator-juan-rodriguez-suarez-alu0101477596';
const SPACE = /(?<SPACE>\s+)/; SPACE.skip = true;
const LK = /(?<LK>\{)/;
const RK = /(?<RK>\})/;
const COLON = /(?<COLON>:)/;
const LB = /(?<LB>\[)/;
const RB = /(?<RB>\])/;
const NULL = /(?<NULL>null)/; NULL.value = () => null;
const TRUE = /(?<TRUE>true)/; TRUE.value = () => true;
const FALSE = /(?<FALSE>false)/; FALSE.value = () => false;
const COMMA = /(?<COMMA>,)/;
const NUMBER = /(?<NUMBER>[-+]?\d+(?:\.\d+)?(?:[eE][-+]?\d+)?)/; NUMBER.value = x => Number(x);
const STRING = /(?<STRING>"(?:[^"\\]|\\.)*")/; STRING.value = x => x.slice(1, -1);
const TOKENS = [
SPACE,
LK,
RK,
COLON,
LB,
RB,
NULL,
TRUE,
FALSE,
COMMA,
NUMBER,
STRING
];
const ERROR = /(?<ERROR>(.)+)/;
const lexer = nearleyLexer(TOKENS, {}, ERROR);
export { lexer };
|