public void process(ReadStatment readStatment) { try { VaribleStatment varibleStatment = (VaribleStatment)readStatment.getTokensList()[0]; _isArray = false; _identifier = (Token)varibleStatment.getTokensList()[0]; SemanticAnalizer.initVarible(_identifier.value); } catch//для массива { _isArray = true; List <Token> tokens = AssignmentProcessor.getMathExpression((MathStatment)readStatment.getTokensList()[0]); _identifier = tokens[0]; if (tokens.Count == 1) { if (tokens[0].kind == Constants.CONST_INT) { SemanticAnalizer.readAndWriteToConts(); } _isArray = false; } else if (tokens.Count == 4 && (tokens[1].kind == Constants.BRACKET_L) && (tokens[3].kind == Constants.BRACKET_R)) { _isArray = true; _elementIndex = tokens[2]; } else { SemanticAnalizer.InvalidIdentifier(); } } generate(); }