def run
      AiGames::Logger.info 'Parser.run : Starting loop'

      loop do
        command = read_from_engine
        break if command.nil?

        command.strip!
        next if command.length == 0

        response = parse split_line command
        write_to_engine response unless response.nil? || response.length < 1
      end

      AiGames::Logger.info 'Parser.run : Stopping loop'
    end
def run
      AiGames::Logger.info 'Parser.run : Starting loop'

      loop do
        command = read_from_engine
        break if command.nil?

        command.strip!
        next if command.length == 0

        response = parse split_line command
        write_to_engine response unless response.nil? || response.length < 1
      end

      AiGames::Logger.info 'Parser.run : Stopping loop'
    end
Initializes the parser. Pass in options using a hash structure.
 Starts the main loop. This loop runs until the game engine closes the
 console line. During the loop, the parser reads from the game engine,
 sanitizes the input a little bit, and then passes it to a method that
 needs to be overwritten by parsers extending this interface.