diff options
author | Marius <mariausol@gmail.com> | 2010-08-19 10:29:42 +0300 |
---|---|---|
committer | Marius <mariausol@gmail.com> | 2010-08-19 10:29:42 +0300 |
commit | 7d7e0d3c8d778650105cfb479f31a2bb54d69d50 (patch) | |
tree | e0c4e7d8bf466a70af56be02a0de703bbd09a5af /tex/context/base/strc-syn.lua | |
parent | b469b8ec1b494ab72cd462bfc539ce01440e6aaf (diff) | |
download | context-7d7e0d3c8d778650105cfb479f31a2bb54d69d50.tar.gz |
beta 2010.08.19 01:08
Diffstat (limited to 'tex/context/base/strc-syn.lua')
-rw-r--r-- | tex/context/base/strc-syn.lua | 58 |
1 files changed, 31 insertions, 27 deletions
diff --git a/tex/context/base/strc-syn.lua b/tex/context/base/strc-syn.lua index d6f38c2c7..fed5bf58c 100644 --- a/tex/context/base/strc-syn.lua +++ b/tex/context/base/strc-syn.lua @@ -13,14 +13,18 @@ local ctxcatcodes = tex.ctxcatcodes -- interface to tex end -joblists = joblists or { } -joblists.collected = joblists.collected or { } -joblists.tobesaved = joblists.tobesaved or { } +local structures = structures -local collected, tobesaved = joblists.collected, joblists.tobesaved +structures.synonyms = structures.synonyms or { } +local synonyms = structures.synonyms + +synonyms.collected = synonyms.collected or { } +synonyms.tobesaved = synonyms.tobesaved or { } + +local collected, tobesaved = synonyms.collected, synonyms.tobesaved local function initializer() - collected, tobesaved = joblists.collected, joblists.tobesaved + collected, tobesaved = synonyms.collected, synonyms.tobesaved end local function finalizer() @@ -29,7 +33,7 @@ local function finalizer() end end -job.register('joblists.collected', joblists.tobesaved, initializer, finalizer) +job.register('structures.synonyms.collected', synonyms.tobesaved, initializer, finalizer) local function allocate(class) local d = tobesaved[class] @@ -50,12 +54,12 @@ local function allocate(class) return d end -function joblists.define(class,kind) +function synonyms.define(class,kind) local data = allocate(class) data.metadata.kind = kind end -function joblists.register(class,kind,spec) +function synonyms.register(class,kind,spec) local data = allocate(class) data.metadata.kind = kind -- runtime, not saved in format (yet) if not data.hash[spec.definition.tag or ""] then @@ -64,7 +68,7 @@ function joblists.register(class,kind,spec) end end -function joblists.registerused(class,tag) +function synonyms.registerused(class,tag) local data = allocate(class) local dht = data.hash[tag] if dht then @@ -72,7 +76,7 @@ function joblists.registerused(class,tag) end end -function joblists.synonym(class,tag) +function synonyms.synonym(class,tag) local data = allocate(class).hash local d = data[tag] if d then @@ -82,7 +86,7 @@ function joblists.synonym(class,tag) end end -function joblists.meaning(class,tag) +function synonyms.meaning(class,tag) local data = allocate(class).hash local d = data[tag] if d then @@ -92,9 +96,9 @@ function joblists.meaning(class,tag) end end -joblists.compare = sorters.comparers.basic -- (a,b) +synonyms.compare = sorters.comparers.basic -- (a,b) -function joblists.filter(data,options) +function synonyms.filter(data,options) local result = { } local entries = data.entries local all = options and options.criterium == interfaces.variables.all @@ -107,7 +111,7 @@ function joblists.filter(data,options) data.result = result end -function joblists.prepare(data) +function synonyms.prepare(data) local strip = sorters.strip local splitter = sorters.splitters.utf local result = data.result @@ -124,11 +128,11 @@ function joblists.prepare(data) end end -function joblists.sort(data,options) - sorters.sort(data.result,joblists.compare) +function synonyms.sort(data,options) + sorters.sort(data.result,synonyms.compare) end -function joblists.finalize(data,options) +function synonyms.finalize(data,options) local result = data.result data.metadata.nofsorted = #result local split = { } @@ -145,7 +149,7 @@ function joblists.finalize(data,options) data.result = split end -function joblists.flush(data,options) -- maybe pass the settings differently +function synonyms.flush(data,options) -- maybe pass the settings differently local kind = data.metadata.kind -- hack, will be done better --~ texsprint(ctxcatcodes,format("\\start%soutput",kind)) local result = data.result @@ -167,23 +171,23 @@ function joblists.flush(data,options) -- maybe pass the settings differently data.metadata.sorted = false end -function joblists.analysed(class,options) - local data = joblists.collected[class] +function synonyms.analysed(class,options) + local data = synonyms.collected[class] if data and data.entries then options = options or { } sorters.setlanguage(options.language) - joblists.filter(data,options) -- filters entries to result - joblists.prepare(data,options) -- adds split table parallel to list table - joblists.sort(data,options) -- sorts entries in result - joblists.finalize(data,options) -- do things with data.entries + synonyms.filter(data,options) -- filters entries to result + synonyms.prepare(data,options) -- adds split table parallel to list table + synonyms.sort(data,options) -- sorts entries in result + synonyms.finalize(data,options) -- do things with data.entries data.metadata.sorted = true end return data and data.metadata.sorted and data.result and next(data.result) end -function joblists.process(class,options) - if joblists.analysed(class,options) then - joblists.flush(joblists.collected[class],options) +function synonyms.process(class,options) + if synonyms.analysed(class,options) then + synonyms.flush(synonyms.collected[class],options) end end |