1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
return function(utf8)
utf8.config.compiletime_charclasses = utf8.config.compiletime_charclasses or {
utf8:require "charclass.compiletime.vanilla",
utf8:require "charclass.compiletime.range",
utf8:require "charclass.compiletime.stub",
}
function utf8.regex.compiletime.charclass.parse(regex, c, bs, ctx)
utf8.debug("parse charclass():", regex, c, bs, regex[bs])
for _, p in ipairs(utf8.config.compiletime_charclasses) do
local charclass, nbs = p(regex, c, bs, ctx)
if charclass then
ctx.prev_class = charclass:build()
utf8.debug("cc", ctx.prev_class, _, c, bs, nbs)
return charclass, nbs
end
end
end
end
|