~tapaal-contributor/tapaal/disappearing-tokens-1940098

« back to all changes in this revision

Viewing changes to src/dk/aau/cs/TCTL/visitors/QueryVisitor.java

  • Committer: Kenneth Yrke Jørgensen
  • Date: 2011-04-12 09:50:16 UTC
  • mfrom: (329.1.188 tapaal-1.5)
  • Revision ID: mail@yrke.dk-20110412095016-e4hqdgab5596ja09
Merged with branch addning support for new 1.5 features

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
import dk.aau.cs.TCTL.TCTLOrListNode;
12
12
import dk.aau.cs.TCTL.TCTLPathPlaceHolder;
13
13
import dk.aau.cs.TCTL.TCTLStatePlaceHolder;
14
 
import dk.aau.cs.petrinet.TAPNQuery;
 
14
import dk.aau.cs.model.tapn.TAPNQuery;
15
15
 
16
16
public abstract class QueryVisitor implements ITCTLVisitor {
17
 
        protected enum QueryType { EF, EG, AF, AG }
 
17
        protected enum QueryType {
 
18
                EF, EG, AF, AG
 
19
        }
 
20
 
18
21
        private StringBuffer uppaalQuery;
19
22
 
20
23
        public QueryVisitor() {
21
24
        }
22
 
        
23
 
        protected void append(String string){
 
25
 
 
26
        protected void append(String string) {
24
27
                uppaalQuery.append(string);
25
28
        }
26
 
        
27
 
        protected void append(int number){
 
29
 
 
30
        protected void append(int number) {
28
31
                uppaalQuery.append(number);
29
32
        }
30
33
 
57
60
                egNode.getProperty().accept(this, context);
58
61
                addEnding(QueryType.EG);
59
62
        }
60
 
        
 
63
 
61
64
        public void visit(TCTLAndListNode andListNode, Object context) {
62
65
                uppaalQuery.append("(");
63
66
                boolean firstTime = true;
64
 
                
 
67
 
65
68
                for (TCTLAbstractStateProperty p : andListNode.getProperties()) {
66
 
                        if(!firstTime) {
 
69
                        if (!firstTime) {
67
70
                                uppaalQuery.append(" && ");
68
71
                        }
69
 
                        
 
72
 
70
73
                        p.accept(this, context);
71
74
                        firstTime = false;
72
75
                }
73
 
                
 
76
 
74
77
                uppaalQuery.append(")");
75
 
                
 
78
 
76
79
        }
77
80
 
78
 
        
79
81
        public void visit(TCTLOrListNode orListNode, Object context) {
80
82
                uppaalQuery.append("(");
81
83
                boolean firstTime = true;
82
 
                
 
84
 
83
85
                for (TCTLAbstractStateProperty p : orListNode.getProperties()) {
84
 
                        if(!firstTime) {
 
86
                        if (!firstTime) {
85
87
                                uppaalQuery.append(" || ");
86
88
                        }
87
 
                        
 
89
 
88
90
                        p.accept(this, context);
89
91
                        firstTime = false;
90
92
                }
91
 
                
 
93
 
92
94
                uppaalQuery.append(")");
93
 
                
 
95
 
94
96
        }
95
 
        
 
97
 
96
98
        public void visit(TCTLNotNode notNode, Object context) {
97
99
                uppaalQuery.append("!");
98
100
                uppaalQuery.append("(");
104
106
        }
105
107
 
106
108
        public void visit(TCTLPathPlaceHolder pathPlaceHolderNode, Object context) {
107
 
        
 
109
 
108
110
        }
109
111
 
110
112
        protected String OperatorConversion(String op) {
111
 
                if(op.equals("="))
 
113
                if (op.equals("="))
112
114
                        return "==";
113
 
        
 
115
 
114
116
                return op;
115
117
        }
116
118
 
117
 
        public abstract void visit(TCTLAtomicPropositionNode atomicPropositionNode, Object context);
 
119
        public abstract void visit(TCTLAtomicPropositionNode atomicPropositionNode,
 
120
                        Object context);
 
121
 
118
122
        protected abstract void addEnding(QueryType queryType);
119
123
}
 
 
b'\\ No newline at end of file'