diff options
Diffstat (limited to 'tex/context/base/java-ini.lua')
-rw-r--r-- | tex/context/base/java-ini.lua | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/tex/context/base/java-ini.lua b/tex/context/base/java-ini.lua index b431a965c..1e98de717 100644 --- a/tex/context/base/java-ini.lua +++ b/tex/context/base/java-ini.lua @@ -8,10 +8,9 @@ if not modules then modules = { } end modules ['java-ini'] = { local format = string.format local concat = table.concat -local lpegmatch, P, S, C, Carg, Cc = lpeg.match, lpeg.P, lpeg.S, lpeg.C, lpeg.Carg, lpeg.Cc +local lpegmatch, lpegP, lpegR, lpegS, lpegC, lpegCarg = lpeg.match, lpeg.P, lpeg.R, lpeg.S, lpeg.C, lpeg.Carg local allocate = utilities.storage.allocate -local settings_to_array = utilities.parsers.settings_to_array local variables = interfaces.variables -- todo: don't flush scripts if no JS key @@ -39,24 +38,24 @@ local function storefunction(s,preamble) functions[s] = preamble end -local uses = P("uses") -local used = P("used") -local left = P("{") -local right = P("}") -local space = S(" \r\n") +local uses = lpegP("uses") +local used = lpegP("used") +local left = lpegP("{") +local right = lpegP("}") +local space = lpegS(" \r\n") local spaces = space^0 -local braced = left * C((1-right-space)^1) * right -local unbraced = C((1-space)^1) +local braced = left * lpegC((1-right-space)^1) * right +local unbraced = lpegC((1-space)^1) local name = spaces * (braced + unbraced) * spaces -local any = P(1) -local script = C(any^1) -local funct = P("function") -local leftp = P("(") -local rightp = P(")") -local fname = spaces * funct * spaces * (C((1-space-left-leftp)^1) * Carg(1) / storefunction) * spaces * leftp - -local parsecode = name * ((uses * name) + Cc("")) * spaces * script -local parsepreamble = name * ((used * name) + Cc("")) * spaces * script +local any = lpegP(1) +local script = lpegC(any^1) +local funct = lpegP("function") +local leftp = lpegP("(") +local rightp = lpegP(")") +local fname = spaces * funct * spaces * (lpegC((1-space-left-leftp)^1) * lpegCarg(1) / storefunction) * spaces * leftp + +local parsecode = name * ((uses * name) + lpeg.Cc("")) * spaces * script +local parsepreamble = name * ((used * name) + lpeg.Cc("")) * spaces * script local parsefunctions = (fname + any)^0 function javascripts.storecode(str) @@ -113,7 +112,7 @@ end function javascripts.usepreamblenow(name) -- now later if name and name ~= "" and name ~= variables.reset then -- todo: reset - local names = settings_to_array(name) + local names = utilities.parsers.settings_to_array(name) for i=1,#names do local somename = names[i] if not preambled[somename] then |