public static List <Token> getMathExpression(MathStatment mathStatment) { List <Token> tokens = new List <Token>(); MathExpression mathExpression = (MathExpression)mathStatment.getTokensList()[0]; foreach (object item in mathExpression.getTokensList()) { tokens.AddRange(getFactor(item)); } if (!Program.isArrayElementLeft) { SemanticAnalizer.checkCompareTypes(Program.varibleName, Constants.INT); } return(tokens); }
List <Token> getArrayInitializtionList(ArrayAssignment arrayAssignmnent) { List <Token> tokens = new List <Token>(); foreach (Token token in arrayAssignmnent.getTokensList()) { tokens.Add(token); } SemanticAnalizer.checkVarible(_leftOp.value); SemanticAnalizer.checkInitEmptyArray(_leftOp.value, tokens.Count); SemanticAnalizer.checkIsLengthArrayEqual(_leftOp.value, tokens.Count); if (_isArrayElementLeft) { SemanticAnalizer.incompatibleTypes(); } else { SemanticAnalizer.checkCompareTypes(_leftOp.value, Constants.INTARRAY); } return(tokens); }