feat: optimize symbol/number parse and reduce library size

syntax_id
6cdh 2023-08-02 13:34:17 +07:00
parent d181a97381
commit dbfe8096bc
4 changed files with 13010 additions and 13488 deletions

@ -1,10 +1,6 @@
const PREC = {
first: $ => prec(100, $),
last: $ => prec(-1, $),
number: $ => prec(2, $),
symbol: $ => prec(1, $),
left: prec.left,
right: prec.right,
};
const LEAF = {
@ -164,17 +160,16 @@ module.exports = grammar({
// string }}}
number: _ =>
PREC.number(
token(
choice(
extflonum(2),
extflonum(8),
extflonum(10),
extflonum(16),
number_base(2),
number_base(8),
number_base(10),
number_base(16)))),
token(
choice(
extflonum(2),
extflonum(8),
extflonum(10),
extflonum(16),
number_base(2),
number_base(8),
number_base(10),
number_base(16))),
decimal: _ => /[0-9]+/,
@ -191,13 +186,12 @@ module.exports = grammar({
/./))),
symbol: _ =>
PREC.symbol(
token(
choice(
/#[cC][iIsS]/, // read-case-sensitive parameter
seq(
LEAF.symbol_start,
repeat(LEAF.symbol_remain))))),
token(
choice(
/#[cC][iIsS]/, // read-case-sensitive parameter
seq(
LEAF.symbol_start,
repeat(LEAF.symbol_remain)))),
keyword: _ =>
token(

File diff suppressed because it is too large Load Diff

@ -530,11 +530,6 @@
]
}
},
{
"type": "number",
"named": true,
"fields": {}
},
{
"type": "program",
"named": true,
@ -1159,11 +1154,6 @@
]
}
},
{
"type": "symbol",
"named": true,
"fields": {}
},
{
"type": "syntax",
"named": true,
@ -1898,6 +1888,14 @@
"type": "lang_name",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "symbol",
"named": true
},
{
"type": "{",
"named": false

File diff suppressed because it is too large Load Diff