spreadsheet
typeScript/javascript spreadsheet parser, with formulas.
git clone https://git.vogt.world/spreadsheet.git
Log | Files | README.md
← All files
name: dist/Parser/Rules.js
-rw-r--r--
3245
 1"use strict";
 2exports.__esModule = true;
 3// Rules represent the Regular Expressions that will be used in sequence to match a given input to the Parser.
 4var WHITE_SPACE_RULE = /^(?:\s+)/;
 5var DOUBLE_QUOTES_RULE = /^(?:"(\\["]|[^"])*")/;
 6var SINGLE_QUOTES_RULE = /^(?:'(\\[']|[^'])*')/;
 7var FORMULA_NAME_RULE = /^(?:[A-Za-z.]{1,}[A-Za-z_0-9]+(?=[(]))/;
 8var $_A1_CELL_RULE = /^(?:\$[A-Za-z]+\$[0-9]+)/;
 9var A1_CELL_RULE = /^(?:[A-Za-z]+[0-9]+)/;
10var FORMULA_NAME_SIMPLE_RULE = /^(?:[A-Za-z.]+(?=[(]))/;
11var VARIABLE_RULE = /^(?:[A-Za-z]{1,}[A-Za-z_0-9]+)/;
12var SIMPLE_VARIABLE_RILE = /^(?:[A-Za-z_]+)/;
13var INTEGER_RULE = /^(?:[0-9]+(?:(?:[eE])(?:[\+-])?[0-9]+)?)/;
14var OPEN_AND_CLOSE_OF_ARRAY_RULE = /^(?:\[([^\]]*)?\])/;
15var DOLLAR_SIGN_RULE = /^(?:\$)/;
16var AMPERSAND_SIGN_RULE = /^(?:&)/;
17var SINGLE_WHITESPACE_RULE = /^(?: )/;
18var PERIOD_RULE = /^(?:[.])/;
19var COLON_RULE = /^(?::)/;
20var SEMI_COLON_RULE = /^(?:;)/;
21var COMMA_RULE = /^(?:,)/;
22var ASTERISK_RULE = /^(?:\*)/;
23var FORWARD_SLASH_RULE = /^(?:\/)/;
24var MINUS_SIGN_RULE = /^(?:-)/;
25var PLUS_SIGN_RULE = /^(?:\+)/;
26var CARET_SIGN_RULE = /^(?:\^)/;
27var OPEN_PAREN_RULE = /^(?:\()/;
28var CLOSE_PAREN_RULE = /^(?:\))/;
29var GREATER_THAN_SIGN_RULE = /^(?:>)/;
30var LESS_THAN_SIGN_RULE = /^(?:<)/;
31var OPEN_DOUBLE_QUOTE = /^(?:")/;
32var OPEN_SINGLE_QUITE = /^(?:')/;
33var EXCLAMATION_POINT_RULE = /^(?:!)/;
34var EQUALS_SIGN_RULE = /^(?:=)/;
35var PERCENT_SIGN_RULE = /^(?:%)/;
36var FULL_ERROR_RULE = /^(?:#N\/A|#NUM\!|#NULL\!|#DIV\/0\!|#VALUE\!|#REF\!|#ERROR)/;
37var END_OF_STRING_RULE = /^(?:$)/;
38// Sequential rules to use when parsing a given input.
39var RULES = [];
40exports.RULES = RULES;
41RULES[0 /* WhiteSpace */] = WHITE_SPACE_RULE;
42RULES[1 /* DoubleQuotes */] = DOUBLE_QUOTES_RULE;
43RULES[2 /* SingleQuotes */] = SINGLE_QUOTES_RULE;
44RULES[3 /* FormulaName */] = FORMULA_NAME_RULE;
45RULES[6 /* $A1Cell */] = $_A1_CELL_RULE;
46RULES[7 /* A1Cell */] = A1_CELL_RULE;
47RULES[8 /* FormulaNameSimple */] = FORMULA_NAME_SIMPLE_RULE;
48RULES[9 /* Variable */] = VARIABLE_RULE;
49RULES[10 /* SimpleVariable */] = SIMPLE_VARIABLE_RILE;
50RULES[11 /* Integer */] = INTEGER_RULE;
51RULES[12 /* SelfContainedArray */] = OPEN_AND_CLOSE_OF_ARRAY_RULE;
52RULES[13 /* DollarSign */] = DOLLAR_SIGN_RULE;
53RULES[14 /* Ampersand */] = AMPERSAND_SIGN_RULE;
54RULES[15 /* SingleWhitespace */] = SINGLE_WHITESPACE_RULE;
55RULES[16 /* Period */] = PERIOD_RULE;
56RULES[17 /* Colon */] = COLON_RULE;
57RULES[18 /* Semicolon */] = SEMI_COLON_RULE;
58RULES[19 /* Comma */] = COMMA_RULE;
59RULES[20 /* Asterisk */] = ASTERISK_RULE;
60RULES[21 /* ForwardSlash */] = FORWARD_SLASH_RULE;
61RULES[22 /* Minus */] = MINUS_SIGN_RULE;
62RULES[23 /* Plus */] = PLUS_SIGN_RULE;
63RULES[24 /* Caret */] = CARET_SIGN_RULE;
64RULES[25 /* OpenParen */] = OPEN_PAREN_RULE;
65RULES[26 /* CloseParen */] = CLOSE_PAREN_RULE;
66RULES[27 /* GreaterThan */] = GREATER_THAN_SIGN_RULE;
67RULES[28 /* LessThanSign */] = LESS_THAN_SIGN_RULE;
68RULES[30 /* OpenDoubleQuote */] = OPEN_DOUBLE_QUOTE;
69RULES[31 /* OpenSingleQuote */] = OPEN_SINGLE_QUITE;
70RULES[32 /* ExclamationPoint */] = EXCLAMATION_POINT_RULE;
71RULES[33 /* Equals */] = EQUALS_SIGN_RULE;
72RULES[34 /* Percent */] = PERCENT_SIGN_RULE;
73RULES[35 /* FullError */] = FULL_ERROR_RULE;
74RULES[36 /* EndOfString */] = END_OF_STRING_RULE;