def a6(self, value_obj, interpreter_flag=False):
        Interpreter.interpreter_flag = interpreter_flag

        sc = self.scanner
        old_pointer = sc.get_pointer()
        lexeme_pref = sc.next_lexeme()
        if lexeme_pref == lId.TMinus or lexeme_pref == lId.TPlus:
                #or lexeme_pref == lId.TMinusMinus or lexeme_pref == lId.TPlusPlus:

            if Interpreter.interpreter_flag:
                # Interpreter
                if lexeme_pref == lId.TMinus:
                    Interpreter.sub({'value': 0, 'type': lId.TShort}, value_obj)
                # Interpreter

            self.a7(value_obj, interpreter_flag=Interpreter.interpreter_flag)
        else:
            sc.set_pointer(old_pointer)
            self.a7(value_obj, interpreter_flag=Interpreter.interpreter_flag)
    def a4(self, value_obj, interpreter_flag=False):
        Interpreter.interpreter_flag = interpreter_flag

        self.a5(value_obj, interpreter_flag=Interpreter.interpreter_flag)
        sc = self.scanner
        old_pointer = sc.get_pointer()
        lexeme_plus_minus = sc.next_lexeme()
        while lexeme_plus_minus == lId.TPlus or lexeme_plus_minus == lId.TMinus:
            _value_obj = ValueObj()
            self.a5(_value_obj, interpreter_flag=Interpreter.interpreter_flag)

            if Interpreter.interpreter_flag:
                # interpreter
                if lexeme_plus_minus == lId.TPlus:
                    Interpreter.sum(value_obj, _value_obj)
                else:
                    Interpreter.sub(value_obj, _value_obj)
                # interpreter

            old_pointer = sc.get_pointer()
            lexeme_plus_minus = sc.next_lexeme()
        sc.set_pointer(old_pointer)