Esempio n. 1
0
 public override Expr VisitIdentifierExpr(IdentifierExpr node)
 {
     if (consts.Keys.Contains(node.ToString()))
     {
         return(consts[node.ToString()]);
     }
     return(base.VisitIdentifierExpr(node));
 }
Esempio n. 2
0
        ////////////////////////////////////////////////////////////////////////////////////
        private Term makeExpression(IdentifierExpr ie, bool old)
        {
            if (ie.Decl is Microsoft.Boogie.Constant)
            {
                return(new Boogie.BoogieFunctionApplication(ie, new Logic.Boogie.BoogieFunction(new BoogieConstant(ie)), new ExpressionList()));
            }

            if (ie.Decl is Microsoft.Boogie.BoundVariable)
            {
                Debug.Assert(!old);
                return(new Programs.Terms.Boogie.BoogieBoundVariableTerm(ie, boundVariables[ie.Decl.Name]));
            }

            if (
                (ie.Decl is Microsoft.Boogie.GlobalVariable) ||
                (ie.Decl is Microsoft.Boogie.Formal) ||
                (ie.Decl is Microsoft.Boogie.LocalVariable))
            {
                return(new Slicer.Programs.Terms.Boogie.BoogueProgramVariable(ie, scope.findVariable((old ? "'" : "") + ie.Name)));
            }
            else
            {
                throw new Exception("Internal error converting Boogie expression - unknown expression type - " + ie.ToString());
            }
        }
Esempio n. 3
0
 public override Expr VisitIdentifierExpr(IdentifierExpr node)
 {
     Log.Out(Log.Normal, node.ToString());
     return(base.VisitIdentifierExpr(node));
 }