// Actual Parameters

        // Always returns null. Uses the given FormalParameter.

        public Void VisitConstActualParameter(ConstActualParameter ast, FormalParameter arg)
        {
            var expressionType = ast.Expression.Visit(this);
            var param          = arg as ConstFormalParameter;

            if (param != null)
            {
                CheckAndReportError(expressionType.Equals(param.Type),
                                    "wrong type for const actual parameter", ast.Expression);
            }
            else
            {
                ReportError("const actual parameter not expected here", ast);
            }
            return(null);
        }
        // Actual Parameters

        public int VisitConstActualParameter(ConstActualParameter ast, Frame frame)
        {
            return(ast.Expression.Visit(this, frame));
        }