def make_node(lower, upper, lineno):
        """ Creates an array bound
        """
        if not is_static(lower, upper):
            syntax_error(lineno, 'Array bounds must be constants')
            return None

        if isinstance(lower, SymbolVAR):
            lower = lower.value
        if isinstance(upper, SymbolVAR):
            upper = upper.value

        lower.value = int(lower.value)
        upper.value = int(upper.value)

        if lower.value < 0:
            syntax_error(lineno, 'Array bounds must be greater than 0')
            return None

        if lower.value > upper.value:
            syntax_error(lineno, 'Lower array bound must be less or equal to upper one')
            return None

        return SymbolBOUND(lower.value, upper.value)
def make_node ( lower , upper , lineno ) : if not is_static ( lower , upper ) : syntax_error ( lineno , 'Array bounds must be constants' ) return None if isinstance ( lower , SymbolVAR ) : lower = lower . value if isinstance ( upper , SymbolVAR ) : upper = upper . value lower . value = int ( lower . value ) upper . value = int ( upper . value ) if lower . value < 0 : syntax_error ( lineno , 'Array bounds must be greater than 0' ) return None if lower . value > upper . value : syntax_error ( lineno , 'Lower array bound must be less or equal to upper one' ) return None return SymbolBOUND ( lower . value , upper . value )
Creates an array bound