From 54430e64cbb9577ee69de40bc92040428c73e097 Mon Sep 17 00:00:00 2001 From: sanine Date: Fri, 24 Oct 2025 12:08:39 -0500 Subject: remove spurious files --- grammar.lua | 91 ------------------------------------------------------------- 1 file changed, 91 deletions(-) delete mode 100644 grammar.lua (limited to 'grammar.lua') diff --git a/grammar.lua b/grammar.lua deleted file mode 100644 index bdc7347..0000000 --- a/grammar.lua +++ /dev/null @@ -1,91 +0,0 @@ -local module = {} -setmetatable(module, {__index=_G}) -setfenv(1, module) - - -local Grammar = {} - -function module.createGrammar(nonterminals, triggers) - local self = { - nonterminals = nonterminals, - triggers = triggers, - context = {}, - } - setmetatable(self, {__index=Grammar}) - return self -end - - -function Grammar.pushContext(self) - local newContext = {} - setmetatable(newContext, {__index=self.context}) - self.context = newContext -end -function Grammar.popContext(self) - local mt = getmetatable(self.context) - local oldContext = (mt and mt.__index) or {} - self.context = oldContext -end - - -function Grammar.expandSymbol(self, sequence, index, expansion) - table.remove(sequence, index) - for i=1,#expansion do - table.insert(sequence, index+i-1, expansion[i]) - end -end - - -function Grammar.expandSequence(self, sequence, n, debug) - local i = 1 - while i <= #sequence do - if debug then print(sequence[i]) end - local choices = self.nonterminals[sequence[i]] or self.context[sequence[i]] - if choices then - local trigger = self.triggers[sequence[i]] - if trigger then trigger(self) end - if #choices == 1 then - self:expandSymbol(sequence, i, choices[1]) - return true, 0 - else - local choice = choices[1 + (n % #choices)] - self:expandSymbol(sequence, i, choice) - return true, 1 - end - else - i = i+1 - end - end - return false, 0 -end - - -function Grammar.expand(self, genome, geneIndex, maxLoops, debug) - geneIndex = geneIndex or 0 - maxLoops = maxLoops or 2 - local sequence = { '' } - local count = 0 - local continue = true - while continue do - local gene - if (count > maxLoops * #genome) then - gene = 0 - else - gene = genome[1 + (geneIndex % #genome)] - end - local increment - if debug then print(geneIndex, gene) end - continue, increment = self:expandSequence(sequence, gene, debug) - if not continue then break end - geneIndex = geneIndex+increment - count = count + 1 - end - local result = '' - for _, s in ipairs(sequence) do - result = result .. s - end - return result, geneIndex -end - - -return module -- cgit v1.2.1