esther-medina-quintero-parser-nearley
Version:
29 lines (23 loc) • 661 B
JavaScript
const SPACE = /(?<SPACE>\s+|#.*|\/[*](?:.|\n)*?[*]\/)/; SPACE.skip = true;
const NUMBER = /(?<NUMBER>[-+]?\d+\.?\d*(?:[eE][-+]?\d+)?)/; NUMBER.value = x => Number(x);
const STRING = /(?<STRING>"(?:[^"\\]|\\.)*")/;
const WORD = /(?<WORD>[^\s(),"]+)/;
const LP = /(?<LP>\()/;
const RP = /(?<RP>\))/;
const COMMA = /(?<COMMA>,)/;
const ARRAY = /(?<ARRAY>\[)/;
/** Tokens object: definitions */
const tokens = [
SPACE,
NUMBER,
STRING,
WORD,
LP,
RP,
COMMA,
ARRAY,
];
const { nearleyLexer } = require("@ull-esit-pl-2324/lexer-generator-solution-esther-medina-quintero");
let lexer = nearleyLexer(tokens);
debugger;
module.exports = { lexer };