1 /* 2 3 This file is part of the Maude 2 interpreter. 4 5 Copyright 1997-2003 SRI International, Menlo Park, CA 94025, USA. 6 7 This program is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 2 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program; if not, write to the Free Software 19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. 20 21 */ 22 23 // 24 // Class for to hold state for solving an assignment condition fragment. 25 // 26 #ifndef _assignmentConditionState_hh_ 27 #define _assignmentConditionState_hh_ 28 #include "conditionState.hh" 29 #include "substitution.hh" 30 31 class AssignmentConditionState : public ConditionState 32 { 33 public: 34 AssignmentConditionState(RewritingContext& original, 35 LhsAutomaton* matcher, 36 DagNode* rhsInstance); 37 ~AssignmentConditionState(); 38 39 bool solve(bool findFirst, RewritingContext& solution); 40 41 private: 42 Substitution saved; 43 RewritingContext* rhsContext; 44 Subproblem* subproblem; 45 bool succeeded; 46 }; 47 48 #endif 49