def self.do_action(action, input, plogic, lang, options)
output = nil
case action
when 'compile'
output = self.compile(input, plogic, lang, options)
when 'convert'
output = self.convert(input, options)
when 'translate'
output = self.translate(input + plogic, lang, options)
when 'parse'
output = self.parse_stmt(input + plogic, options)
when 'scan'
output = self.scan(input + plogic, options)
when 'delete_directives'
attr_name = options[:attr_name] || 'kd'
output = self.delete_directives(input, attr_name)
when 'fetch'
output = self.fetch(input)
when 'analyze'
output = self.analyze(input, plogic, options)
end
return output
end