esther-medina-quintero-parser-nearley
Version:
22 lines (20 loc) • 488 B
JavaScript
const SPACE = /(?<SPACE>\s+|#.*|\/[*](?:.|\n)*?[*]\/)/;
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
];
module.exports = tokens;