Package: ILanguageIterator

ILanguageIterator

Coverage

1: /*
2: * #%~
3: * VDM Code Generator
4: * %%
5: * Copyright (C) 2008 - 2014 Overture
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
9: * published by the Free Software Foundation, either version 3 of the
10: * License, or (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
18: * License along with this program. If not, see
19: * <http://www.gnu.org/licenses/gpl-3.0.html>.
20: * #~%
21: */
22: package org.overture.codegen.trans.iterator;
23:
24: import java.util.List;
25:
26: import org.overture.codegen.ir.SExpIR;
27: import org.overture.codegen.ir.SPatternIR;
28: import org.overture.codegen.ir.SStmIR;
29: import org.overture.codegen.ir.analysis.AnalysisException;
30: import org.overture.codegen.ir.declarations.AVarDeclIR;
31: import org.overture.codegen.ir.expressions.AIdentifierVarExpIR;
32: import org.overture.codegen.ir.statements.ALocalPatternAssignmentStmIR;
33:
34: public interface ILanguageIterator
35: {
36:         public List<SStmIR> getPreForLoopStms(AIdentifierVarExpIR setVar,
37:                         List<SPatternIR> patterns, SPatternIR pattern);
38:
39:         public AVarDeclIR getForLoopInit(AIdentifierVarExpIR setVar,
40:                         List<SPatternIR> patterns, SPatternIR pattern);
41:
42:         public SExpIR getForLoopCond(AIdentifierVarExpIR setVar,
43:                         List<SPatternIR> patterns, SPatternIR pattern)
44:                         throws AnalysisException;
45:
46:         public SExpIR getForLoopInc(AIdentifierVarExpIR setVar,
47:                         List<SPatternIR> patterns, SPatternIR pattern);
48:
49:         public AVarDeclIR getNextElementDeclared(AIdentifierVarExpIR setVar,
50:                         List<SPatternIR> patterns, SPatternIR pattern)
51:                         throws AnalysisException;
52:
53:         public ALocalPatternAssignmentStmIR getNextElementAssigned(
54:                         AIdentifierVarExpIR setVar, List<SPatternIR> patterns,
55:                         SPatternIR pattern, AVarDeclIR successVarDecl,
56:                         AVarDeclIR nextElementDecl) throws AnalysisException;
57:
58:         public SExpIR consNextElementCall(AIdentifierVarExpIR setVar)
59:                         throws AnalysisException;
60:
61: }