# File kwartz.rb, line 4230
        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