~verifypn-stub/verifypn/ctl-flow

« back to all changes in this revision

Viewing changes to PetriEngine/PQL/PQL.h

  • Committer: Jiri Srba
  • Date: 2017-04-24 09:52:49 UTC
  • mfrom: (152.26.11 memory_bug_fix)
  • Revision ID: srba@cs.aau.dk-20170424095249-mlgameckxph6g1gr
merged in branch lp:~verifypn-stub/verifypn/memory_bug_fix

Show diffs side-by-side

added added

removed removed

Lines of Context:
117
117
            /** Expression type */
118
118
            virtual Types type() const = 0;
119
119
            /** Construct left/right side of equations used in query simplification */
120
 
            virtual Simplification::Member constraint(SimplificationContext context) const = 0;
 
120
            virtual Simplification::Member constraint(SimplificationContext& context) const = 0;
121
121
            /** Output the expression as it currently is to a file in XML */
122
122
            virtual std::string toXML(uint32_t tabs, bool tokencount = false) const = 0;
123
123
            /** Stubborn reduction: increasing and decreasing sets */
159
159
            /** Get distance to query */
160
160
            virtual uint32_t distance(DistanceContext& context) const = 0;
161
161
            /** Query Simplification */
162
 
            virtual Simplification::Retval simplify(SimplificationContext context) const = 0;
 
162
            virtual Simplification::Retval simplify(SimplificationContext& context) const = 0;
163
163
            /** Check if query is a reachability query */
164
164
            virtual bool isReachability(uint32_t depth = 0) const = 0;
165
165
            /** Check if query is an upper bound query */
170
170
            virtual std::string toXML(uint32_t tabs) const = 0;
171
171
            /** Find interesting transitions in stubborn reduction*/
172
172
            virtual void findInteresting(ReducingSuccessorGenerator& generator, bool negated) const = 0;
 
173
            /** Checks if the condition is trivially true */
 
174
            bool isTriviallyTrue();
 
175
            /*** Checks if the condition is trivially false */
 
176
            bool isTriviallyFalse();
173
177
 
174
178
            bool isSatisfied() const
175
179
            {
214
218
            std::vector<std::string>& placeNameForBound(){
215
219
                return _placenameforbound;
216
220
            }
 
221
            
 
222
        protected:
 
223
            //Value for checking if condition is trivially true or false.
 
224
            //0 is undecided (default), 1 is true, 2 is false.
 
225
            uint32_t trivial = 0;
217
226
        };
218
227
        typedef std::shared_ptr<Condition> Condition_ptr;
219
228
        typedef std::shared_ptr<Expr> Expr_ptr;