0.0.3 • Published 2 years ago
nv-lex-tok-lrquoted v0.0.3
nv-lex-tok-lrquoted
- nv-lex-tok-lrquoted
- to get quoted-string ,used in char-stream-parser(for stage-1 using)
- self define quote-pair
- a simple version of nv-lex-q AND nv-lex-quoted AND nv-lex-lrquoted
install
- npm install nv-lex-tok-lrquoted
usage
const {DFLT_QPAIRS,parse_from_src,parse} = require("nv-lex-tok-lrquoted")
example
from_str
const lex_lrquoted = require("nv-lex-tok-lrquoted");
var src = `
a"bcd" %%ef%% """gh"""i
\\"ABC
/*
jk
lm
*/ <!--rrrqsssttt-->
'''b\\v@\\u0000@\\u0001\\u0002@\\\\@\\x00@\\x00\\x01@\\0\\01\\123@\\A@\\A\\B\"'''
##`
var r =lex_lrq.parse_from_src(src)
/*
> r.toks
[
'\n',
'a',
Quoted { l: '"', r: '"', raw: [ 'b', 'c', 'd' ] },
' ',
Quoted { l: '%%', r: '%%', raw: [ 'e', 'f' ] },
' ',
Quoted { l: '"""', r: '"""', raw: [ 'g', 'h' ] },
'i',
'\n',
'\\',
'"',
'A',
'B',
'C',
'\n',
Quoted {
l: '/*',
r: '*/',
raw: [
'\n', 'j', 'k',
'\n', 'l', 'm',
'\n'
]
},
' ',
' ',
Quoted {
l: '<!--',
r: '-->',
raw: [
'r', 'r', 'r', 'q',
's', 's', 's', 't',
't', 't'
]
},
'\n',
Quoted {
l: "'''",
r: "'''",
raw: [
'b', [Esc], '@', [Esc], '0', '0',
'0', '0', '@', [Esc], '0', '0',
'0', '1', [Esc], '0', '0', '0',
'2', '@', [Esc], '@', [Esc], '0',
'0', '@', [Esc], '0', '0', [Esc],
'0', '1', '@', [Esc], [Esc], '1',
[Esc], '2', '3', '@', [Esc], '@',
[Esc], [Esc], '"'
]
},
'\n'
]
>
> r.toks[20].escape_stringify()
[
'b', '\x0B', '@', '\x00',
'@', '\x01', '\x02', '@',
'\\', '@', '\x00', '@',
'\x00', '\x01', '@', '\x00',
'\x01', 'S', '@', 'A',
'@', 'A', 'B', '"'
]
> (r.toks[20].l)
"'''"
> (r.toks[20].r)
"'''"
>
> r.toks[20].raw_stringify()
'b\\v@\\u0000@\\u0001\\u0002@\\\\@\\x00@\\x00\\x01@\\0\\01\\123@\\A@\\A\\B"'
>
*/
from toks
const lex_wchar = require("nv-lex-tok-wchar");
var r = lex_wchar.parse_from_src(src);
var toks = r.toks
var r = lex_lrq.parse(toks)
var toks = r.toks
METHODS
mach
r.mach.input
r.mach.lefted_
r.mach.reset
r.mach.QPAIRS
r.mach.cache
r.mach.state
APIS
{
qcfg: {
DFLT_QPAIRS: [
[Object], [Object], [Object],
[Object], [Object], [Object],
[Object], [Object], [Object],
[Object], [Object], [Object],
[Object], [Object], [Object],
[Object], [Object], [Object],
[Object], [Object], [Object],
[Object], [Object], [Object],
[Object], [Object], [Object]
],
is_left: [Function: is_left],
is_right: [Function: is_right],
get_left: [Function: get_left],
get_right: [Function: get_right],
is_lr_pair: [Function: is_lr_pair],
is_rl_pair: [Function: is_rl_pair],
is_pair: [Function: is_pair]
},
DFLT_QPAIRS: [
{ l: "'", r: "'" },
{ l: '"', r: '"' },
{ l: '`', r: '`' },
{ l: '·', r: '·' },
{ l: '“', r: '”' },
{ l: '‘', r: '’' },
{ l: '%%', r: '%%' },
{ l: '//', r: '\n' },
{ l: '//', r: '\r' },
{ l: '//', r: '�' },
{ l: '//', r: '�' },
{ l: '/*', r: '*/' },
{ l: '{-', r: '-}' },
{ l: '(*', r: '*)' },
{ l: '%(', r: '%)' },
{ l: '#|', r: '|#' },
{ l: '#=', r: '=#' },
{ l: "'''", r: "'''" },
{ l: '"""', r: '"""' },
{ l: '```', r: '```' },
{ l: '···', r: '···' },
{ l: '“““', r: '”””' },
{ l: '‘‘‘', r: '’’’' },
{ l: '###', r: '###' },
{ l: '<!--', r: '-->' },
{ l: '<%--', r: '--%>' },
{ l: '--[[', r: '--]]' }
],
_mach: {
STATES: { '0': 'init', '1': 'q', init: 0, q: 1 },
Quoted: [class Quoted],
Mach: [class Mach],
is_quoted: [Function: is_quoted],
gen: [GeneratorFunction: gen]
},
Mach: [class Mach],
parse: [Function: parse],
parse_from_src: [Function: parse_from_src]
}
LICENSE
- ISC