# File kwartz.rb, line 155 def compile(input, plogic=nil, lang=@lang) converter = Kwartz::DefaultConverter.new(input, @options) kpl_code = converter.convert kpl_code << plogic if plogic scanner = Kwartz::Scanner.new(kpl_code, @options) parser = Kwartz::Parser.new(scanner, @options) translator = Kwartz::Translator.instance(lang, @options) unless translator then raise InvalidLanguageError.new(lang) end nodelist = parser.parse output = translator.translate_all(nodelist) return output end