コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }