Interpreter implement in Prolog