Package: IInterpreterAssistantFactory

IInterpreterAssistantFactory

Coverage

1: package org.overture.interpreter.assistant;
2:
3: import java.util.List;
4:
5: import org.overture.ast.analysis.QuestionAnswerAdaptor;
6: import org.overture.ast.analysis.intf.IAnswer;
7: import org.overture.ast.analysis.intf.IQuestionAnswer;
8: import org.overture.ast.expressions.PExp;
9: import org.overture.ast.lex.LexNameList;
10: import org.overture.ast.patterns.AIdentifierPattern;
11: import org.overture.ast.statements.PStm;
12: import org.overture.ast.types.PType;
13: import org.overture.interpreter.assistant.definition.ACpuClassDefinitionAssistantInterpreter;
14: import org.overture.interpreter.assistant.definition.AExplicitFunctionDefinitionAssistantInterpreter;
15: import org.overture.interpreter.assistant.definition.ANamedTraceDefinitionAssistantInterpreter;
16: import org.overture.interpreter.assistant.definition.AStateDefinitionAssistantInterpreter;
17: import org.overture.interpreter.assistant.definition.PDefinitionAssistantInterpreter;
18: import org.overture.interpreter.assistant.definition.PDefinitionListAssistantInterpreter;
19: import org.overture.interpreter.assistant.definition.SClassDefinitionAssistantInterpreter;
20: import org.overture.interpreter.assistant.expression.AFieldExpAssistantInterpreter;
21: import org.overture.interpreter.assistant.expression.APostOpExpAssistantInterpreter;
22: import org.overture.interpreter.assistant.expression.PExpAssistantInterpreter;
23: import org.overture.interpreter.assistant.module.AModuleModulesAssistantInterpreter;
24: import org.overture.interpreter.assistant.module.ModuleListAssistantInterpreter;
25: import org.overture.interpreter.assistant.pattern.AMapPatternMapletAssistantInterpreter;
26: import org.overture.interpreter.assistant.pattern.PBindAssistantInterpreter;
27: import org.overture.interpreter.assistant.pattern.PMultipleBindAssistantInterpreter;
28: import org.overture.interpreter.assistant.pattern.PPatternAssistantInterpreter;
29: import org.overture.interpreter.assistant.statement.PStmAssistantInterpreter;
30: import org.overture.interpreter.assistant.type.PTypeAssistantInterpreter;
31: import org.overture.interpreter.assistant.type.SInvariantTypeAssistantInterpreter;
32: import org.overture.interpreter.eval.BindState;
33: import org.overture.interpreter.runtime.Context;
34: import org.overture.interpreter.runtime.ObjectContext;
35: import org.overture.interpreter.traces.TraceNode;
36: import org.overture.interpreter.utilities.pattern.AllNamedValuesLocator;
37: import org.overture.interpreter.values.NameValuePairList;
38: import org.overture.interpreter.values.ValueList;
39: import org.overture.typechecker.assistant.ITypeCheckerAssistantFactory;
40:
41: public interface IInterpreterAssistantFactory extends
42:                 ITypeCheckerAssistantFactory
43: {
44:         // definition
45:
46:         // AApplyExpressionTraceCoreDefinitionAssistantInterpreter createAApplyExpressionTraceCoreDefinitionAssistant();
47:
48:         // AAssignmentDefinitionAssistantInterpreter createAAssignmentDefinitionAssistant();
49:
50:         // ABracketedExpressionTraceCoreDefinitionAssitantInterpreter
51:         // createABracketedExpressionTraceCoreDefinitionAssitant();
52:
53:         //ABusClassDefinitionAssistantInterpreter createABusClassDefinitionAssitant();
54:
55: //        AClassClassDefinitionAssistantInterpreter createAClassClassDefinitionAssistant();
56:
57:         // AConcurrentExpressionTraceCoreDefinitionAssistantInterpreter
58:         // createAConcurrentExpressionTraceCoreDefinitionAssistant();
59:
60:         ACpuClassDefinitionAssistantInterpreter createACpuClassDefinitionAssistant();
61:
62:         // AEqualsDefinitionAssistantInterpreter createAEqualsDefinitionAssistant();
63:
64:         // AErrorCaseAssistantInterpreter createAErrorCaseAssistant();
65:
66:         AExplicitFunctionDefinitionAssistantInterpreter createAExplicitFunctionDefinitionAssistant();
67:
68:         // AExplicitOperationDefinitionAssistantInterpreter createAExplicitOperationDefinitionAssistant();
69:
70:         //AImplicitFunctionDefinitionAssistantInterpreter createAImplicitFunctionDefinitionAssistant();
71:
72:         // AImplicitOperationDefinitionAssistantInterpreter createAImplicitOperationDefinitionAssistant();
73:
74:         // AImportedDefinitionAssistantInterpreter createAImportedDefinitionAssistant();
75:
76:         // AInheritedDefinitionAssistantInterpreter createAInheritedDefinitionAssistant();
77:
78:         // AInstanceVariableDefinitionAssistantInterpreter createAInstanceVariableDefinitionAssistant();
79:
80:         // ALetBeStBindingTraceDefinitionAssistantInterpreter createALetBeStBindingTraceDefinitionAssistant();
81:
82:         // ALetDefBindingTraceDefinitionAssistantInterpreter createALetDefBindingTraceDefinitionAssistant();
83:
84:         // ALocalDefinitionAssistantInterpreter createALocalDefinitionAssistant();
85:
86: //        AMutexSyncDefinitionAssistantInterpreter createAMutexSyncDefinitionAssistant();
87:
88:         ANamedTraceDefinitionAssistantInterpreter createANamedTraceDefinitionAssistant();
89:
90:         // APerSyncDefinitionAssistantInterpreter createAPerSyncDefinitionAssistant();
91:
92:         // ARenamedDefinitionAssistantInterpreter createARenamedDefinitionAssistant();
93:
94:         // ARepeatTraceDefinitionAssistantInterpreter createARepeatTraceDefinitionAssistant();
95:
96:         AStateDefinitionAssistantInterpreter createAStateDefinitionAssistant();
97:
98: //        ASystemClassDefinitionAssistantInterpreter createASystemClassDefinitionAssistant();
99:
100:         // AThreadDefinitionAssistantInterpreter createAThreadDefinitionAssistant();
101:
102:         // ATraceDefinitionTermAssistantInterpreter createATraceDefinitionTermAssistant();
103:
104:         // ATypeDefinitionAssistantInterpreter createATypeDefinitionAssistant();
105:
106:         // /AUntypedDefinitionAssistantInterpreter createAUntypedDefinitionAssistant();
107:
108:         // AValueDefinitionAssistantInterpreter createAValueDefinitionAssistant();
109:
110:         PDefinitionAssistantInterpreter createPDefinitionAssistant();
111:
112:         PDefinitionListAssistantInterpreter createPDefinitionListAssistant();
113:
114:         //PTraceCoreDefinitionAssistantInterpreter createPTraceCoreDefinitionAssistant();
115:
116:         SClassDefinitionAssistantInterpreter createSClassDefinitionAssistant();
117:
118:         // expression
119:
120:         // AApplyExpAssistantInterpreter createAApplyExpAssistant();
121:
122:         // ACaseAlternativeAssistantInterpreter createACaseAlternativeAssistant();
123:
124:         // ACasesExpAssistantInterpreter createACasesExpAssistant();
125:
126:         // ADefExpAssistantInterpreter createADefExpAssistant();
127:
128:         // AElseIfExpAssistantInterpreter createAElseIfExpAssistant();
129:
130:         // AExists1ExpAssistantInterpreter createAExists1ExpAssistant();
131:
132:         // AExistsExpAssistantInterpreter createAExistsExpAssistant();
133:
134:         AFieldExpAssistantInterpreter createAFieldExpAssistant();
135:
136:         // AFieldNumberExpAssistantInterpreter createAFieldNumberExpAssistant();
137:
138:         // AForAllExpAssistantInterpreter createAForAllExpAssistant();
139:
140:         // AFuncInstatiationExpAssistantInterpreter createAFuncInstatiationExpAssistant();
141:
142:         // AIfExpAssistantInterpreter createAIfExpAssistant();
143:
144:         // AIotaExpAssistantInterpreter createAIotaExpAssistant();
145:
146:         // AIsExpAssistantInterpreter createAIsExpAssistant();
147:
148: //        AIsOfBaseClassExpAssistantInterpreter createAIsOfBaseClassExpAssistant();
149:
150: //        AIsOfClassExpAssistantInterpreter createAIsOfClassExpAssistant();
151:
152:         // ALambdaExpAssistantInterpreter createALambdaExpAssistant();
153:
154:         // ALetBeStExpAssistantInterpreter createALetBeStExpAssistant();
155:
156:         // ALetDefExpAssistantInterpreter createALetDefExpAssistant();
157:
158:         // AMapCompMapExpAssistantInterpreter createAMapCompMapExpAssistant();
159:         //
160:         // AMapEnumMapExpAssistantInterpreter createAMapEnumMapExpAssistant();
161:         //
162:         // AMapletExpAssistantInterpreter createAMapletExpAssistant();
163:         //
164:         // AMkBasicExpAssistantInterpreter createAMkBasicExpAssistant();
165:         //
166:         // AMkTypeExpAssistantInterpreter createAMkTypeExpAssistant();
167:         //
168:         // AMuExpAssistantInterpreter createAMuExpAssistant();
169:
170:         // ANarrowExpAssistantInterpreter createANarrowExpAssistant();
171:         //
172:         // ANewExpAssistantInterpreter createANewExpAssistant();
173:
174:         APostOpExpAssistantInterpreter createAPostOpExpAssistant();
175:
176:         // ARecordModifierAssistantInterpreter createARecordModifierAssistant();
177:         //
178:         // ASameBaseClassExpAssistantInterpreter createASameBaseClassExpAssistant();
179:         //
180:         // ASameClassExpAssistantInterpreter createASameClassExpAssistant();
181:
182:         // ASeqCompSeqExpAssistantInterpreter createASeqCompSeqExpAssistant();
183:
184:         // ASeqEnumSeqExpAssistantInterpreter createASeqEnumSeqExpAssistant();
185:         //
186:         // ASetCompSetExpAssistantInterpreter createASetCompSetExpAssistant();
187:         //
188:         // ASetEnumSetExpAssistantInterpreter createASetEnumSetExpAssistant();
189:         //
190:         // ASetRangeSetExpAssistantInterpreter createASetRangeSetExpAssistant();
191:         //
192:         // ASubseqExpAssistantInterpreter createASubseqExpAssistant();
193:         //
194:         // ATupleExpAssistantInterpreter createATupleExpAssistant();
195:         //
196:         // AVariableExpAssistantInterpreter createAVariableExpAssistant();
197:
198:         PExpAssistantInterpreter createPExpAssistant();
199:
200:         // SBinaryExpAssistantInterpreter createSBinaryExpAssistant();
201:         //
202:         // SMapExpAssistantInterpreter createSMapExpAssistant();
203:         //
204:         // SSeqExpAssistantInterpreter createSSeqExpAssistant();
205:         //
206:         // SSetExpAssistantInterpreter createSSetExpAssistant();
207:         //
208:         // SUnaryExpAssistantInterpreter createSUnaryExpAssistant();
209:
210:         // module
211:
212:         AModuleModulesAssistantInterpreter createAModuleModulesAssistant();
213:
214:         ModuleListAssistantInterpreter createModuleListAssistant();
215:
216:         // pattern
217:
218:         // ABooleanPatternAssistantInterpreter createABooleanPatternAssistant();
219:         //
220:         // ACharacterPatternAssistantInterpreter createACharacterPatternAssistant();
221:         //
222:         // AConcatenationPatternAssistantInterpreter createAConcatenationPatternAssistant();
223:         //
224:         // AExpressionPatternAssistantInterpreter createAExpressionPatternAssistant();
225:         //
226:         // AIdentifierPatternAssistantInterpreter createAIdentifierPatternAssistant();
227:         //
228:         // AIgnorePatternAssistantInterpreter createAIgnorePatternAssistant();
229:         //
230:         // AIntegerPatternAssistantInterpreter createAIntegerPatternAssistant();
231:         //
232:         // AMapPatternAssistantInterpreter createAMapPatternAssistant();
233:         //
234:         AMapPatternMapletAssistantInterpreter createAMapPatternMapletAssistant(String fromModule);
235:
236:         //
237:         // AMapUnionPatternAssistantInterpreter createAMapUnionPatternAssistant();
238:
239:         // ANilPatternAssistantInterpreter createANilPatternAssistant();
240:
241:         // ARealPatternAssistantInterpreter createARealPatternAssistant();
242:
243:         // ARecordPatternAssistantInterpreter createARecordPatternAssistant();
244:
245:         // ASeqPatternAssistantInterpreter createASeqPatternAssistant();
246:
247:         // ASetBindAssistantInterpreter createASetBindAssistant();
248:
249:         // ASetMultipleBindAssistantInterpreter createASetMultipleBindAssistant();
250:
251:         // ASetPatternAssistantInterpreter createASetPatternAssistant();
252:
253:         // AStringPatternAssistantInterpreter createAStringPatternAssistant();
254:
255:         // ATuplePatternAssistantInterpreter createATuplePatternAssistant();
256:
257:         // ATypeBindAssistantInterpreter createATypeBindAssistant();
258:
259:         // ATypeMultipleBindAssistantInterpreter createATypeMultipleBindAssistant();
260:
261:         // AUnionPatternAssistantInterpreter createAUnionPatternAssistant();
262:
263:         PBindAssistantInterpreter createPBindAssistant();
264:
265:         PMultipleBindAssistantInterpreter createPMultipleBindAssistant();
266:
267:         PPatternAssistantInterpreter createPPatternAssistant(String fromModule);
268:
269:         //PPatternListAssistantInterpreter createPPatternListAssistant();
270:
271:         // statement
272:
273:         // AAlwaysStmAssistantInterpreter createAAlwaysStmAssistant();
274:         //
275:         // AAssignmentStmAssistantInterpreter createAAssignmentStmAssistant();
276:         //
277:         // AAtomicStmAssistantInterpreter createAAtomicStmAssistant();
278:         //
279:         // ACallObjectStatementAssistantInterpreter createACallObjectStatementAssistant();
280:         //
281:         // ACallStmAssistantInterpreter createACallStmAssistant();
282:
283: //        ACaseAlternativeStmAssistantInterpreter createACaseAlternativeStmAssistant();
284:
285:         // ACasesStmAssistantInterpreter createACasesStmAssistant();
286:         //
287:         // ACyclesStmAssistantInterpreter createACyclesStmAssistant();
288:         //
289:         // ADurationStmAssistantInterpreter createADurationStmAssistant();
290:         //
291:         // AElseIfStmAssistantInterpreter createAElseIfStmAssistant();
292:         //
293:         // AExitStmAssistantInterpreter createAExitStmAssistant();
294:         //
295:         // AForAllStmAssistantInterpreter createAForAllStmAssistant();
296:         //
297:         // AForIndexStmAssistantInterpreter createAForIndexStmAssistant();
298:         //
299:         // AForPatternBindStmAssitantInterpreter createAForPatternBindStmAssitant();
300:         //
301:         // AIfStmAssistantInterpreter createAIfStmAssistant();
302:         //
303:         // ALetBeStStmAssistantInterpreter createALetBeStStmAssistant();
304:         //
305:         // AReturnStmAssistantInterpreter createAReturnStmAssistant();
306:
307: //        AStartStmAssistantInterpreter createAStartStmAssistant();
308:
309:         // ATixeStmAssistantInterpreter createATixeStmAssistant();
310:
311:         //ATixeStmtAlternativeAssistantInterpreter createATixeStmtAlternativeAssistant();
312:
313:         // ATrapStmAssistantInterpreter createATrapStmAssistant();
314:
315:         // AWhileStmAssistantInterpreter createAWhileStmAssistant();
316:
317:         PStmAssistantInterpreter createPStmAssistant();
318:
319:         // SLetDefStmAssistantInterpreter createSLetDefStmAssistant();
320:
321:         // type
322:
323:         // ABooleanBasicTypeAssistantInterpreter createABooleanBasicTypeAssistant();
324:         //
325:         // AInMapMapTypeAssistantInterpreter createAInMapMapTypeAssistant();
326:         //
327:         // ANamedInvariantTypeAssistantInterpreter createANamedInvariantTypeAssistant();
328:         //
329:         // AOptionalTypeAssistantInterpreter createAOptionalTypeAssistant();
330:         //
331:         // AParameterTypeAssistantInterpreter createAParameterTypeAssistant();
332:         //
333:         // AProductTypeAssistantInterpreter createAProductTypeAssistant();
334:         //
335:         // AQuoteTypeAssistantInterpreter createAQuoteTypeAssistant();
336:         //
337:         // ARecordInvariantTypeAssistantInterpreter createARecordInvariantTypeAssistant();
338:         //
339:         // ASetTypeAssistantInterpreter createASetTypeAssistant();
340:         //
341:         // AUnionTypeAssistantInterpreter createAUnionTypeAssistant();
342:
343:         PTypeAssistantInterpreter createPTypeAssistant();
344:
345: //        PTypeListAssistant createPTypeListAssistant();
346:
347:         // SBasicTypeAssistantInterpreter createSBasicTypeAssistant();
348:
349:         SInvariantTypeAssistantInterpreter createSInvariantTypeAssistant();
350:
351:         // SMapTypeAssistantInterpreter createSMapTypeAssistant();
352:
353:         /* visitors */
354:         IAnswer<LexNameList> getOldNameCollector();
355:
356:         QuestionAnswerAdaptor<BindState, ValueList> getBindValuesCollector();
357:
358:         QuestionAnswerAdaptor<ObjectContext, ValueList> getValueCollector();
359:
360:         IAnswer<List<AIdentifierPattern>> getIdentifierPatternFinder();
361:
362:         IAnswer<Integer> getLengthFinder();
363:
364:         IAnswer<Boolean> getConstrainedPatternChecker();
365:
366:         QuestionAnswerAdaptor<AllNamedValuesLocator.Newquestion, List<NameValuePairList>> getAllNamedValuesLocator(String fromModule);
367:
368:         IQuestionAnswer<Context, NameValuePairList> getNamedValueLister();
369:
370:         IQuestionAnswer<Integer, PExp> getExpressionFinder();
371:
372:         IQuestionAnswer<ObjectContext, ValueList> getValuesDefinitionLocator();
373:
374:         IAnswer<Boolean> getTypeDefinitionChecker();
375:
376:         IAnswer<Boolean> getDefinitionRunTimeChecker();
377:
378:         IAnswer<Boolean> getDefintionValueChecker();
379:
380:         IAnswer<Boolean> getInstanceVariableChecker();
381:
382:         IQuestionAnswer<Integer, PStm> getDefinitionStatementFinder();
383:
384:         IQuestionAnswer<Context, TraceNode> getTraceExpander();
385:
386:         IQuestionAnswer<Integer, PExp> getStatementExpressionFinder();
387:
388:         IQuestionAnswer<Integer, PStm> getStatementFinder();
389:
390:         IQuestionAnswer<ObjectContext, ValueList> getExpressionValueCollector();
391:
392:         IQuestionAnswer<Integer, PExp> getExpExpressionFinder();
393:
394:         IAnswer<List<PExp>> getSubExpressionsLocator();
395:
396:         IQuestionAnswer<BindState, ValueList> getSingleBindValuesCollector();
397:
398:         IQuestionAnswer<ObjectContext, ValueList> getBindValueCollector();
399:
400:         IQuestionAnswer<Context, ValueList> getAllValuesCollector();
401:
402:         IQuestionAnswer<Context, PType> getAllConcreteTypeInstantiator();
403: }