Compare commits
23 Commits
unif23NoOp
...
sat
Author | SHA1 | Date | |
---|---|---|---|
|
4bee1044c2 | ||
|
0d3514cbd8 | ||
|
0776f128ed | ||
|
dad9e58763 | ||
|
d0e7ea86ed | ||
|
e9c87f6bf6 | ||
|
0ae743f446 | ||
|
ef9f9157f3 | ||
|
3d57a3929c | ||
|
a71c1f3893 | ||
|
1f8421db27 | ||
|
3dfbddf693 | ||
|
79fb15f269 | ||
|
ba63da2860 | ||
|
fe72936737 | ||
|
a2c30f83a8 | ||
|
fc9b1a6bb1 | ||
|
bf4e65caf5 | ||
|
b6d67a1c51 | ||
|
a06f4b3349 | ||
|
10be0b17e9 | ||
|
277dac20e7 | ||
|
e7e96d5943 |
9
.gitignore
vendored
@@ -20,12 +20,3 @@ bin
|
|||||||
.project
|
.project
|
||||||
.settings/
|
.settings/
|
||||||
/target/
|
/target/
|
||||||
|
|
||||||
#
|
|
||||||
manually/
|
|
||||||
|
|
||||||
logFiles/**
|
|
||||||
!logFiles/.gitkeep
|
|
||||||
|
|
||||||
src/main/java/de/dhbwstuttgart/parser/antlr/
|
|
||||||
src/main/java/de/dhbwstuttgart/sat/asp/parser/antlr/
|
|
||||||
|
3
Makefile
@@ -1,3 +0,0 @@
|
|||||||
NoOptParallel:
|
|
||||||
mvn -DskipTests package
|
|
||||||
cp target/JavaTXcompiler-0.1-jar-with-dependencies.jar target/JavaTXcompiler-0.1-jar-with-dependencies_NoOptParallel.jar
|
|
@@ -1,11 +0,0 @@
|
|||||||
Stand: 24.5.21
|
|
||||||
bigRefactoring: Master-Brach
|
|
||||||
targetBytecode: Neuer Codegenerator mit generated generics Daniel
|
|
||||||
bigRefactoringUnifyComment: Dokumentation Unify, Martin
|
|
||||||
bytecodeGenericsSecond: Generated Generics, Ali, Martin
|
|
||||||
inferWildcards, Wildcards, Till
|
|
||||||
master, derzeit nicht genutzt
|
|
||||||
plugin, eigemntlicher Branch fuer Plugin-Basis, derzeit nicht aktuelle (aktuelle Version in simplifyRes
|
|
||||||
simplifyRes, Basis fuer Plugin, sollte auf Plugin gemerged werden, noch keine Packages, Michael
|
|
||||||
strucTypesNew, Struturelle Typen, alte Basis, arbeite derzeit niemand
|
|
||||||
|
|
19
asp/adaptRules.lp
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
%makeAdapt(smallerDot(CFC, DFC)) :- smallerDot(C, D), type(C, CN, CNP), type(D, DN, DNP), CNP != DNP
|
||||||
|
%, smaller(CFC, DFC), type(CFC, CN, CNP), type(DFC, DN, DNP), mapRootFC(smaller(CFC, DFC), _, _)
|
||||||
|
%.
|
||||||
|
|
||||||
|
|
||||||
|
type(pointer(smallerDot(C,D)), DN, DNP)
|
||||||
|
:- smallerDot(C, D), type(C, CN, CNP), type(D, DN, DNP), CNP != DNP
|
||||||
|
.
|
||||||
|
smallerDot(pointer(smallerDot(C,D)), D)
|
||||||
|
:- smallerDot(C, D), type(C, CN, CNP), type(D, DN, DNP), CNP != DNP
|
||||||
|
.
|
||||||
|
|
||||||
|
param(pointer(smallerDot(C,D)), P, P2)
|
||||||
|
:- smallerDot(C, D), type(C, CN, CNP), type(D, DN, DNP), CNP != DNP
|
||||||
|
, smaller(CFC, DFC), type(CFC, CN, CNP), type(DFC, DN, DNP)
|
||||||
|
, pi(CFC, DFC, P1, P2), param(C, P, P1)
|
||||||
|
.
|
||||||
|
|
||||||
|
|
22
asp/cartesian.lp
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
%Mit Hilfe von Quelle: https://www.cs.uni-potsdam.de/~torsten/Papers/asp4ki.pdf
|
||||||
|
|
||||||
|
%Dieser Code generiert das Karthesische Produkt der Constraints des Inputs.
|
||||||
|
%und Constraints sind einfach weiterhin equals uns smallerDot
|
||||||
|
%oder constraints:
|
||||||
|
% oder(pointer, pointer)
|
||||||
|
%constraints innerhalb des oders müssen eingepackt sein:
|
||||||
|
% constraint(pointer, eigentlicher Constraint)
|
||||||
|
% um mehrere constraints als Und-Constraint innerhalb eines Oders zu verbinden kann die list(..) verwendet werden
|
||||||
|
|
||||||
|
%Die eigentliche Oder-Verknüpfung:
|
||||||
|
cons(Cons1), cons(Cons2) :- oder(C1, C2), constraint(C1, Cons1), constraint(C2, Cons2).
|
||||||
|
|
||||||
|
%Auspacken der constraints:
|
||||||
|
equals(X,Y) :- cons(equals(X,Y)).
|
||||||
|
smallerDot(X,Y) :- cons(smallerDot(X,Y)).
|
||||||
|
oder(X,Y) :- cons(oder(X,Y)).
|
||||||
|
list(X,Y) :- cons(list(X,Y)).
|
||||||
|
equals(X,Y) :- list(equals(X,Y), _).
|
||||||
|
smallerDot(X,Y) :- list(smallerDot(X,Y), _).
|
||||||
|
list(A,B) :- list(_, list(A,B)).
|
70
asp/facultyTestInput.lp
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
typeVar(cRO).
|
||||||
|
smaller(cAVP,cAVQ).
|
||||||
|
type(cAVY,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
type(cAVI,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
type(cAVD,cjava_DOT_lang_DOT_Comparable,1).
|
||||||
|
type(cAVH,cjava_DOT_lang_DOT_Comparable,1).
|
||||||
|
type(cAVJ,cjava_DOT_lang_DOT_Number,0).
|
||||||
|
typeVar(cT).
|
||||||
|
equals(cQ,cRO).
|
||||||
|
smaller(cAVR,cAVS).
|
||||||
|
param(cAVZ,cYO,1).
|
||||||
|
param(cAVZ,cYP,2).
|
||||||
|
type(cAWD,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
typeVar(cO).
|
||||||
|
smaller(cAVN,cAVO).
|
||||||
|
type(cAWA,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
type(cAVF,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
typeVar(cYA).
|
||||||
|
type(cAVU,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
equals(cN,cAVV).
|
||||||
|
smaller(cAVB,cAVC).
|
||||||
|
type(cAVO,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
type(cAVB,cjava_DOT_io_DOT_Serializable,0).
|
||||||
|
smallerDot(cT,cM).
|
||||||
|
typeVar(cL).
|
||||||
|
smallerDot(cM,cL).
|
||||||
|
typeVar(cP).
|
||||||
|
type(cAVQ,cjava_DOT_lang_DOT_Number,0).
|
||||||
|
type(cAVR,cFaculty,0).
|
||||||
|
smallerDot(cAWD,cAWE).
|
||||||
|
typeVar(cYB).
|
||||||
|
type(cAVE,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
type(cAVN,cjava_DOT_lang_DOT_Number,0).
|
||||||
|
equals(cT,cAVT).
|
||||||
|
type(cAVV,cFaculty,0).
|
||||||
|
type(cAVC,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
type(cAVM,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
smaller(cAVG,cAVH).
|
||||||
|
type(cAVL,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
type(cAWE,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
type(cAVG,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
param(cAVT,cAVU,2).
|
||||||
|
typeVar(cYO).
|
||||||
|
type(cAWB,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
type(cAVW,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
typeVar(cM).
|
||||||
|
param(cAVH,cAVI,1).
|
||||||
|
typeVar(cQ).
|
||||||
|
type(cAVX,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
equals(cYA,cO).
|
||||||
|
equals(cAWA,cP).
|
||||||
|
smallerDot(cM,cAVZ).
|
||||||
|
type(cAVK,cjava_DOT_io_DOT_Serializable,0).
|
||||||
|
smallerDot(cP,cQ).
|
||||||
|
smallerDot(cO,cAWB).
|
||||||
|
param(cAVD,cAVE,1).
|
||||||
|
smallerDot(cAVY,cYB).
|
||||||
|
smallerDot(cAVW,cAVX).
|
||||||
|
smaller(cAVD,cAVF).
|
||||||
|
smaller(cAVL,cAVM).
|
||||||
|
type(cAVP,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
typeVar(cYP).
|
||||||
|
typeVar(cN).
|
||||||
|
type(cAVT,cFun2,2).
|
||||||
|
param(cAVT,cRO,1).
|
||||||
|
type(cAVS,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
type(cAWC,cFaculty,0).
|
||||||
|
smallerDot(cN,cAWC).
|
||||||
|
type(cAVZ,cFun2,2).
|
||||||
|
smaller(cAVJ,cAVK).
|
125
asp/fc.lp.backup
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%Anzahl Wildcards in einem Typ feststellen:
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%Start, am Ende der Parameterliste:
|
||||||
|
wildcard(A) :- extendsWildcard(A).
|
||||||
|
wildcard(A) :- superWildcard(A).
|
||||||
|
numWildcards(TP, Ende-1, Num) :- param(TP, Param, Ende),
|
||||||
|
numWildcards(Param, Num), type(TP,_,Ende)
|
||||||
|
, not wildcard(Param)
|
||||||
|
.
|
||||||
|
numWildcards(TP, Ende-1, Num + 1) :- param(TP, Param, Ende),
|
||||||
|
numWildcards(Param, Num), type(TP,_,Ende)
|
||||||
|
, wildcard(Param)
|
||||||
|
.
|
||||||
|
%Anschließend aufsummieren:
|
||||||
|
numWildcards(TP, ParamNum-1, NumWC1 + NumWC2 + 1) :- param(TP, Param, ParamNum),
|
||||||
|
numWildcards(Param, NumWC1), numWildcards(TP,ParamNum, NumWC2)
|
||||||
|
, wildcard(Param)
|
||||||
|
.
|
||||||
|
numWildcards(TP, ParamNum-1, NumWC1 + NumWC2) :- param(TP, Param, ParamNum),
|
||||||
|
numWildcards(Param, NumWC1), numWildcards(TP,ParamNum, NumWC2)
|
||||||
|
, not wildcard(Param)
|
||||||
|
.
|
||||||
|
|
||||||
|
numWildcards(TP, Num) :- numWildcards(TP, 0, Num), param(TP, P, 1), wildcard(P).
|
||||||
|
numWildcards(TP, Num) :- numWildcards(TP, 0, Num), param(TP, P, 1), not wildcard(P).
|
||||||
|
numWildcards(TP, 0) :- type(TP, _, 0).
|
||||||
|
numWildcards(TP, 0) :- typeVar(TP).
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%
|
||||||
|
% Greater
|
||||||
|
%%%%%%%%%%%%%%%%
|
||||||
|
{ greaterGen(P, A, AFC, BFC) : smaller(AFC, BFC), type(AFC, AN, ANum) } == 1 :- greaterGen(P, A), type(A, AN, ANum)
|
||||||
|
%, greaterArgGenNum(P, N), N < 100000
|
||||||
|
.
|
||||||
|
%:- greaterGen(A, _, _ , _), numWildcards(A, NW), NW >= 1.
|
||||||
|
type(P, BN, BNum) :- greaterGen(P, A, _, B), type(B, BN, BNum).
|
||||||
|
%Bei den Parametern gibt es zwei Fälle:
|
||||||
|
%% Die TPHs müssen gemapt werden, die anderen übernommen
|
||||||
|
greaterArgGen(pointer(P, Param), Param) :- greaterGen(P, A, Afc, B), param(A, Param, PNum), mapFC(smaller(Afc, B), PNum, _).
|
||||||
|
greaterArgGen(pointer(P, Param), Param) :- greaterGen(P, A, _, B), param(B, Param, PNum), type(B, _, _).
|
||||||
|
param(P, pointer(P, Param), PNum) :- greaterGen(P, A, _, B), param(B, Param, PNum)
|
||||||
|
, type(Param, _, _)
|
||||||
|
.
|
||||||
|
param(P, pointer(P, Param), PNum2) :- greaterGen(P, A, Afc, B), param(A, Param, PNum)
|
||||||
|
, mapFC(smaller(Afc,B), PNum, PNum2)
|
||||||
|
.
|
||||||
|
|
||||||
|
%TypeVars bleiben einfach TypeVars:
|
||||||
|
typeVar(Pointer) :- greaterArgGen(Pointer, T), typeVar(T).
|
||||||
|
|
||||||
|
makeGreaterGen(Pointer, T) :- greaterArgGen(Pointer, T), extendsWildcard(T).
|
||||||
|
makeSmallerGen(Pointer, T) :- greaterArgGen(Pointer, T), superWildcard(T).
|
||||||
|
makeSmallerGenG(Pointer, T),
|
||||||
|
makeGreaterGenG(Pointer, T),
|
||||||
|
makeSameGenG(Pointer, T)
|
||||||
|
:- greaterArgGen(Pointer, T), not extendsWildcard(T), not superWildcard(T), type(T, N, Num).
|
||||||
|
|
||||||
|
greaterGen(P, T) :- makeGreaterGenG(P, T).
|
||||||
|
extendsWildcard(P) :- makeGreaterGenG(P, T).
|
||||||
|
|
||||||
|
smallerGen(P, T) :- makeGreaterGenG(P, T).
|
||||||
|
superWildcard(P) :- makeSmallerGenG(P, T).
|
||||||
|
|
||||||
|
{ greaterGen(P, T, TFC, TFC) : smaller(TFC, _), type(TFC, TN, TNum) } == 1 :- makeSameGenG(P, T), type(T, TN, TNum).
|
||||||
|
|
||||||
|
greaterArgGenNum(P, 0) :- greaterArgGen(P, _), type(P, _ ,_).
|
||||||
|
greaterArgGenNum(pointer(P, P2), Num + 1) :- greaterArgGen(pointer(P, P2),_), greaterArgGenNum(P, Num).
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%
|
||||||
|
% smaller
|
||||||
|
%%%%%%%%%%%%%%%%
|
||||||
|
{ smallerGen(P, A, AFC, BFC) : smaller(BFC, AFC), type(AFC, AN, ANum) } == 1 :- smallerGen(P, A), type(A, AN, ANum)
|
||||||
|
.
|
||||||
|
{ type(P, BN, BNum) : type(B,BN,BNum) } == 1 :- smallerGen(P, A, _, B).
|
||||||
|
%Bei den Parametern gibt es drei Fälle:
|
||||||
|
%% Die TPHs müssen gemapt werden, die anderen übernommen
|
||||||
|
smallerArgGen(pointer(P, Param), Param) :- smallerGen(P, A, Afc, B), param(A, Param, PNum), mapFC(smaller(B, Afc), _, PNum).
|
||||||
|
param(P, pointer(P, Param), PNum2) :- smallerGen(P, A, Afc, B), param(A, Param, PNum)
|
||||||
|
, mapFC(smaller(B,Afc), PNum2, PNum)
|
||||||
|
.
|
||||||
|
|
||||||
|
%Neue Parameter können hinzu kommen: TODO
|
||||||
|
%smallerArgGen(pointer(P, Param), Param) :- smallerGen(P, A, _, B), param(B, Param, PNum).
|
||||||
|
%param(P, pointer(P, Param), PNum) :- greaterGen(P, A, _, B), param(B, Param, PNum)
|
||||||
|
% %, type(Param, _, _) %Es ist egal ob es ein Typparameter oder eine TypeVar ist. smallerArgGen macht das richtige
|
||||||
|
% .
|
||||||
|
|
||||||
|
%Es können voraussetzungen hinzukommen:
|
||||||
|
equals(Param, PA) :- smallerGen(P, A, Afc, B), param(Afc, Param, PNum), type(Param, _, _), param(A, PA, PNum).
|
||||||
|
|
||||||
|
%TypeVars bleiben einfach TypeVars:
|
||||||
|
typeVar(Pointer) :- smallerArgGen(Pointer, T), typeVar(T).
|
||||||
|
|
||||||
|
makeSmallerGenS(Pointer, T) :- smallerArgGen(Pointer, T), extendsWildcard(T).
|
||||||
|
makeGreaterGenS(Pointer, T) :- smallerArgGen(Pointer, T), superWildcard(T).
|
||||||
|
makeSmallerGenS(Pointer, T),
|
||||||
|
makeGreaterGenS(Pointer, T),
|
||||||
|
makeSameGenS(Pointer, T)
|
||||||
|
:- smallerArgGen(Pointer, T), not extendsWildcard(T), not superWildcard(T), type(T, N, Num).
|
||||||
|
|
||||||
|
greaterGen(P, T) :- makeGreaterGenS(P, T).
|
||||||
|
extendsWildcard(P) :- makeGreaterGenS(P, T).
|
||||||
|
|
||||||
|
smallerGen(P, T) :- makeSmallerGenS(P, T).
|
||||||
|
superWildcard(P) :- makeSmallerGenS(P, T).
|
||||||
|
|
||||||
|
{ smallerGen(P, T, TFC, TFC) : smaller(TFC, _), type(TFC, TN, TNum) } == 1 :- makeSameGenS(P, T), type(T, TN, TNum).
|
||||||
|
|
||||||
|
|
||||||
|
%%%
|
||||||
|
% Grundlegende Regeln
|
||||||
|
%%%
|
||||||
|
smaller(A, A) :- smaller(A, _).
|
||||||
|
smaller(B, B) :- smaller(_, B).
|
||||||
|
%smaller(A, A) :- type(A). %Alle Typen erben von sich selber. Hätte komische Nebeneffekte
|
||||||
|
|
||||||
|
%Mapping:
|
||||||
|
mapFC(smaller(A,B), Num, Num2) :- smaller(A,B), param(A, P, Num), typeVar(P), param(B, P, Num2).
|
||||||
|
|
||||||
|
hasTypeInParameterList(A) :- type(A, _, _), param(A, P, _), type(P, _, _).
|
||||||
|
mapRootFC(smaller(A,B), Num, Num2) :- smaller(A, B), not hasTypeInParameterList(A), param(A, P, Num), typeVar(P), param(B, P, Num2).
|
||||||
|
|
110
asp/fc.lp.old
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
|
||||||
|
wildcard(A) :- extendsWildcard(A).
|
||||||
|
wildcard(A) :- superWildcard(A).
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%Anzahl der Wildcards ist 1
|
||||||
|
% Mehr benötigt man nicht verschachtelt
|
||||||
|
% Dadurch ist numWildcards unnötig, man ändert einfach die grArg auf Wildcards
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
type(P, TN, TNum) :- makeSameGen(P, T), type(T, TN, TNum).
|
||||||
|
param(P, TN, TNum) :- makeSameGen(P, T), param(T, TN, TNum).
|
||||||
|
superWildcard(P) :- makeSameGen(P, T), superWildcard(T).
|
||||||
|
extendsWildcard(P) :- makeSameGen(P, T), extendsWildcard(T).
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%
|
||||||
|
% Greater
|
||||||
|
%%%%%%%%%%%%%%%%
|
||||||
|
{ greaterGen(P, A, AFC, BFC) : smaller(AFC, BFC), type(AFC, AN, ANum) } == 1 :- greaterGen(P, A), type(A, AN, ANum)
|
||||||
|
.
|
||||||
|
|
||||||
|
type(P, BN, BNum) :- greaterGen(P, A, _, B), type(B, BN, BNum).
|
||||||
|
%Bei den Parametern gibt es zwei Fälle:
|
||||||
|
%% Die TPHs müssen gemapt werden, die anderen übernommen
|
||||||
|
greaterArgGen(pointer(P, Param), Param) :- greaterGen(P, A, Afc, B), param(A, Param, PNum), mapFC(smaller(Afc, B), PNum, _).
|
||||||
|
greaterArgGen(pointer(P, Param), Param) :- greaterGen(P, A, _, B), param(B, Param, PNum), type(B, _, _).
|
||||||
|
param(P, pointer(P, Param), PNum) :- greaterGen(P, A, _, B), param(B, Param, PNum)
|
||||||
|
, type(Param, _, _)
|
||||||
|
.
|
||||||
|
param(P, pointer(P, Param), PNum2) :- greaterGen(P, A, Afc, B), param(A, Param, PNum)
|
||||||
|
, mapFC(smaller(Afc,B), PNum, PNum2)
|
||||||
|
.
|
||||||
|
|
||||||
|
%TypeVars bleiben einfach TypeVars:
|
||||||
|
typeVar(Pointer) :- greaterArgGen(Pointer, T), typeVar(T).
|
||||||
|
|
||||||
|
%makeGreaterGen(Pointer, T) :- greaterArgGen(Pointer, T), extendsWildcard(T).
|
||||||
|
%makeSmallerGen(Pointer, T) :- greaterArgGen(Pointer, T), superWildcard(T).
|
||||||
|
makeSameGen(Pointer, T) :- greaterArgGen(Pointer, T), extendsWildcard(T).
|
||||||
|
makeSameGen(Pointer, T) :- greaterArgGen(Pointer, T), superWildcard(T).
|
||||||
|
makeSmallerGenG(Pointer, T),
|
||||||
|
makeGreaterGenG(Pointer, T),
|
||||||
|
makeSameGenG(Pointer, T)
|
||||||
|
:- greaterArgGen(Pointer, T), not extendsWildcard(T), not superWildcard(T), type(T, N, Num).
|
||||||
|
|
||||||
|
greaterGen(P, T) :- makeGreaterGenG(P, T).
|
||||||
|
extendsWildcard(P) :- makeGreaterGenG(P, T).
|
||||||
|
|
||||||
|
smallerGen(P, T) :- makeGreaterGenG(P, T).
|
||||||
|
superWildcard(P) :- makeSmallerGenG(P, T).
|
||||||
|
|
||||||
|
{ greaterGen(P, T, TFC, TFC) : smaller(TFC, _), type(TFC, TN, TNum) } == 1 :- makeSameGenG(P, T), type(T, TN, TNum).
|
||||||
|
|
||||||
|
greaterArgGenNum(P, 0) :- greaterArgGen(P, _), type(P, _ ,_).
|
||||||
|
greaterArgGenNum(pointer(P, P2), Num + 1) :- greaterArgGen(pointer(P, P2),_), greaterArgGenNum(P, Num).
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%
|
||||||
|
% smaller
|
||||||
|
%%%%%%%%%%%%%%%%
|
||||||
|
{ smallerGen(P, A, AFC, BFC) : smaller(BFC, AFC), type(AFC, AN, ANum) } == 1 :- smallerGen(P, A), type(A, AN, ANum)
|
||||||
|
.
|
||||||
|
{ type(P, BN, BNum) : type(B,BN,BNum) } == 1 :- smallerGen(P, A, _, B).
|
||||||
|
%Bei den Parametern gibt es drei Fälle:
|
||||||
|
%% Die TPHs müssen gemapt werden, die anderen übernommen
|
||||||
|
smallerArgGen(pointer(P, Param), Param) :- smallerGen(P, A, Afc, B), param(A, Param, PNum), mapFC(smaller(B, Afc), _, PNum).
|
||||||
|
param(P, pointer(P, Param), PNum2) :- smallerGen(P, A, Afc, B), param(A, Param, PNum)
|
||||||
|
, mapFC(smaller(B,Afc), PNum2, PNum)
|
||||||
|
.
|
||||||
|
|
||||||
|
%Neue Parameter können hinzu kommen: TODO
|
||||||
|
%smallerArgGen(pointer(P, Param), Param) :- smallerGen(P, A, _, B), param(B, Param, PNum).
|
||||||
|
%param(P, pointer(P, Param), PNum) :- greaterGen(P, A, _, B), param(B, Param, PNum)
|
||||||
|
% %, type(Param, _, _) %Es ist egal ob es ein Typparameter oder eine TypeVar ist. smallerArgGen macht das richtige
|
||||||
|
% .
|
||||||
|
|
||||||
|
%Es können voraussetzungen hinzukommen:
|
||||||
|
equals(Param, PA) :- smallerGen(P, A, Afc, B), param(Afc, Param, PNum), type(Param, _, _), param(A, PA, PNum).
|
||||||
|
|
||||||
|
%TypeVars bleiben einfach TypeVars:
|
||||||
|
typeVar(Pointer) :- smallerArgGen(Pointer, T), typeVar(T).
|
||||||
|
|
||||||
|
makeSameGen(Pointer, T) :- smallerArgGen(Pointer, T), extendsWildcard(T).
|
||||||
|
makeSameGen(Pointer, T) :- smallerArgGen(Pointer, T), superWildcard(T).
|
||||||
|
makeSmallerGenS(Pointer, T),
|
||||||
|
makeGreaterGenS(Pointer, T),
|
||||||
|
makeSameGenS(Pointer, T)
|
||||||
|
:- smallerArgGen(Pointer, T), not extendsWildcard(T), not superWildcard(T), type(T, N, Num).
|
||||||
|
|
||||||
|
greaterGen(P, T) :- makeGreaterGenS(P, T).
|
||||||
|
extendsWildcard(P) :- makeGreaterGenS(P, T).
|
||||||
|
|
||||||
|
smallerGen(P, T) :- makeSmallerGenS(P, T).
|
||||||
|
superWildcard(P) :- makeSmallerGenS(P, T).
|
||||||
|
|
||||||
|
{ smallerGen(P, T, TFC, TFC) : smaller(TFC, _), type(TFC, TN, TNum) } == 1 :- makeSameGenS(P, T), type(T, TN, TNum).
|
||||||
|
|
||||||
|
|
||||||
|
%%%
|
||||||
|
% Grundlegende Regeln
|
||||||
|
%%%
|
||||||
|
smaller(A, A) :- smaller(A, _).
|
||||||
|
smaller(B, B) :- smaller(_, B).
|
||||||
|
%smaller(A, A) :- type(A). %Alle Typen erben von sich selber. Hätte komische Nebeneffekte
|
||||||
|
|
||||||
|
%Mapping:
|
||||||
|
mapFC(smaller(A,B), Num, Num2) :- smaller(A,B), param(A, P, Num), typeVar(P), param(B, P, Num2).
|
||||||
|
|
||||||
|
hasTypeInParameterList(A) :- type(A, _, _), param(A, P, _), type(P, _, _).
|
||||||
|
mapRootFC(smaller(A,B), Num, Num2) :- smaller(A, B), not hasTypeInParameterList(A), param(A, P, Num), typeVar(P), param(B, P, Num2).
|
||||||
|
|
17
asp/greater.pl
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{ fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)) : type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8) } == 1 :- greaterGen(V1,V2).
|
||||||
|
{ fun19(typeVar(V15),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)) : typeVar(V15) ; fun20(notSuper(V15),notExtends(V15),type(V15,V16,V17),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)) : notSuper(V15), notExtends(V15), type(V15,V16,V17) ; fun21(notSuper(V15),notExtends(V15),type(V15,V16,V17),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)) : notSuper(V15), notExtends(V15), type(V15,V16,V17) ; fun22(notSuper(V15),extendsWildcard(V15),type(V15,V16,V17),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)) : notSuper(V15), extendsWildcard(V15), type(V15,V16,V17) ; fun23(notSuper(V15),notExtends(V15),type(V15,V16,V17),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)) : notSuper(V15), notExtends(V15), type(V15,V16,V17) ; fun24(superWildcard(V15),notExtends(V15),type(V15,V16,V17),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)) : superWildcard(V15), notExtends(V15), type(V15,V16,V17) } == 1 :- greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14).
|
||||||
|
param(V2,V15,V14) :- greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), typeVar(V15), fun19(typeVar(V15),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)).
|
||||||
|
param(V2,V15,V14) :- greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), notSuper(V15), notExtends(V15), type(V15,V16,V17), fun20(notSuper(V15),notExtends(V15),type(V15,V16,V17),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)).
|
||||||
|
superWildcard(pointer(greaterGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17))) :- greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), notSuper(V15), notExtends(V15), type(V15,V16,V17), fun21(notSuper(V15),notExtends(V15),type(V15,V16,V17),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)).
|
||||||
|
param(V2,pointer(greaterGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17)),V14) :- greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), notSuper(V15), notExtends(V15), type(V15,V16,V17), fun21(notSuper(V15),notExtends(V15),type(V15,V16,V17),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)).
|
||||||
|
smallerGen(V15,pointer(greaterGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17))) :- greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), notSuper(V15), notExtends(V15), type(V15,V16,V17), fun21(notSuper(V15),notExtends(V15),type(V15,V16,V17),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)).
|
||||||
|
superWildcard(pointer(greaterGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17))) :- greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), notSuper(V15), extendsWildcard(V15), type(V15,V16,V17), fun22(notSuper(V15),extendsWildcard(V15),type(V15,V16,V17),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)).
|
||||||
|
param(V2,pointer(greaterGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17)),V14) :- greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), notSuper(V15), extendsWildcard(V15), type(V15,V16,V17), fun22(notSuper(V15),extendsWildcard(V15),type(V15,V16,V17),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)).
|
||||||
|
smallerGen(V15,pointer(greaterGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17))) :- greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), notSuper(V15), extendsWildcard(V15), type(V15,V16,V17), fun22(notSuper(V15),extendsWildcard(V15),type(V15,V16,V17),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)).
|
||||||
|
extendsWildcard(pointer(greaterGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17))) :- greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), notSuper(V15), notExtends(V15), type(V15,V16,V17), fun23(notSuper(V15),notExtends(V15),type(V15,V16,V17),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)).
|
||||||
|
param(V2,pointer(greaterGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17)),V14) :- greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), notSuper(V15), notExtends(V15), type(V15,V16,V17), fun23(notSuper(V15),notExtends(V15),type(V15,V16,V17),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)).
|
||||||
|
greaterGen(V15,pointer(greaterGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17))) :- greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), notSuper(V15), notExtends(V15), type(V15,V16,V17), fun23(notSuper(V15),notExtends(V15),type(V15,V16,V17),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)).
|
||||||
|
extendsWildcard(pointer(greaterGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17))) :- greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), superWildcard(V15), notExtends(V15), type(V15,V16,V17), fun24(superWildcard(V15),notExtends(V15),type(V15,V16,V17),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)).
|
||||||
|
param(V2,pointer(greaterGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17)),V14) :- greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), superWildcard(V15), notExtends(V15), type(V15,V16,V17), fun24(superWildcard(V15),notExtends(V15),type(V15,V16,V17),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)).
|
||||||
|
greaterGen(V15,pointer(greaterGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17))) :- greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)), param(V1,V15,V13), pi(V7,V8,V13,V14), superWildcard(V15), notExtends(V15), type(V15,V16,V17), fun24(superWildcard(V15),notExtends(V15),type(V15,V16,V17),greaterGen(V1,V2),greaterGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)),param(V1,V15,V13),pi(V7,V8,V13,V14)).
|
||||||
|
type(V2,V9,V12) :- greaterGen(V1,V2), greaterGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V7,V8), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V7,V8),greaterGen(V1,V2)).
|
4
asp/pi.pl
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
pi(V1,V2,V4,V5) :- typeVar(V3), param(V1,V3,V4), param(V2,V3,V5), type(V1,V10,V8), param(V1,V9,V7), typeVar(V9), V7 = 1 .. V8, type(V2,V14,V12), param(V2,V13,V11), typeVar(V13), V11 = 1 .. V12.
|
||||||
|
|
||||||
|
notSuper(V1) :- type(V1,_,_), not superWildcard(V1).
|
||||||
|
notExtends(V1) :- type(V1,_,_), not extendsWildcard(V1).
|
44
asp/reduceRules.lp
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% reduce1
|
||||||
|
%%%%%%%%%%%%%%%%%%%%
|
||||||
|
smallerDotWC(CP, DP)
|
||||||
|
:- smallerDot(C, D), type(C, CN, NP), type(D, DN, NP)
|
||||||
|
, type(CFC, CN, NP), type(DFC, DN, NP), smaller(CFC, DFC)
|
||||||
|
, pi(CFC, DFC, N, N2)
|
||||||
|
, param(C, CP, N), param(D, DP, N2), N = 1 .. NP
|
||||||
|
.
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% reduceExt
|
||||||
|
%%%%%%%%%%%%%%%%%%%%
|
||||||
|
%TODO
|
||||||
|
%smallerDotWC(CP, DP)
|
||||||
|
%:- smallerDotWC(C, D), type(C, CN, NP), type(D, DN, NP)
|
||||||
|
%, type(CFC, CN, NP), type(DFC, DN, NP), smaller(CFC, DFC)
|
||||||
|
%, pi(CFC, DFC, N, N2)
|
||||||
|
%, param(C, CP, N), param(D, DP, N2), N = 1 .. NP
|
||||||
|
%.
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% reduceEq
|
||||||
|
%%%%%%%%%%%%%%%%%%%%
|
||||||
|
equals(CP, DP)
|
||||||
|
:- smallerDot(C, D), type(C, CN, NP), type(D, CN, NP)
|
||||||
|
, param(C, CP, N), param(D, DP, N), N = 1 .. NP
|
||||||
|
.
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% reduce2
|
||||||
|
%%%%%%%%%%%%%%%%%%%%
|
||||||
|
equals(P1, P2) :- equals(C, D), type(C, CN, NP), type(D, CN, NP)
|
||||||
|
, param(C, P1, N), param(D, P2, N)
|
||||||
|
.
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% swap
|
||||||
|
%%%%%%%%%%%%%%%%%%%%
|
||||||
|
equals(A, B) :- equals(B, A), typeVar(A), not typeVar(B).
|
1
asp/result.lp
Normal file
@@ -0,0 +1 @@
|
|||||||
|
:- equals(A, B), equals(A, C), type(B,BN,_), type(C,CN,_), CN != BN.
|
291
asp/rule5.test
Normal file
@@ -0,0 +1,291 @@
|
|||||||
|
param(cEPQ,cAEG,1).
|
||||||
|
param(cEQX,cAEG,1).
|
||||||
|
param(cEQE,cAEG,1).
|
||||||
|
typeVar(cBFS).
|
||||||
|
type(cEON,cjava_DOT_io_DOT_Serializable,0).
|
||||||
|
constraint(cESK,list(equals(cESN,cM),list(smallerDot(cL,cESM),list(smallerDot(cESL,cQC),null)))).
|
||||||
|
type(cESM,cjava_DOT_util_DOT_ArrayList,1).
|
||||||
|
param(cERA,cDKY,1).
|
||||||
|
param(cEQM,cDKY,1).
|
||||||
|
type(cEQE,cjava_DOT_util_DOT_List,1).
|
||||||
|
type(cEQI,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
type(cEPS,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
param(cEQD,cBFS,1).
|
||||||
|
type(cEPQ,cjava_DOT_lang_DOT_Iterable,1).
|
||||||
|
type(cEOM,cjava_DOT_util_DOT_ArrayList,1).
|
||||||
|
smaller(cEOW,cEOX).
|
||||||
|
type(cEPV,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
param(cERQ,cCII,1).
|
||||||
|
param(cEPY,cDKY,1).
|
||||||
|
smaller(cEPM,cEPN).
|
||||||
|
param(cEOQ,cBFS,1).
|
||||||
|
smaller(cEQC,cEQD).
|
||||||
|
type(cERM,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
param(cESJ,cQF,1).
|
||||||
|
type(cESN,cjava_DOT_lang_DOT_Boolean,0).
|
||||||
|
smaller(cEPI,cEPJ).
|
||||||
|
type(cERJ,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
type(cEQA,cjava_DOT_util_DOT_ArrayList,1).
|
||||||
|
type(cEOA,cjava_DOT_util_DOT_ArrayList,1).
|
||||||
|
param(cEOT,cBFS,1).
|
||||||
|
type(cEOW,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
param(cEPC,cCII,1).
|
||||||
|
type(cEQB,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
param(cENS,cCII,1).
|
||||||
|
type(cEQS,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
typeVar(cDKY).
|
||||||
|
type(cEPU,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
smaller(cEQG,cEQH).
|
||||||
|
type(cEQJ,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
param(cEQG,cCII,1).
|
||||||
|
param(cEPN,cCII,1).
|
||||||
|
param(cESE,cDKY,1).
|
||||||
|
param(cEQZ,cBFS,1).
|
||||||
|
type(cERK,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
smaller(cEPE,cEPF).
|
||||||
|
type(cEOK,cjava_DOT_util_DOT_ArrayList,1).
|
||||||
|
typeVar(cQC).
|
||||||
|
smaller(cERE,cERF).
|
||||||
|
param(cEOA,cCII,1).
|
||||||
|
type(cEQQ,cjava_DOT_lang_DOT_Iterable,1).
|
||||||
|
smaller(cEPA,cEPB).
|
||||||
|
typeVar(cM).
|
||||||
|
smaller(cERA,cERB).
|
||||||
|
type(cEPP,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
param(cEPS,cCII,1).
|
||||||
|
param(cENQ,cAEG,1).
|
||||||
|
param(cEPH,cCII,1).
|
||||||
|
smaller(cERW,cERX).
|
||||||
|
type(cEOG,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
type(cERE,cjava_DOT_io_DOT_Serializable,0).
|
||||||
|
param(cERG,cDKY,1).
|
||||||
|
smaller(cERS,cERT).
|
||||||
|
param(cEOF,cBFS,1).
|
||||||
|
type(cESA,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
param(cERY,cDKY,1).
|
||||||
|
typeVar(cCII).
|
||||||
|
type(cEOO,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
type(cERN,cjava_DOT_lang_DOT_Cloneable,0).
|
||||||
|
param(cENO,cBFS,1).
|
||||||
|
typeVar(cAEG).
|
||||||
|
type(cERB,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
typeVar(cQD).
|
||||||
|
param(cEQP,cAEG,1).
|
||||||
|
param(cEOO,cAEG,1).
|
||||||
|
type(cESF,cjava_DOT_io_DOT_Serializable,0).
|
||||||
|
param(cEPE,cBFS,1).
|
||||||
|
type(cEPG,cjava_DOT_util_DOT_ArrayList,1).
|
||||||
|
type(cEPD,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
type(cERC,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
type(cERQ,cjava_DOT_util_DOT_ArrayList,1).
|
||||||
|
type(cENW,cjava_DOT_lang_DOT_Iterable,1).
|
||||||
|
type(cENQ,cjava_DOT_util_DOT_ArrayList,1).
|
||||||
|
smaller(cESC,cESD).
|
||||||
|
type(cEOU,cjava_DOT_util_DOT_List,1).
|
||||||
|
smaller(cENO,cENP).
|
||||||
|
smaller(cEOE,cEOF).
|
||||||
|
smaller(cERO,cERP).
|
||||||
|
type(cEPH,cjava_DOT_util_DOT_List,1).
|
||||||
|
smaller(cESE,cESF).
|
||||||
|
param(cERO,cCII,1).
|
||||||
|
param(cEOS,cBFS,1).
|
||||||
|
type(cEQX,cjava_DOT_util_DOT_List,1).
|
||||||
|
type(cEQR,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
param(cEQY,cBFS,1).
|
||||||
|
smaller(cEQW,cEQX).
|
||||||
|
smaller(cEOC,cEOD).
|
||||||
|
smaller(cERM,cERN).
|
||||||
|
param(cEPT,cCII,1).
|
||||||
|
param(cEQQ,cBFS,1).
|
||||||
|
param(cERZ,cDKY,1).
|
||||||
|
type(cENV,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
type(cEOZ,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
param(cEQK,cAEG,1).
|
||||||
|
type(cEQO,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
type(cEQU,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
smaller(cEOK,cEOL).
|
||||||
|
type(cEQW,cjava_DOT_util_DOT_ArrayList,1).
|
||||||
|
type(cENO,cjava_DOT_util_DOT_ArrayList,1).
|
||||||
|
type(cERF,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
param(cEPA,cCII,1).
|
||||||
|
type(cERV,cjava_DOT_io_DOT_Serializable,0).
|
||||||
|
smaller(cERG,cERH).
|
||||||
|
param(cEOU,cCII,1).
|
||||||
|
param(cENU,cDKY,1).
|
||||||
|
param(cESM,cQE,1).
|
||||||
|
param(cEOP,cAEG,1).
|
||||||
|
param(cEPO,cBFS,1).
|
||||||
|
param(cEOK,cBFS,1).
|
||||||
|
constraint(cESG,list(smallerDot(cL,cESJ),list(equals(cESI,cM),list(smallerDot(cESH,cQD),null)))).
|
||||||
|
type(cEPE,cjava_DOT_util_DOT_ArrayList,1).
|
||||||
|
param(cEQF,cAEG,1).
|
||||||
|
smaller(cEPY,cEPZ).
|
||||||
|
param(cESC,cDKY,1).
|
||||||
|
param(cENY,cAEG,1).
|
||||||
|
param(cEOM,cAEG,1).
|
||||||
|
smaller(cEQO,cEQP).
|
||||||
|
type(cEOR,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
type(cESC,cjava_DOT_util_DOT_List,1).
|
||||||
|
type(cEOP,cjava_DOT_lang_DOT_Iterable,1).
|
||||||
|
type(cERU,cjava_DOT_util_DOT_ArrayList,1).
|
||||||
|
type(cERY,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
param(cEPL,cAEG,1).
|
||||||
|
param(cEOX,cAEG,1).
|
||||||
|
type(cEQK,cjava_DOT_util_DOT_ArrayList,1).
|
||||||
|
type(cERZ,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
param(cEQA,cBFS,1).
|
||||||
|
param(cERI,cDKY,1).
|
||||||
|
smaller(cEPC,cEPD).
|
||||||
|
type(cEQT,cjava_DOT_lang_DOT_Iterable,1).
|
||||||
|
type(cERT,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
type(cEOY,cjava_DOT_lang_DOT_Cloneable,0).
|
||||||
|
param(cEQU,cDKY,1).
|
||||||
|
type(cEPB,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
type(cESI,cjava_DOT_lang_DOT_Boolean,0).
|
||||||
|
smaller(cENU,cENV).
|
||||||
|
type(cESE,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
param(cEOG,cCII,1).
|
||||||
|
type(cEOI,cjava_DOT_util_DOT_List,1).
|
||||||
|
type(cENU,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
smaller(cERU,cERV).
|
||||||
|
type(cEPN,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
type(cEQV,cjava_DOT_util_DOT_List,1).
|
||||||
|
type(cEPA,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
smaller(cEPQ,cEPR).
|
||||||
|
type(cEQL,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
param(cEQH,cCII,1).
|
||||||
|
type(cEOL,cjava_DOT_lang_DOT_Cloneable,0).
|
||||||
|
type(cEQY,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
type(cEOF,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
param(cEQT,cBFS,1).
|
||||||
|
smaller(cEOS,cEOT).
|
||||||
|
type(cENR,cjava_DOT_lang_DOT_Cloneable,0).
|
||||||
|
type(cEQD,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
type(cENZ,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
param(cEPG,cCII,1).
|
||||||
|
type(cEQF,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
type(cEQN,cjava_DOT_util_DOT_List,1).
|
||||||
|
type(cEQH,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
smaller(cEOY,cEOZ).
|
||||||
|
type(cERR,cjava_DOT_lang_DOT_Cloneable,0).
|
||||||
|
param(cERU,cCII,1).
|
||||||
|
type(cESB,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
smaller(cEPO,cEPP).
|
||||||
|
param(cEPU,cDKY,1).
|
||||||
|
param(cEQI,cDKY,1).
|
||||||
|
smaller(cEQE,cEQF).
|
||||||
|
smaller(cEQA,cEQB).
|
||||||
|
type(cEPM,cjava_DOT_util_DOT_ArrayList,1).
|
||||||
|
param(cENW,cCII,1).
|
||||||
|
param(cEOE,cBFS,1).
|
||||||
|
type(cEOX,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
type(cEQG,cjava_DOT_util_DOT_List,1).
|
||||||
|
param(cERH,cDKY,1).
|
||||||
|
smaller(cEQI,cEQJ).
|
||||||
|
param(cEOC,cAEG,1).
|
||||||
|
type(cEPT,cjava_DOT_util_DOT_List,1).
|
||||||
|
type(cEOT,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
type(cERP,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
type(cERS,cMyVector,0).
|
||||||
|
type(cESD,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
type(cEOD,cjava_DOT_util_DOT_RandomAccess,0).
|
||||||
|
smaller(cEPK,cEPL).
|
||||||
|
type(cEPK,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
param(cERM,cDKY,1).
|
||||||
|
smaller(cEPG,cEPH).
|
||||||
|
type(cEOS,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
param(cEQS,cBFS,1).
|
||||||
|
param(cEQW,cAEG,1).
|
||||||
|
type(cENY,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
param(cEPW,cBFS,1).
|
||||||
|
type(cEOJ,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
param(cEQC,cBFS,1).
|
||||||
|
type(cENT,cjava_DOT_lang_DOT_Iterable,1).
|
||||||
|
param(cERK,cDKY,1).
|
||||||
|
type(cEPY,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
type(cEQM,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
smaller(cENW,cENX).
|
||||||
|
smaller(cEPW,cEPX).
|
||||||
|
smaller(cEOM,cEON).
|
||||||
|
smaller(cEQM,cEQN).
|
||||||
|
smaller(cEPS,cEPT).
|
||||||
|
type(cENX,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
smallerDot(cL,cK).
|
||||||
|
type(cESJ,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
type(cEQC,cjava_DOT_util_DOT_List,1).
|
||||||
|
type(cEOB,cjava_DOT_util_DOT_RandomAccess,0).
|
||||||
|
smaller(cEOU,cEOV).
|
||||||
|
param(cERC,cAEG,1).
|
||||||
|
smaller(cEQU,cEQV).
|
||||||
|
type(cERG,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
type(cESH,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
smaller(cEOQ,cEOR).
|
||||||
|
oder(cESG,cESK).
|
||||||
|
smaller(cEQQ,cEQR).
|
||||||
|
param(cEPD,cCII,1).
|
||||||
|
type(cEPZ,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
param(cEQL,cAEG,1).
|
||||||
|
type(cEPC,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
smaller(cENS,cENT).
|
||||||
|
param(cESA,cBFS,1).
|
||||||
|
type(cERA,cjava_DOT_lang_DOT_Iterable,1).
|
||||||
|
smaller(cEQY,cEQZ).
|
||||||
|
typeVar(cQE).
|
||||||
|
type(cEOE,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
type(cESL,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
type(cERX,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
type(cENP,cjava_DOT_util_DOT_List,1).
|
||||||
|
type(cEPI,cjava_DOT_util_DOT_RandomAccess,0).
|
||||||
|
typeVar(cK).
|
||||||
|
smaller(cERK,cERL).
|
||||||
|
type(cERD,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
type(cERI,cjava_DOT_util_DOT_List,1).
|
||||||
|
type(cEPJ,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
smaller(cESA,cESB).
|
||||||
|
type(cEOC,cjava_DOT_util_DOT_ArrayList,1).
|
||||||
|
param(cEOW,cAEG,1).
|
||||||
|
param(cERJ,cDKY,1).
|
||||||
|
param(cEQB,cBFS,1).
|
||||||
|
smaller(cEOI,cEOJ).
|
||||||
|
type(cEPL,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
param(cEQO,cAEG,1).
|
||||||
|
smaller(cERI,cERJ).
|
||||||
|
typeVar(cQF).
|
||||||
|
param(cEPK,cAEG,1).
|
||||||
|
param(cENP,cBFS,1).
|
||||||
|
type(cERO,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
typeVar(cL).
|
||||||
|
smaller(cEOG,cEOH).
|
||||||
|
param(cEQV,cDKY,1).
|
||||||
|
type(cERW,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
type(cEQZ,cjava_DOT_util_DOT_List,1).
|
||||||
|
type(cENS,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
smaller(cENY,cENZ).
|
||||||
|
param(cEOI,cAEG,1).
|
||||||
|
smaller(cEOO,cEOP).
|
||||||
|
smaller(cERY,cERZ).
|
||||||
|
param(cEPZ,cDKY,1).
|
||||||
|
param(cEQN,cDKY,1).
|
||||||
|
smaller(cEQK,cEQL).
|
||||||
|
type(cEOH,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
type(cEPF,cjava_DOT_util_DOT_RandomAccess,0).
|
||||||
|
smaller(cERC,cERD).
|
||||||
|
type(cEPO,cjava_DOT_util_DOT_List,1).
|
||||||
|
type(cEPR,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
type(cEQP,cjava_DOT_util_DOT_List,1).
|
||||||
|
smaller(cEQS,cEQT).
|
||||||
|
type(cERL,cjava_DOT_util_DOT_RandomAccess,0).
|
||||||
|
param(cENT,cCII,1).
|
||||||
|
type(cEOQ,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
type(cEPW,cjava_DOT_util_DOT_ArrayList,1).
|
||||||
|
type(cEPX,cjava_DOT_io_DOT_Serializable,0).
|
||||||
|
smaller(cEPU,cEPV).
|
||||||
|
smaller(cEOA,cEOB).
|
||||||
|
type(cEOV,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
param(cEPB,cCII,1).
|
||||||
|
smaller(cENQ,cENR).
|
||||||
|
param(cEPM,cCII,1).
|
||||||
|
smaller(cERQ,cERR).
|
||||||
|
param(cENV,cDKY,1).
|
||||||
|
type(cERH,cjava_DOT_lang_DOT_Iterable,1).
|
||||||
|
|
15
asp/smaller.pl
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{ fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)) : type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7) } == 1 :- smallerGen(V1,V2).
|
||||||
|
{ fun19(typeVar(V15),smallerGen(V1,V2),smallerGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)),param(V1,V15,V13),pi(V8,V7,V14,V13)) : typeVar(V15) ; fun20(notSuper(V15),notExtends(V15),type(V15,V16,V17),smallerGen(V1,V2),smallerGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)),param(V1,V15,V13),pi(V8,V7,V14,V13)) : notSuper(V15), notExtends(V15), type(V15,V16,V17) ; fun21(superWildcard(V15),notExtends(V15),type(V15,V16,V17),smallerGen(V1,V2),smallerGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)),param(V1,V15,V13),pi(V8,V7,V14,V13)) : superWildcard(V15), notExtends(V15), type(V15,V16,V17) ; fun22(superWildcard(V15),notExtends(V15),type(V15,V16,V17),smallerGen(V1,V2),smallerGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)),param(V1,V15,V13),pi(V8,V7,V14,V13)) : superWildcard(V15), notExtends(V15), type(V15,V16,V17) ; fun23(notSuper(V15),extendsWildcard(V15),type(V15,V16,V17),smallerGen(V1,V2),smallerGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)),param(V1,V15,V13),pi(V8,V7,V14,V13)) : notSuper(V15), extendsWildcard(V15), type(V15,V16,V17) ; fun24(notSuper(V15),extendsWildcard(V15),type(V15,V16,V17),smallerGen(V1,V2),smallerGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)),param(V1,V15,V13),pi(V8,V7,V14,V13)) : notSuper(V15), extendsWildcard(V15), type(V15,V16,V17) } == 1 :- smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13).
|
||||||
|
param(V2,V15,V14) :- smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), typeVar(V15), fun19(typeVar(V15),smallerGen(V1,V2),smallerGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)),param(V1,V15,V13),pi(V8,V7,V14,V13)).
|
||||||
|
param(V2,V15,V14) :- smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), notSuper(V15), notExtends(V15), type(V15,V16,V17), fun20(notSuper(V15),notExtends(V15),type(V15,V16,V17),smallerGen(V1,V2),smallerGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)),param(V1,V15,V13),pi(V8,V7,V14,V13)).
|
||||||
|
param(V2,pointer(smallerGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17)),V14) :- smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), superWildcard(V15), notExtends(V15), type(V15,V16,V17), fun21(superWildcard(V15),notExtends(V15),type(V15,V16,V17),smallerGen(V1,V2),smallerGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)),param(V1,V15,V13),pi(V8,V7,V14,V13)).
|
||||||
|
greaterGen(V15,pointer(smallerGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17))) :- smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), superWildcard(V15), notExtends(V15), type(V15,V16,V17), fun21(superWildcard(V15),notExtends(V15),type(V15,V16,V17),smallerGen(V1,V2),smallerGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)),param(V1,V15,V13),pi(V8,V7,V14,V13)).
|
||||||
|
superWildcard(pointer(smallerGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17))) :- smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), superWildcard(V15), notExtends(V15), type(V15,V16,V17), fun22(superWildcard(V15),notExtends(V15),type(V15,V16,V17),smallerGen(V1,V2),smallerGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)),param(V1,V15,V13),pi(V8,V7,V14,V13)).
|
||||||
|
param(V2,pointer(smallerGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17)),V14) :- smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), superWildcard(V15), notExtends(V15), type(V15,V16,V17), fun22(superWildcard(V15),notExtends(V15),type(V15,V16,V17),smallerGen(V1,V2),smallerGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)),param(V1,V15,V13),pi(V8,V7,V14,V13)).
|
||||||
|
greaterGen(V15,pointer(smallerGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17))) :- smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), superWildcard(V15), notExtends(V15), type(V15,V16,V17), fun22(superWildcard(V15),notExtends(V15),type(V15,V16,V17),smallerGen(V1,V2),smallerGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)),param(V1,V15,V13),pi(V8,V7,V14,V13)).
|
||||||
|
extendsWildcard(pointer(smallerGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17))) :- smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), notSuper(V15), extendsWildcard(V15), type(V15,V16,V17), fun23(notSuper(V15),extendsWildcard(V15),type(V15,V16,V17),smallerGen(V1,V2),smallerGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)),param(V1,V15,V13),pi(V8,V7,V14,V13)).
|
||||||
|
param(V2,pointer(smallerGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17)),V14) :- smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), notSuper(V15), extendsWildcard(V15), type(V15,V16,V17), fun23(notSuper(V15),extendsWildcard(V15),type(V15,V16,V17),smallerGen(V1,V2),smallerGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)),param(V1,V15,V13),pi(V8,V7,V14,V13)).
|
||||||
|
smallerGen(V15,pointer(smallerGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17))) :- smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), notSuper(V15), extendsWildcard(V15), type(V15,V16,V17), fun23(notSuper(V15),extendsWildcard(V15),type(V15,V16,V17),smallerGen(V1,V2),smallerGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)),param(V1,V15,V13),pi(V8,V7,V14,V13)).
|
||||||
|
param(V2,pointer(smallerGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17)),V14) :- smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), notSuper(V15), extendsWildcard(V15), type(V15,V16,V17), fun24(notSuper(V15),extendsWildcard(V15),type(V15,V16,V17),smallerGen(V1,V2),smallerGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)),param(V1,V15,V13),pi(V8,V7,V14,V13)).
|
||||||
|
smallerGen(V15,pointer(smallerGen(V1,V2), notSuper(V15), notExtends(V15), type(V15,V16,V17))) :- smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)), param(V1,V15,V13), pi(V8,V7,V14,V13), notSuper(V15), extendsWildcard(V15), type(V15,V16,V17), fun24(notSuper(V15),extendsWildcard(V15),type(V15,V16,V17),smallerGen(V1,V2),smallerGen(V1,V2),type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)),param(V1,V15,V13),pi(V8,V7,V14,V13)).
|
||||||
|
type(V2,V9,V12) :- smallerGen(V1,V2), smallerGen(V1,V2), type(V1,V10,V11), type(V7,V10,V11), type(V8,V9,V12), smaller(V8,V7), fun18(type(V1,V10,V11),type(V7,V10,V11),type(V8,V9,V12),smaller(V8,V7),smallerGen(V1,V2)).
|
116
asp/step4.lp
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
wildcard(A) :- superWildcard(A).
|
||||||
|
wildcard(A) :- extendsWildcard(A).
|
||||||
|
|
||||||
|
%Problem hier: Es gibt in der FiniteClosure nun smaller Beziehungen der Art:
|
||||||
|
%%(Matrix<A> <) Vector<Vector<A>> < List<Vector<A>>
|
||||||
|
%Mit diesen funktioniert die Unifikation in Schritt 4 des Algorithmus nicht korrekt.
|
||||||
|
%Lösung: Man könnte es lösen mit:
|
||||||
|
%typeVarOnly(TP) :- type(TP, _, PN), {notTypeVarOnly(TP, A) : param(TP, A, _), type(A, _, _)} == 0.
|
||||||
|
|
||||||
|
% Die Karthesischen Produkte von Schritt 4 des Unifikationsalgorithmus
|
||||||
|
|
||||||
|
{ makeRule1(A,TP,TPFC, SmallerType) : smaller(SmallerType, TPFC), type(TPFC, TypeName, NumParams) } = 1
|
||||||
|
:- smallerDot(A, TP), type(TP, TypeName, NumParams), typeVar(A).%, smaller(_, TPFC), type(TPFC, TypeName, NumParams).
|
||||||
|
|
||||||
|
%:- makeRule1(A, B, C,_), makeRule1(A,B,D,_), D != C.
|
||||||
|
|
||||||
|
%Alle Greater Arg Paralisten des Typen C generieren
|
||||||
|
greaterArgParaList(pointer(rule1(A, TP)), TPFC) :- makeRule1(A,TP,TPFC,_).
|
||||||
|
|
||||||
|
%Es braucht greaterArg Parameter von allen Parametern des Typs:
|
||||||
|
greaterArg(pointer(P, Param), Param) :- greaterArgParaList(P, FCType), type(FCType, FCTName, FCTPN), param(FCType, Param, Num), not typeVar(Param).
|
||||||
|
|
||||||
|
%Ein neuer Typ muss angelegt werden:
|
||||||
|
type(P, FCTName, FCTPN)
|
||||||
|
:- greaterArgParaList(P, FCType), type(FCType, FCTName, FCTPN).
|
||||||
|
|
||||||
|
param(P, pointer(P, Param), N)
|
||||||
|
:- greaterArgParaList(P, FCType), type(FCType, FCTName, FCTPN)
|
||||||
|
, param(FCType, Param, N), not typeVar(Param)
|
||||||
|
.
|
||||||
|
%Typvariablen bleiben bestehen. Sie werden durch das unify ausgetauscht
|
||||||
|
param(P, Param, N)
|
||||||
|
:- greaterArgParaList(P, FCType), type(FCType, FCTName, FCTPN)
|
||||||
|
, param(FCType, Param, N), typeVar(Param)
|
||||||
|
.
|
||||||
|
|
||||||
|
|
||||||
|
%Die Unifikation vom AusgangsTyp im Constraint und dem greaterArgList gebildeten Typen
|
||||||
|
unify(pointer(rule1unify(A,TP)), pointer(rule1(A,TP)), TP)
|
||||||
|
:- makeRule1(A,TP,TPFC, _).
|
||||||
|
|
||||||
|
%Unify auf den SmallerType anwenden:
|
||||||
|
type(pointer(rule1unify(A,TP,TPFC,SmallerType)), TN, TNum)
|
||||||
|
:- makeRule1(A, TP, TPFC, SmallerType), type(SmallerType, TN, TNum).
|
||||||
|
|
||||||
|
{ param(pointer(rule1unify(A,TP,TPFC,SmallerType)), PNew, PN) : unify(pointer(rule1unify(A,TP)), P, PNew)} == 1
|
||||||
|
:- makeRule1(A, TP, TPFC, SmallerType), param(SmallerType, P, PN).
|
||||||
|
|
||||||
|
%Am Schluss davon noch das smaller bilden:
|
||||||
|
smallerGen(pointer(smallerDot(A,TP), SmallerType), pointer(rule1unify(A,TP,TPFC,SmallerType)))
|
||||||
|
:- makeRule1(A, TP, TPFC, SmallerType), type(TP, TypeName, NumParams) %Die Bedingung für Regel 1
|
||||||
|
.
|
||||||
|
|
||||||
|
smallerGen(A) :- list(smallerGen(A),_).
|
||||||
|
type(A,B,C) :- list(type(A,B,C),_).
|
||||||
|
list(A,B) :- list(_, list(A,B)).
|
||||||
|
|
||||||
|
smallerGen(A,A) :- smallerGen(A).
|
||||||
|
|
||||||
|
{ equals(A, NewType) : smallerGen(pointer(smallerDot(A,TP), SmallerType), NewType) } == 1
|
||||||
|
:- smallerDot(A, TP), type(TP, TypeName, NumParams), typeVar(A) %Das karthesische Produkt
|
||||||
|
, smaller(SmallerType, TPFC), type(pointer(smallerDot(A,TP), SmallerType), _, _)
|
||||||
|
.
|
||||||
|
|
||||||
|
%TODO: Typen welche durch Unifikation ersetzt werden auch zu Constraints machen
|
||||||
|
%%%%%%%%%%%%%%%%%%
|
||||||
|
% Regel 2
|
||||||
|
%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
%{ makeRule2(A, Theta', TPFC) : smaller(SmallerType, TPFC), type(TPFC, TypeName, NumParams) } == 1
|
||||||
|
%:- smallerDotWC(A, Theta'), extendsWildcard(Theta'), typeVar(A).
|
||||||
|
%
|
||||||
|
%%Alle Greater Arg Paralisten des Typen C generieren
|
||||||
|
%greaterArgParaList(pointer(rule2(A, TP)), TPFC) :- makeRule2(A,TP,TPFC,_).
|
||||||
|
%
|
||||||
|
%unify(pointer(rule2(A,TP)), TP)
|
||||||
|
%:- makeRule2(A,TP,TPFC)
|
||||||
|
%% , type(TP, TypeName, NumParams), typeVar(A), type(TPFC, TypeName, NumParams)
|
||||||
|
%.
|
||||||
|
%
|
||||||
|
%{ list(smallerArgGen(pointer(smallerDot(A,TP), SmallerType), SmallerType),
|
||||||
|
%list(extendsWildcard(pointer(smallerDot(A,TP), SmallerType)), null))
|
||||||
|
%: smaller(SmallerType, TPFC), type(SmallerType, SmallerName, SmallerPNum) } == 1
|
||||||
|
%:- makeRule2(A, TP, TPFC) %Die Bedingung für Regel 2
|
||||||
|
%.
|
||||||
|
%
|
||||||
|
%smallerArgGen(A, B) :- list(smallerArgGen(A, B), _).
|
||||||
|
%extendsWildcard(A) :- list(extendsWildcard(A), _).
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Regel 3
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
smallerArgGen(pointer(smallerDotWC(A, Theta')), Theta') :- smallerDotWC(A, Theta'), superWildcard(Theta').
|
||||||
|
equals(A, pointer(smallerDotWC(A, Theta'))) :- smallerDotWC(A, Theta'), superWildcard(Theta').
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Regel 4
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
equals(A, Theta') :- smallerDotWC(A, Theta'), not wildcard(Theta').
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Regel 5
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
greaterGen(pointer(smallerDot(Theta,A)), Theta) :- smallerDot(Theta, A), not wildcard(Theta), not typeVar(Theta), typeVar(A) .
|
||||||
|
equals(A, pointer(smallerDot(Theta,A))) :- smallerDot(Theta, A), not wildcard(Theta) , not typeVar(Theta), typeVar(A) .
|
||||||
|
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Regel 6
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
greaterArgGen(pointer(smallerDotWC(Theta,A)), Theta) :- smallerDotWC(Theta, A), extendsWildcard(Theta) .
|
||||||
|
equals(A, pointer(smallerDot(Theta,A))) :- smallerDotWC(Theta, A), extendsWildcard(Theta) .
|
||||||
|
|
||||||
|
%TODO: Regel 7
|
8
asp/step4.test
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
% Regel 5
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
greaterGen(pointer(smallerDot(Theta,A)), Theta) :- smallerDot(Theta, A), not wildcard(Theta), not typeVar(Theta), typeVar(A) .
|
||||||
|
equals(A, pointer(smallerDot(Theta,A))) :- smallerDot(Theta, A), not wildcard(Theta) , not typeVar(Theta), typeVar(A) .
|
||||||
|
|
||||||
|
|
14
asp/subst.lp
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
subst(TV,T) :- equals(TV, T), not occurs(TV, T), not typeVar(T), typeVar(TV).
|
||||||
|
|
||||||
|
equals(A, pointer(TP, subst(TV, T)))
|
||||||
|
:- equals(A, TP), subst(TV, T), not typeVar(TP), occurs(TV, TP).
|
||||||
|
|
||||||
|
type(pointer(TP, subst(TV, T)), Name, Num)
|
||||||
|
:- type(TP, Name, Num), subst(TV, T), occurs(TV, TP).
|
||||||
|
|
||||||
|
param(pointer(TP, subst(TV, T)), Param, PNum)
|
||||||
|
:- type(pointer(TP, subst(TV, T)), Name, Num), subst(TV, T), param(TP, Param, PNum), not occurs(TV, Param).
|
||||||
|
|
||||||
|
param(pointer(TP, subst(TV, T)), pointer(Param, subst(TV, T)), PNum)
|
||||||
|
:- type(pointer(TP, subst(TV, T)), Name, Num), subst(TV, T), param(TP, Param, PNum), occurs(TV, Param).
|
||||||
|
|
219
asp/testInput.lp
Normal file
@@ -0,0 +1,219 @@
|
|||||||
|
typeVar(a).
|
||||||
|
type(t1, cjava_DOT_util_DOT_Vector, 1).
|
||||||
|
param(t1, t2, 1).
|
||||||
|
type(t2, cjava_DOT_util_DOT_Vector, 1).
|
||||||
|
param(t2, b, 1).
|
||||||
|
typeVar(b).
|
||||||
|
|
||||||
|
smallerDot(a, t1).
|
||||||
|
|
||||||
|
|
||||||
|
typeFC(cBUF,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
paramFC(cBQX,cAKH,1).
|
||||||
|
typeFC(cBRW,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
typeFC(cBRF,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
typeFC(cBTR,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
paramFC(cBTZ,cAKH,1).
|
||||||
|
paramFC(cBUN,cAKH,1).
|
||||||
|
typeFC(cBRY,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
paramFC(cBUE,cBUF,1).
|
||||||
|
paramFC(cBRL,cAKH,1).
|
||||||
|
smaller(cBSB,cBSE).
|
||||||
|
paramFC(cBTR,cBTS,1).
|
||||||
|
smaller(cBQJ,cBQK).
|
||||||
|
typeFC(cBQP,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
typeFC(cBUA,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
typeFC(cBSD,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
typeFC(cBUE,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
typeFC(cBUK,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
paramFC(cBTJ,cAKH,1).
|
||||||
|
typeFC(cBRZ,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
smaller(cBSF,cBSI).
|
||||||
|
typeFC(cBRT,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
paramFC(cBRX,cBRY,1).
|
||||||
|
typeFC(cBRJ,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
paramFC(cBRF,cBRG,1).
|
||||||
|
typeFC(cBQN,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
smaller(cBRL,cBRM).
|
||||||
|
smaller(cBUH,cBUK).
|
||||||
|
smaller(cBTR,cBTU).
|
||||||
|
paramFC(cBUL,cBUM,1).
|
||||||
|
smaller(cBRH,cBRI).
|
||||||
|
typeFC(cBTV,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
typeFC(cBSQ,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
typeFC(cBUL,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
typeFC(cBTX,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
paramFC(cBSN,cAKH,1).
|
||||||
|
typeFC(cBTE,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
paramFC(cBUC,cBUD,1).
|
||||||
|
smaller(cBST,cBSU).
|
||||||
|
paramFC(cBRI,cAKH,1).
|
||||||
|
typeFC(cBSR,cjava_DOT_lang_DOT_Iterable,1).
|
||||||
|
typeFC(cBRC,cjava_DOT_util_DOT_RandomAccess,0).
|
||||||
|
typeFC(cBTL,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
typeFC(cBSF,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
typeFC(cBSX,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
paramFC(cBSI,cBSJ,1).
|
||||||
|
typeFC(cBTH,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
paramFC(cBSV,cAKH,1).
|
||||||
|
paramFC(cBQZ,cBRA,1).
|
||||||
|
paramFC(cBQJ,cAKH,1).
|
||||||
|
smaller(cBRD,cBRE).
|
||||||
|
paramFC(cBRO,cBRP,1).
|
||||||
|
typeFC(cBSI,cjava_DOT_util_DOT_List,1).
|
||||||
|
typeFC(cBQX,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
paramFC(cBUI,cBUJ,1).
|
||||||
|
paramFC(cBQO,cBQP,1).
|
||||||
|
typeFC(cBTA,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
paramFC(cBRJ,cAKH,1).
|
||||||
|
paramFC(cBTV,cBTW,1).
|
||||||
|
typeFC(cBUO,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
typeFC(cBSA,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
smaller(cBUB,cBUE).
|
||||||
|
typeFC(cBUD,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
typeFC(cBQZ,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
smaller(cBTL,cBTO).
|
||||||
|
typeFC(cBTU,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
smaller(cBTZ,cBUA).
|
||||||
|
typeFC(cBRG,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
typeFC(cBSC,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
typeFC(cBSK,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
typeFC(cBST,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
paramFC(cBSY,cBSZ,1).
|
||||||
|
typeFC(cBTW,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
typeFC(cBQW,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
smaller(cBSP,cBSQ).
|
||||||
|
paramFC(cBSG,cBSH,1).
|
||||||
|
smaller(cBTD,cBTG).
|
||||||
|
typeFC(cBUG,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
typeFC(cBSW,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
paramFC(cBTD,cBTE,1).
|
||||||
|
paramFC(cBSX,cBSY,1).
|
||||||
|
paramFC(cBQM,cBQN,1).
|
||||||
|
typeFC(cBRH,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
smaller(cBSN,cBSO).
|
||||||
|
paramFC(cBQK,cAKH,1).
|
||||||
|
typeFC(cBTM,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
paramFC(cBTU,cBTV,1).
|
||||||
|
typeFC(cBQM,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
typeFC(cBRA,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
smaller(cBSV,cBSW).
|
||||||
|
typeFC(cBSO,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
typeFC(cBSZ,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
typeFC(cBQL,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
paramFC(cBSL,cAKH,1).
|
||||||
|
typeFC(cBRB,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
typeFC(cBSY,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
paramFC(cBUH,cBUI,1).
|
||||||
|
paramFC(cBTH,cAKH,1).
|
||||||
|
typeFC(cBTN,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
smaller(cBRJ,cBRK).
|
||||||
|
typeFC(cBRP,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
typeFC(cBUH,cjava_DOT_util_DOT_List,1).
|
||||||
|
paramFC(cBRE,cBRF,1).
|
||||||
|
typeFC(cBQR,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
typeFC(cBTY,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
paramFC(cBQS,cBQT,1).
|
||||||
|
typeFC(cBTI,cjava_DOT_lang_DOT_Iterable,1).
|
||||||
|
typeFC(cBUC,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
paramFC(cBSB,cBSC,1).
|
||||||
|
typeFC(cBQS,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
smaller(cBQR,cBQU).
|
||||||
|
paramFC(cBTE,cBTF,1).
|
||||||
|
paramFC(cBUB,cBUC,1).
|
||||||
|
typeFC(cBRO,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
paramFC(cBST,cAKH,1).
|
||||||
|
typeFC(cBQO,cjava_DOT_util_DOT_List,1).
|
||||||
|
typeFC(cBRE,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
typeFC(cBQY,cjava_DOT_io_DOT_Serializable,0).
|
||||||
|
typeFC(cBTQ,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
smaller(cBSX,cBTA).
|
||||||
|
typeFC(cBRN,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
typeVar(cAKH).
|
||||||
|
paramFC(cBRH,cAKH,1).
|
||||||
|
paramFC(cBQP,cBQQ,1).
|
||||||
|
typeFC(cBSE,cjava_DOT_io_DOT_Serializable,0).
|
||||||
|
smaller(cBTP,cBTQ).
|
||||||
|
paramFC(cBRN,cBRO,1).
|
||||||
|
typeFC(cBUI,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
typeFC(cBRV,cjava_DOT_io_DOT_Serializable,0).
|
||||||
|
typeFC(cBSJ,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
typeFC(cBTK,cjava_DOT_util_DOT_RandomAccess,0).
|
||||||
|
paramFC(cBSJ,cBSK,1).
|
||||||
|
typeFC(cBQK,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
smaller(cBUN,cBUO).
|
||||||
|
typeFC(cBUB,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
paramFC(cBSR,cAKH,1).
|
||||||
|
paramFC(cBSC,cBSD,1).
|
||||||
|
paramFC(cBRA,cBRB,1).
|
||||||
|
paramFC(cBRM,cAKH,1).
|
||||||
|
paramFC(cBQR,cBQS,1).
|
||||||
|
typeFC(cBSM,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
smaller(cBTH,cBTI).
|
||||||
|
paramFC(cBTA,cBTB,1).
|
||||||
|
smaller(cBQL,cBQO).
|
||||||
|
typeFC(cBTB,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
paramFC(cBUF,cBUG,1).
|
||||||
|
paramFC(cBQL,cBQM,1).
|
||||||
|
smaller(cBRN,cBRQ).
|
||||||
|
smaller(cBRR,cBRU).
|
||||||
|
smaller(cBQX,cBQY).
|
||||||
|
typeFC(cBRM,cjava_DOT_util_DOT_List,1).
|
||||||
|
typeFC(cBTZ,cjava_DOT_util_DOT_List,1).
|
||||||
|
paramFC(cBTL,cBTM,1).
|
||||||
|
typeFC(cBRI,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
typeFC(cBRK,cjava_DOT_lang_DOT_Cloneable,0).
|
||||||
|
typeFC(cBTS,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
typeFC(cBUN,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
paramFC(cBRR,cBRS,1).
|
||||||
|
smaller(cBQZ,cBRC).
|
||||||
|
smaller(cBRV,cBRW).
|
||||||
|
smaller(cBSL,cBSM).
|
||||||
|
typeFC(cBSB,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
typeFC(cBSN,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
typeFC(cBTF,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
typeFC(cBTG,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
paramFC(cBTI,cAKH,1).
|
||||||
|
typeFC(cBSH,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
paramFC(cBTM,cBTN,1).
|
||||||
|
paramFC(cBSM,cAKH,1).
|
||||||
|
typeFC(cBTD,cjava_DOT_util_DOT_List,1).
|
||||||
|
typeFC(cBTJ,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
typeFC(cBQJ,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
typeFC(cBQU,cjava_DOT_lang_DOT_Iterable,1).
|
||||||
|
paramFC(cBSF,cBSG,1).
|
||||||
|
typeFC(cBTC,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
paramFC(cBQU,cBQV,1).
|
||||||
|
typeFC(cBTT,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
paramFC(cBUK,cBUL,1).
|
||||||
|
paramFC(cBUA,cAKH,1).
|
||||||
|
typeFC(cBUM,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
typeFC(cBQT,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
typeFC(cBSL,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
smaller(cBSR,cBSS).
|
||||||
|
typeFC(cBUJ,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
typeFC(cBQQ,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
typeFC(cBRD,casp_DOT_UnifyWithoutWildcards_DOLLAR_MatrixTest,0).
|
||||||
|
paramFC(cBSU,cAKH,1).
|
||||||
|
typeFC(cBSU,cjava_DOT_util_DOT_List,1).
|
||||||
|
typeFC(cBTP,cjava_DOT_util_DOT_RandomAccess,0).
|
||||||
|
typeFC(cBRQ,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
typeFC(cBRX,cjava_DOT_lang_DOT_Iterable,1).
|
||||||
|
typeFC(cBQV,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
typeFC(cBSG,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
paramFC(cBRY,cBRZ,1).
|
||||||
|
typeFC(cBSV,cjava_DOT_util_DOT_List,1).
|
||||||
|
smaller(cBRX,cBSA).
|
||||||
|
typeFC(cBRS,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
typeFC(cBRL,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
typeFC(cBRR,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
smaller(cBTJ,cBTK).
|
||||||
|
typeFC(cBRU,cjava_DOT_lang_DOT_Cloneable,0).
|
||||||
|
paramFC(cBRS,cBRT,1).
|
||||||
|
paramFC(cBTB,cBTC,1).
|
||||||
|
paramFC(cBTS,cBTT,1).
|
||||||
|
typeFC(cBSP,cjava_DOT_lang_DOT_Cloneable,0).
|
||||||
|
smaller(cBTX,cBTY).
|
||||||
|
paramFC(cBQV,cBQW,1).
|
||||||
|
typeFC(cBSS,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
typeFC(cBTO,cjava_DOT_lang_DOT_Object,0).
|
28
asp/testReduce.lp
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
equals(t1, t2). % Map<Object, Integer> =. Map<Integer, Object>
|
||||||
|
%smallerDot(t2, t1).
|
||||||
|
|
||||||
|
type(t1, cMap, 2).
|
||||||
|
type(t2, cMap, 2).
|
||||||
|
%type(t2, cHashMap, 2).
|
||||||
|
param(t1, t3, 1).
|
||||||
|
param(t1, t4, 2).
|
||||||
|
param(t2, t6, 1).
|
||||||
|
param(t2, t5, 2).
|
||||||
|
|
||||||
|
type(t3, cObject, 0).
|
||||||
|
type(t5, cInteger, 0).
|
||||||
|
typeVar(t4).
|
||||||
|
typeVar(t6).
|
||||||
|
|
||||||
|
type(tfc1, cMap, 2).
|
||||||
|
type(tfc2, cHashMap, 2).
|
||||||
|
param(tfc1, gA, 1).
|
||||||
|
param(tfc1, gB, 2).
|
||||||
|
param(tfc2, gB, 1).
|
||||||
|
param(tfc2, gA, 2).
|
||||||
|
typeVar(gA).
|
||||||
|
typeVar(gB).
|
||||||
|
smaller(tfc2, tfc1).
|
||||||
|
smaller(tfc1, tfc1).
|
||||||
|
|
||||||
|
#show equals/2.
|
12
asp/testUnifikation.lp
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
type(t1, cjava_DOT_util_DOT_Vector, 1).
|
||||||
|
param(t1, t2, 1).
|
||||||
|
type(t2, cjava_DOT_util_DOT_Vector, 1).
|
||||||
|
param(t2, b, 1).
|
||||||
|
typeVar(b).
|
||||||
|
type(t3, cjava_DOT_util_DOT_Vector, 1).
|
||||||
|
param(t3, a, 1).
|
||||||
|
typeVar(a).
|
||||||
|
|
||||||
|
unify(p, t1, t3).
|
||||||
|
|
||||||
|
#show unify/3.
|
23
asp/unifikation.lp
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
|
||||||
|
%reduce:
|
||||||
|
unify(Pointer, Param1, Param2)
|
||||||
|
:- unify(Pointer, T1, T2), type(T1, TName, Num), type(T2, TName, Num)
|
||||||
|
, param(T1, Param1, PNum), param(T2, Param2, PNum)
|
||||||
|
.
|
||||||
|
|
||||||
|
%Ich lasse das Subst hier aus. Vector Beispiel funktioniert womöglich auch ohne
|
||||||
|
|
||||||
|
%swap:
|
||||||
|
unify(Pointer, B, A) :- unify(Pointer, A, B).
|
||||||
|
|
||||||
|
%Subst neu implementieren.
|
||||||
|
%Subst muss von hinten nach vorne durchgehen.
|
||||||
|
%Mit occurs kann man prüfen, welche unify(P, A, B) ausgetauscht werden müssen
|
||||||
|
|
||||||
|
%Diese Fälle dürfen nicht auftreten:
|
||||||
|
%TODO (möglicherweise braucht man sie nicht; Die Unifikation geht hier nie schief)
|
||||||
|
|
||||||
|
%Occurs Regeln:
|
||||||
|
occurs(A, A) :- typeVar(A).
|
||||||
|
occurs(A, T) :- type(T, _,_), param(T, B, _), occurs(A, B).
|
||||||
|
|
40
asp/unifikation.lp.backup
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
|
||||||
|
%reduce:
|
||||||
|
unify(Pointer, Param1, Param2)
|
||||||
|
:- unify(Pointer, T1, T2), type(T1, TName, Num), type(T2, TName, Num)
|
||||||
|
, param(T1, Param1, PNum), param(T2, Param2, PNum)
|
||||||
|
.
|
||||||
|
|
||||||
|
%swap:
|
||||||
|
unify(Pointer, B, A) :- unify(Pointer, A, B).
|
||||||
|
|
||||||
|
%subst:
|
||||||
|
%Neuen Typ erstellen, in diesem werden dann die TPHs ersetzt:
|
||||||
|
type(pointer(unify(Pointer, A, B, E)), Name, Num)
|
||||||
|
:- unify(Pointer, A, B), typeVar(A), not occurs(A, B), type(E, Name, Num)
|
||||||
|
,param(E, Param, _), occurs(A, Param), Param != A.
|
||||||
|
|
||||||
|
param(pointer(unify(Pointer, A, B, E)), pointer(unify(Pointer, A, B, Param)), ParamNum)
|
||||||
|
:- unify(Pointer, A, B), typeVar(A), not occurs(A, B), type(E, Name, Num)
|
||||||
|
,param(E, Param, ParamNum), occurs(A, Param), Param != A.
|
||||||
|
|
||||||
|
param(pointer(unify(Pointer, A, B, E)), B, ParamNum)
|
||||||
|
:- unify(Pointer, A, B), typeVar(A), not occurs(A, B), type(E, Name, Num)
|
||||||
|
,param(E, A, ParamNum).
|
||||||
|
|
||||||
|
param(pointer(unify(Pointer, A, B, E)), Param, ParamNum)
|
||||||
|
:- unify(Pointer, A, B), typeVar(A), not occurs(A, B), type(E, Name, Num)
|
||||||
|
,param(E, Param, ParamNum), not occurs(A, Param).
|
||||||
|
|
||||||
|
|
||||||
|
%Subst neu implementieren.
|
||||||
|
%Subst muss von hinten nach vorne durchgehen.
|
||||||
|
%Mit occurs kann man prüfen, welche unify(P, A, B) ausgetauscht werden müssen
|
||||||
|
|
||||||
|
%Diese Fälle dürfen nicht auftreten:
|
||||||
|
%TODO (möglicherweise braucht man sie nicht; Die Unifikation geht hier nie schief)
|
||||||
|
|
||||||
|
%Occurs Regeln:
|
||||||
|
occurs(A, A) :- typeVar(A).
|
||||||
|
occurs(A, T) :- type(T, _,_), param(T, B, _), occurs(A, B).
|
||||||
|
|
95
asp/vectorTestInput.lp
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
|
||||||
|
%#show smallerGen/2.
|
||||||
|
%#show smallerGen/4.
|
||||||
|
|
||||||
|
typeVar(cZW).
|
||||||
|
smallerDot(cN,cK).
|
||||||
|
smaller(cBHW,cBHX).
|
||||||
|
param(cBHW,cZW,1).
|
||||||
|
type(cBHO,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
smaller(cBIM,cBIN).
|
||||||
|
type(cBIQ,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
type(cBIB,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
type(cBIC,cjava_DOT_util_DOT_List,1).
|
||||||
|
type(cBHN,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
param(cBHS,cZW,1).
|
||||||
|
param(cBHT,cZW,1).
|
||||||
|
param(cBHU,cZW,1).
|
||||||
|
param(cBHV,cZW,1).
|
||||||
|
smaller(cBHY,cBHZ).
|
||||||
|
type(cBIA,cjava_DOT_lang_DOT_Cloneable,0).
|
||||||
|
type(cBIV,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
typeVar(cK).
|
||||||
|
smaller(cBHU,cBHV).
|
||||||
|
smallerDot(cL,cBIY).
|
||||||
|
type(cBIM,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
smaller(cBIK,cBIL).
|
||||||
|
type(cBIL,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
type(cBIE,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
type(cBII,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
param(cBIY,cLL,1).
|
||||||
|
type(cBHZ,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
typeVar(cLL).
|
||||||
|
type(cBIR,cjava_DOT_util_DOT_List,1).
|
||||||
|
param(cBID,cZW,1).
|
||||||
|
type(cBHY,cMyVector,0).
|
||||||
|
smaller(cBII,cBIJ).
|
||||||
|
param(cBIF,cZW,1).
|
||||||
|
type(cBIG,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
type(cBHT,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
type(cBIT,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
param(cBHQ,cZW,1).
|
||||||
|
smaller(cBIE,cBIF).
|
||||||
|
typeVar(cL).
|
||||||
|
param(cBHO,cZW,1).
|
||||||
|
type(cBHM,cjava_DOT_io_DOT_Serializable,0).
|
||||||
|
type(cBIK,cjava_DOT_util_DOT_RandomAccess,0).
|
||||||
|
type(cBIJ,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
type(cBIO,cjava_DOT_util_DOT_AbstractCollection,1).
|
||||||
|
type(cBIZ,cjava_DOT_lang_DOT_Integer,0).
|
||||||
|
type(cBHX,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
type(cBIS,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
smaller(cBIG,cBIH).
|
||||||
|
param(cBIW,cZW,1).
|
||||||
|
smaller(cBIW,cBIX).
|
||||||
|
smaller(cBHM,cBHN).
|
||||||
|
smaller(cBIC,cBID).
|
||||||
|
type(cBHP,cjava_DOT_util_DOT_RandomAccess,0).
|
||||||
|
param(cBIS,cZW,1).
|
||||||
|
param(cBIQ,cZW,1).
|
||||||
|
param(cBIU,cZW,1).
|
||||||
|
param(cBIR,cZW,1).
|
||||||
|
param(cBIT,cZW,1).
|
||||||
|
smaller(cBHO,cBHP).
|
||||||
|
param(cBIP,cZW,1).
|
||||||
|
type(cBIH,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
typeVar(cM).
|
||||||
|
type(cBIU,cjava_DOT_lang_DOT_Iterable,1).
|
||||||
|
type(cBHR,cjava_DOT_lang_DOT_Cloneable,0).
|
||||||
|
type(cBIF,cjava_DOT_util_DOT_List,1).
|
||||||
|
smaller(cBIU,cBIV).
|
||||||
|
type(cBHV,cjava_DOT_lang_DOT_Iterable,1).
|
||||||
|
smaller(cBIA,cBIB).
|
||||||
|
equals(cLL,cN).
|
||||||
|
type(cBIP,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
type(cBHS,cjava_DOT_util_DOT_AbstractList,1).
|
||||||
|
type(cBIN,cjava_DOT_lang_DOT_Object,0).
|
||||||
|
smaller(cBHS,cBHT).
|
||||||
|
param(cBIE,cZW,1).
|
||||||
|
smaller(cBIS,cBIT).
|
||||||
|
param(cBIC,cZW,1).
|
||||||
|
param(cBIG,cZW,1).
|
||||||
|
param(cBII,cZW,1).
|
||||||
|
type(cBID,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
param(cBIO,cZW,1).
|
||||||
|
type(cBIW,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
smallerDot(cM,cBIZ).
|
||||||
|
smaller(cBIO,cBIP).
|
||||||
|
type(cBIY,cjava_DOT_util_DOT_Vector,1).
|
||||||
|
typeVar(cN).
|
||||||
|
type(cBHW,cjava_DOT_util_DOT_List,1).
|
||||||
|
type(cBHU,cjava_DOT_util_DOT_Collection,1).
|
||||||
|
type(cBIX,cjava_DOT_io_DOT_Serializable,0).
|
||||||
|
smaller(cBHQ,cBHR).
|
||||||
|
smaller(cBIQ,cBIR).
|
||||||
|
type(cBHQ,cjava_DOT_util_DOT_Vector,1).
|
@@ -1,25 +0,0 @@
|
|||||||
\documentclass{article}
|
|
||||||
|
|
||||||
\begin{document}
|
|
||||||
|
|
||||||
\section{Generics sind notwendig}
|
|
||||||
Generics können nicht ignoriert werden.
|
|
||||||
Folgender Fall ist Typisierbar:
|
|
||||||
|
|
||||||
\begin{program}
|
|
||||||
<T> T m1(T x){
|
|
||||||
return m2(x);
|
|
||||||
}
|
|
||||||
|
|
||||||
m2(x){
|
|
||||||
m1(1);
|
|
||||||
m2("Test");
|
|
||||||
return m1(x);
|
|
||||||
}
|
|
||||||
\end{program}
|
|
||||||
|
|
||||||
Beim weglassen des Generics T wäre es aber nicht mehr möglich.
|
|
||||||
Dann erhält jeder Constraint, welcher in Verbindung mit der Methode m1 steht
|
|
||||||
den selben TPH.
|
|
||||||
|
|
||||||
\end{document}
|
|
@@ -1 +1 @@
|
|||||||
|
|
||||||
|
@@ -1,29 +1,29 @@
|
|||||||
/* Javadoc style sheet */
|
/* Javadoc style sheet */
|
||||||
|
|
||||||
/* Define colors, fonts and other style attributes here to override the defaults */
|
/* Define colors, fonts and other style attributes here to override the defaults */
|
||||||
|
|
||||||
/* Page background color */
|
/* Page background color */
|
||||||
body { background-color: #FFFFFF }
|
body { background-color: #FFFFFF }
|
||||||
|
|
||||||
/* Table colors */
|
/* Table colors */
|
||||||
.TableHeadingColor { background: #CCCCFF } /* Dark mauve */
|
.TableHeadingColor { background: #CCCCFF } /* Dark mauve */
|
||||||
.TableSubHeadingColor { background: #EEEEFF } /* Light mauve */
|
.TableSubHeadingColor { background: #EEEEFF } /* Light mauve */
|
||||||
.TableRowColor { background: #FFFFFF } /* White */
|
.TableRowColor { background: #FFFFFF } /* White */
|
||||||
|
|
||||||
/* Font used in left-hand frame lists */
|
/* Font used in left-hand frame lists */
|
||||||
.FrameTitleFont { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
|
.FrameTitleFont { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
|
||||||
.FrameHeadingFont { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
|
.FrameHeadingFont { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
|
||||||
.FrameItemFont { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
|
.FrameItemFont { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
|
||||||
|
|
||||||
/* Example of smaller, sans-serif font in frames */
|
/* Example of smaller, sans-serif font in frames */
|
||||||
/* .FrameItemFont { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */
|
/* .FrameItemFont { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */
|
||||||
|
|
||||||
/* Navigation bar fonts and colors */
|
/* Navigation bar fonts and colors */
|
||||||
.NavBarCell1 { background-color:#EEEEFF;}/* Light mauve */
|
.NavBarCell1 { background-color:#EEEEFF;}/* Light mauve */
|
||||||
.NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */
|
.NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */
|
||||||
.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;}
|
.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;}
|
||||||
.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
|
.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
|
||||||
|
|
||||||
.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
|
.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
|
||||||
.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
|
.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
|
||||||
|
|
||||||
|
@@ -1,220 +1,220 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<editmodel:ClassDiagramEditModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:editmodel="editmodel.xmi" id="kirschmshsCompiler0" metadata="nsuml-1.4" initialized="true" showWireOptions="1">
|
<editmodel:ClassDiagramEditModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:editmodel="editmodel.xmi" id="kirschmshsCompiler0" metadata="nsuml-1.4" initialized="true" showWireOptions="1">
|
||||||
<children xsi:type="editmodel:ClassEditModel" location="448,178" size="371,67" targetConnections="//@children.11/@sourceConnections.0" id="kirschmshsCompiler761" runTimeClassModel="kirschmshsCompiler860">
|
<children xsi:type="editmodel:ClassEditModel" location="448,178" size="371,67" targetConnections="//@children.11/@sourceConnections.0" id="kirschmshsCompiler761" runTimeClassModel="kirschmshsCompiler860">
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel" size="348,18">
|
<children xsi:type="editmodel:CompartmentEditModel" size="348,18">
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler860"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler860"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.14/@sourceConnections.0 //@children.15/@sourceConnections.0 //@children.9/@sourceConnections.0" id="kirschmshsCompiler762" connectionRouterKind="GeneralizationManhattan" source="//@children.0" target="//@children.16" targetEnd="//@children.0/@sourceConnections.0/@children.1" sourceEnd="//@children.0/@sourceConnections.0/@children.0">
|
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.14/@sourceConnections.0 //@children.15/@sourceConnections.0 //@children.9/@sourceConnections.0" id="kirschmshsCompiler762" connectionRouterKind="GeneralizationManhattan" source="//@children.0" target="//@children.16" targetEnd="//@children.0/@sourceConnections.0/@children.1" sourceEnd="//@children.0/@sourceConnections.0/@children.0">
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="185,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="185,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="201,67" anchorKind="FixedAtEdge"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="201,67" anchorKind="FixedAtEdge"/>
|
||||||
</sourceConnections>
|
</sourceConnections>
|
||||||
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:ClassEditModel" location="914,555" size="403,85" id="kirschmshsCompiler873" runTimeClassModel="kirschmshsCompiler881;kirschmshsCompiler874">
|
<children xsi:type="editmodel:ClassEditModel" location="914,555" size="403,85" id="kirschmshsCompiler873" runTimeClassModel="kirschmshsCompiler881;kirschmshsCompiler874">
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel" size="380,36">
|
<children xsi:type="editmodel:CompartmentEditModel" size="380,36">
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler874"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler874"/>
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler881"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler881"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.1" target="//@children.11/@sourceConnections.0" targetEnd="//@children.1/@sourceConnections.0/@children.1" sourceEnd="//@children.1/@sourceConnections.0/@children.0">
|
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.1" target="//@children.11/@sourceConnections.0" targetEnd="//@children.1/@sourceConnections.0/@children.1" sourceEnd="//@children.1/@sourceConnections.0/@children.0">
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
||||||
</sourceConnections>
|
</sourceConnections>
|
||||||
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:ClassEditModel" location="484,554" size="403,85" id="kirschmshsCompiler985" runTimeClassModel="kirschmshsCompiler993;kirschmshsCompiler986">
|
<children xsi:type="editmodel:ClassEditModel" location="484,554" size="403,85" id="kirschmshsCompiler985" runTimeClassModel="kirschmshsCompiler993;kirschmshsCompiler986">
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel" size="380,36">
|
<children xsi:type="editmodel:CompartmentEditModel" size="380,36">
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler986"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler986"/>
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler993"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler993"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.2" target="//@children.11/@sourceConnections.0" targetEnd="//@children.2/@sourceConnections.0/@children.1" sourceEnd="//@children.2/@sourceConnections.0/@children.0">
|
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.2" target="//@children.11/@sourceConnections.0" targetEnd="//@children.2/@sourceConnections.0/@children.1" sourceEnd="//@children.2/@sourceConnections.0/@children.0">
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
||||||
</sourceConnections>
|
</sourceConnections>
|
||||||
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:ClassEditModel" location="1345,559" size="403,85" id="kirschmshsCompiler1012" runTimeClassModel="kirschmshsCompiler1013;kirschmshsCompiler1020">
|
<children xsi:type="editmodel:ClassEditModel" location="1345,559" size="403,85" id="kirschmshsCompiler1012" runTimeClassModel="kirschmshsCompiler1013;kirschmshsCompiler1020">
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel" size="380,36">
|
<children xsi:type="editmodel:CompartmentEditModel" size="380,36">
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler1013"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler1013"/>
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler1020"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler1020"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.3" target="//@children.11/@sourceConnections.0" targetEnd="//@children.3/@sourceConnections.0/@children.1" sourceEnd="//@children.3/@sourceConnections.0/@children.0">
|
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.3" target="//@children.11/@sourceConnections.0" targetEnd="//@children.3/@sourceConnections.0/@children.1" sourceEnd="//@children.3/@sourceConnections.0/@children.0">
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
||||||
</sourceConnections>
|
</sourceConnections>
|
||||||
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:ClassEditModel" location="3194,502" size="403,67" id="kirschmshsCompiler670" runTimeClassModel="kirschmshsCompiler671">
|
<children xsi:type="editmodel:ClassEditModel" location="3194,502" size="403,67" id="kirschmshsCompiler670" runTimeClassModel="kirschmshsCompiler671">
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel" size="380,18">
|
<children xsi:type="editmodel:CompartmentEditModel" size="380,18">
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler671"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler671"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.4" target="//@children.13/@sourceConnections.0" targetEnd="//@children.4/@sourceConnections.0/@children.1" sourceEnd="//@children.4/@sourceConnections.0/@children.0">
|
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.4" target="//@children.13/@sourceConnections.0" targetEnd="//@children.4/@sourceConnections.0/@children.1" sourceEnd="//@children.4/@sourceConnections.0/@children.0">
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
||||||
</sourceConnections>
|
</sourceConnections>
|
||||||
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:ClassEditModel" location="1365,425" size="76,29" id="kirschmshsCompiler765" runTimeClassModel="">
|
<children xsi:type="editmodel:ClassEditModel" location="1365,425" size="76,29" id="kirschmshsCompiler765" runTimeClassModel="">
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" id="kirschmshsCompiler766" connectionRouterKind="Manual" source="//@children.5" target="//@children.6/@sourceConnections.0" targetEnd="//@children.5/@sourceConnections.0/@children.1" sourceEnd="//@children.5/@sourceConnections.0/@children.0">
|
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" id="kirschmshsCompiler766" connectionRouterKind="Manual" source="//@children.5" target="//@children.6/@sourceConnections.0" targetEnd="//@children.5/@sourceConnections.0/@children.1" sourceEnd="//@children.5/@sourceConnections.0/@children.0">
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="38,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="38,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
||||||
</sourceConnections>
|
</sourceConnections>
|
||||||
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:ClassEditModel" location="963,417" size="86,29" id="kirschmshsCompiler783" runTimeClassModel="">
|
<children xsi:type="editmodel:ClassEditModel" location="963,417" size="86,29" id="kirschmshsCompiler783" runTimeClassModel="">
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.5/@sourceConnections.0" id="kirschmshsCompiler784" connectionRouterKind="GeneralizationManhattan" source="//@children.6" target="//@children.15" targetEnd="//@children.6/@sourceConnections.0/@children.1" sourceEnd="//@children.6/@sourceConnections.0/@children.0">
|
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.5/@sourceConnections.0" id="kirschmshsCompiler784" connectionRouterKind="GeneralizationManhattan" source="//@children.6" target="//@children.15" targetEnd="//@children.6/@sourceConnections.0/@children.1" sourceEnd="//@children.6/@sourceConnections.0/@children.0">
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="43,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="43,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="272,139" anchorKind="FixedAtEdge"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="272,139" anchorKind="FixedAtEdge"/>
|
||||||
</sourceConnections>
|
</sourceConnections>
|
||||||
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:ClassEditModel" location="2069,372" size="403,67" id="kirschmshsCompiler841" runTimeClassModel="kirschmshsCompiler842">
|
<children xsi:type="editmodel:ClassEditModel" location="2069,372" size="403,67" id="kirschmshsCompiler841" runTimeClassModel="kirschmshsCompiler842">
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel" size="380,18">
|
<children xsi:type="editmodel:CompartmentEditModel" size="380,18">
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler842"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler842"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.7" target="//@children.12/@sourceConnections.0" targetEnd="//@children.7/@sourceConnections.0/@children.1" sourceEnd="//@children.7/@sourceConnections.0/@children.0">
|
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.7" target="//@children.12/@sourceConnections.0" targetEnd="//@children.7/@sourceConnections.0/@children.1" sourceEnd="//@children.7/@sourceConnections.0/@children.0">
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
||||||
</sourceConnections>
|
</sourceConnections>
|
||||||
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:ClassEditModel" location="2227,562" size="403,85" id="kirschmshsCompiler904" runTimeClassModel="kirschmshsCompiler905;kirschmshsCompiler912">
|
<children xsi:type="editmodel:ClassEditModel" location="2227,562" size="403,85" id="kirschmshsCompiler904" runTimeClassModel="kirschmshsCompiler905;kirschmshsCompiler912">
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel" size="380,36">
|
<children xsi:type="editmodel:CompartmentEditModel" size="380,36">
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler905"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler905"/>
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler912"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler912"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.8" target="//@children.11/@sourceConnections.0" targetEnd="//@children.8/@sourceConnections.0/@children.1" sourceEnd="//@children.8/@sourceConnections.0/@children.0">
|
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.8" target="//@children.11/@sourceConnections.0" targetEnd="//@children.8/@sourceConnections.0/@children.1" sourceEnd="//@children.8/@sourceConnections.0/@children.0">
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
||||||
</sourceConnections>
|
</sourceConnections>
|
||||||
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:ClassEditModel" location="2965,229" size="403,67" targetConnections="//@children.13/@sourceConnections.0" id="kirschmshsCompiler653" runTimeClassModel="kirschmshsCompiler654">
|
<children xsi:type="editmodel:ClassEditModel" location="2965,229" size="403,67" targetConnections="//@children.13/@sourceConnections.0" id="kirschmshsCompiler653" runTimeClassModel="kirschmshsCompiler654">
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel" size="380,18">
|
<children xsi:type="editmodel:CompartmentEditModel" size="380,18">
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler654"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler654"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.9" target="//@children.0/@sourceConnections.0" targetEnd="//@children.9/@sourceConnections.0/@children.1" sourceEnd="//@children.9/@sourceConnections.0/@children.0">
|
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.9" target="//@children.0/@sourceConnections.0" targetEnd="//@children.9/@sourceConnections.0/@children.1" sourceEnd="//@children.9/@sourceConnections.0/@children.0">
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
||||||
</sourceConnections>
|
</sourceConnections>
|
||||||
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:ClassEditModel" location="2502,372" size="403,67" id="kirschmshsCompiler822" runTimeClassModel="kirschmshsCompiler823">
|
<children xsi:type="editmodel:ClassEditModel" location="2502,372" size="403,67" id="kirschmshsCompiler822" runTimeClassModel="kirschmshsCompiler823">
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel" size="380,18">
|
<children xsi:type="editmodel:CompartmentEditModel" size="380,18">
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler823"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler823"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.10" target="//@children.12/@sourceConnections.0" targetEnd="//@children.10/@sourceConnections.0/@children.1" sourceEnd="//@children.10/@sourceConnections.0/@children.0">
|
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.10" target="//@children.12/@sourceConnections.0" targetEnd="//@children.10/@sourceConnections.0/@children.1" sourceEnd="//@children.10/@sourceConnections.0/@children.0">
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
||||||
</sourceConnections>
|
</sourceConnections>
|
||||||
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:ClassEditModel" location="45,553" size="403,85" id="kirschmshsCompiler931" runTimeClassModel="kirschmshsCompiler939;kirschmshsCompiler932">
|
<children xsi:type="editmodel:ClassEditModel" location="45,553" size="403,85" id="kirschmshsCompiler931" runTimeClassModel="kirschmshsCompiler939;kirschmshsCompiler932">
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel" size="380,36">
|
<children xsi:type="editmodel:CompartmentEditModel" size="380,36">
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler932"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler932"/>
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler939"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler939"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.2/@sourceConnections.0 //@children.1/@sourceConnections.0 //@children.3/@sourceConnections.0 //@children.17/@sourceConnections.0 //@children.8/@sourceConnections.0" connectionRouterKind="GeneralizationManhattan" source="//@children.11" target="//@children.0" targetEnd="//@children.11/@sourceConnections.0/@children.1" sourceEnd="//@children.11/@sourceConnections.0/@children.0">
|
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.2/@sourceConnections.0 //@children.1/@sourceConnections.0 //@children.3/@sourceConnections.0 //@children.17/@sourceConnections.0 //@children.8/@sourceConnections.0" connectionRouterKind="GeneralizationManhattan" source="//@children.11" target="//@children.0" targetEnd="//@children.11/@sourceConnections.0/@children.1" sourceEnd="//@children.11/@sourceConnections.0/@children.0">
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="185,67" anchorKind="FixedAtEdge"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="185,67" anchorKind="FixedAtEdge"/>
|
||||||
</sourceConnections>
|
</sourceConnections>
|
||||||
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:ClassEditModel" location="1636,372" size="403,67" id="kirschmshsCompiler803" runTimeClassModel="kirschmshsCompiler804">
|
<children xsi:type="editmodel:ClassEditModel" location="1636,372" size="403,67" id="kirschmshsCompiler803" runTimeClassModel="kirschmshsCompiler804">
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel" size="380,18">
|
<children xsi:type="editmodel:CompartmentEditModel" size="380,18">
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler804"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler804"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.7/@sourceConnections.0 //@children.10/@sourceConnections.0" connectionRouterKind="GeneralizationManhattan" source="//@children.12" target="//@children.14" targetEnd="//@children.12/@sourceConnections.0/@children.1" sourceEnd="//@children.12/@sourceConnections.0/@children.0">
|
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.7/@sourceConnections.0 //@children.10/@sourceConnections.0" connectionRouterKind="GeneralizationManhattan" source="//@children.12" target="//@children.14" targetEnd="//@children.12/@sourceConnections.0/@children.1" sourceEnd="//@children.12/@sourceConnections.0/@children.0">
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="42,29" anchorKind="FixedAtEdge"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="42,29" anchorKind="FixedAtEdge"/>
|
||||||
</sourceConnections>
|
</sourceConnections>
|
||||||
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:ClassEditModel" location="2715,508" size="403,67" id="kirschmshsCompiler692" runTimeClassModel="kirschmshsCompiler693">
|
<children xsi:type="editmodel:ClassEditModel" location="2715,508" size="403,67" id="kirschmshsCompiler692" runTimeClassModel="kirschmshsCompiler693">
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel" size="380,18">
|
<children xsi:type="editmodel:CompartmentEditModel" size="380,18">
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler693"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler693"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.4/@sourceConnections.0" connectionRouterKind="GeneralizationManhattan" source="//@children.13" target="//@children.9" targetEnd="//@children.13/@sourceConnections.0/@children.1" sourceEnd="//@children.13/@sourceConnections.0/@children.0">
|
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.4/@sourceConnections.0" connectionRouterKind="GeneralizationManhattan" source="//@children.13" target="//@children.9" targetEnd="//@children.13/@sourceConnections.0/@children.1" sourceEnd="//@children.13/@sourceConnections.0/@children.0">
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="201,67" anchorKind="FixedAtEdge"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="201,67" anchorKind="FixedAtEdge"/>
|
||||||
</sourceConnections>
|
</sourceConnections>
|
||||||
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:ClassEditModel" location="2223,234" size="84,29" targetConnections="//@children.12/@sourceConnections.0" id="kirschmshsCompiler801" runTimeClassModel="">
|
<children xsi:type="editmodel:ClassEditModel" location="2223,234" size="84,29" targetConnections="//@children.12/@sourceConnections.0" id="kirschmshsCompiler801" runTimeClassModel="">
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.14" target="//@children.0/@sourceConnections.0" targetEnd="//@children.14/@sourceConnections.0/@children.1" sourceEnd="//@children.14/@sourceConnections.0/@children.0">
|
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.14" target="//@children.0/@sourceConnections.0" targetEnd="//@children.14/@sourceConnections.0/@children.1" sourceEnd="//@children.14/@sourceConnections.0/@children.0">
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="42,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="42,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
||||||
</sourceConnections>
|
</sourceConnections>
|
||||||
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:ClassEditModel" location="940,191" size="545,139" targetConnections="//@children.6/@sourceConnections.0" id="kirschmshsCompiler711" runTimeClassModel="kirschmshsCompiler719;kirschmshsCompiler729;kirschmshsCompiler737;kirschmshsCompiler747;kirschmshsCompiler712">
|
<children xsi:type="editmodel:ClassEditModel" location="940,191" size="545,139" targetConnections="//@children.6/@sourceConnections.0" id="kirschmshsCompiler711" runTimeClassModel="kirschmshsCompiler719;kirschmshsCompiler729;kirschmshsCompiler737;kirschmshsCompiler747;kirschmshsCompiler712">
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel" size="522,90">
|
<children xsi:type="editmodel:CompartmentEditModel" size="522,90">
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler712"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler712"/>
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler719"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler719"/>
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler729"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler729"/>
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler747"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler747"/>
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler737"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler737"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.15" target="//@children.0/@sourceConnections.0" targetEnd="//@children.15/@sourceConnections.0/@children.1" sourceEnd="//@children.15/@sourceConnections.0/@children.0">
|
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.15" target="//@children.0/@sourceConnections.0" targetEnd="//@children.15/@sourceConnections.0/@children.1" sourceEnd="//@children.15/@sourceConnections.0/@children.0">
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="272,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="272,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
||||||
</sourceConnections>
|
</sourceConnections>
|
||||||
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:ClassEditModel" location="1023,50" size="403,67" targetConnections="//@children.0/@sourceConnections.0" id="kirschmshsCompiler635" runTimeClassModel="kirschmshsCompiler636">
|
<children xsi:type="editmodel:ClassEditModel" location="1023,50" size="403,67" targetConnections="//@children.0/@sourceConnections.0" id="kirschmshsCompiler635" runTimeClassModel="kirschmshsCompiler636">
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel" size="380,18">
|
<children xsi:type="editmodel:CompartmentEditModel" size="380,18">
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler636"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler636"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:ClassEditModel" location="1791,561" size="403,85" id="kirschmshsCompiler958" runTimeClassModel="kirschmshsCompiler959;kirschmshsCompiler966">
|
<children xsi:type="editmodel:ClassEditModel" location="1791,561" size="403,85" id="kirschmshsCompiler958" runTimeClassModel="kirschmshsCompiler959;kirschmshsCompiler966">
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel" size="380,36">
|
<children xsi:type="editmodel:CompartmentEditModel" size="380,36">
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler959"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler959"/>
|
||||||
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler966"/>
|
<children xsi:type="editmodel:MethodEditModel" id="kirschmshsCompiler966"/>
|
||||||
</children>
|
</children>
|
||||||
<children xsi:type="editmodel:CompartmentEditModel"/>
|
<children xsi:type="editmodel:CompartmentEditModel"/>
|
||||||
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.17" target="//@children.11/@sourceConnections.0" targetEnd="//@children.17/@sourceConnections.0/@children.1" sourceEnd="//@children.17/@sourceConnections.0/@children.0">
|
<sourceConnections xsi:type="editmodel:GeneralizationEditModel" connectionRouterKind="Manual" source="//@children.17" target="//@children.11/@sourceConnections.0" targetEnd="//@children.17/@sourceConnections.0/@children.1" sourceEnd="//@children.17/@sourceConnections.0/@children.0">
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
<children xsi:type="editmodel:AssociationEndEditModel" location="201,0" anchorKind="FixedAtEdge" attachSource="true"/>
|
||||||
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
<children xsi:type="editmodel:AssociationEndEditModel"/>
|
||||||
</sourceConnections>
|
</sourceConnections>
|
||||||
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
<classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" showMethodsParameterTypes="true" showMethodsReturnType="true" attributeSorter="Visibility" methodSorter="Visibility" innerClassSorter="Visibility" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true"/>
|
||||||
</children>
|
</children>
|
||||||
<classDiagramPreferences xsi:type="editmodel:UMLClassDiagramPreference" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showInterfaceStereotype="true" showClassStereotype="true" showPackageStereotype="true"/>
|
<classDiagramPreferences xsi:type="editmodel:UMLClassDiagramPreference" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showPublicMethods="true" showPackageMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showInterfaceStereotype="true" showClassStereotype="true" showPackageStereotype="true"/>
|
||||||
</editmodel:ClassDiagramEditModel>
|
</editmodel:ClassDiagramEditModel>
|
||||||
|
Before Width: | Height: | Size: 663 KiB After Width: | Height: | Size: 669 KiB |
@@ -1,458 +1,458 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
|
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN' 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
|
||||||
<svg xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-opacity:1; color-rendering:auto; color-interpolation:auto; text-rendering:auto; stroke:black; stroke-linecap:square; stroke-miterlimit:10; shape-rendering:auto; stroke-opacity:1; fill:black; stroke-dasharray:none; font-weight:normal; stroke-width:1; font-family:'sansserif'; font-style:normal; stroke-linejoin:miter; font-size:12; stroke-dashoffset:0; image-rendering:auto;" xmlns="http://www.w3.org/2000/svg">
|
<svg xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-opacity:1; color-rendering:auto; color-interpolation:auto; text-rendering:auto; stroke:black; stroke-linecap:square; stroke-miterlimit:10; shape-rendering:auto; stroke-opacity:1; fill:black; stroke-dasharray:none; font-weight:normal; stroke-width:1; font-family:'sansserif'; font-style:normal; stroke-linejoin:miter; font-size:12; stroke-dashoffset:0; image-rendering:auto;" xmlns="http://www.w3.org/2000/svg">
|
||||||
<!--Generated by the Batik Graphics2D SVG Generator-->
|
<!--Generated by the Batik Graphics2D SVG Generator-->
|
||||||
<defs id="genericDefs" />
|
<defs id="genericDefs" />
|
||||||
<g>
|
<g>
|
||||||
<g style="fill:white; font-family:'Arial'; font-weight:bold; stroke:white;">
|
<g style="fill:white; font-family:'Arial'; font-weight:bold; stroke:white;">
|
||||||
<rect x="-45" y="-50" width="3602" style="stroke:none;" height="652" />
|
<rect x="-45" y="-50" width="3602" style="stroke:none;" height="652" />
|
||||||
<rect x="406" y="131" width="368" style="fill:rgb(191,191,191); stroke:none;" height="64" />
|
<rect x="406" y="131" width="368" style="fill:rgb(191,191,191); stroke:none;" height="64" />
|
||||||
<rect x="405" y="130" width="368" style="fill:rgb(127,127,127); stroke:none;" height="64" />
|
<rect x="405" y="130" width="368" style="fill:rgb(127,127,127); stroke:none;" height="64" />
|
||||||
<rect x="404" y="129" width="368" style="fill:rgb(63,63,63); stroke:none;" height="64" />
|
<rect x="404" y="129" width="368" style="fill:rgb(63,63,63); stroke:none;" height="64" />
|
||||||
<rect x="403" y="128" width="368" style="stroke:none;" height="64" />
|
<rect x="403" y="128" width="368" style="stroke:none;" height="64" />
|
||||||
<rect x="403" y="128" width="367" style="fill:none; stroke:black;" height="63" />
|
<rect x="403" y="128" width="367" style="fill:none; stroke:black;" height="63" />
|
||||||
<line x1="403" x2="770" y1="154" style="fill:none; stroke:black;" y2="154" />
|
<line x1="403" x2="770" y1="154" style="fill:none; stroke:black;" y2="154" />
|
||||||
<line x1="403" x2="770" y1="164" style="fill:none; stroke:black;" y2="164" />
|
<line x1="403" x2="770" y1="164" style="fill:none; stroke:black;" y2="164" />
|
||||||
<rect x="413" y="169" width="348" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="413" y="169" width="348" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="413" y="169" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAiklEQVR42rVRgQ2A
|
<image x="413" y="169" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAiklEQVR42rVRgQ2A
|
||||||
IAwDwiF+4k7hE/WTnbJP3CdYoyEoqJjoQsiAdrSbjTGap7CTjcMOcy3ofu6xtxIQ
|
IAwDwiF+4k7hE/WTnbJP3CdYoyEoqJjoQsiAdrSbjTGap7CTjcMOcy3ofu6xtxIQ
|
||||||
wpLyJkIerkUPBUqqfAmikXYlo+R66gSgA3XpiMKn3OZtPaEDcfm/vzHAElSNiP7W
|
wpLyJkIerkUPBUqqfAmikXYlo+R66gSgA3XpiMKn3OZtPaEDcfm/vzHAElSNiP7W
|
||||||
JZR/IKAtzArcttabo56KBzzDeHXGl6ZL0ItJf0BYALD3PkMWvNRAAAAAAElFTkSu
|
JZR/IKAtzArcttabo56KBzzDeHXGl6ZL0ItJf0BYALD3PkMWvNRAAAAAAElFTkSu
|
||||||
QmCC" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
QmCC" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="432" y="182" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> if_codegen(in ClassFile, in CodeAttribute, in String, in boolean): void</text>
|
<text x="432" y="182" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> if_codegen(in ClassFile, in CodeAttribute, in String, in boolean): void</text>
|
||||||
<image x="557" y="133" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABBElEQVR42q1SYZnD
|
<image x="557" y="133" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABBElEQVR42q1SYZnD
|
||||||
IAylWwVUQiTgYJFQCZmDOVjOwSREwiREQqdgSMBBFwajcLu7/bl8+fpR8l7egzCs
|
IAylWwVUQiTgYJFQCZmDOVjOwSREwiREQqdgSMBBFwajcLu7/bl8+fpR8l7egzCs
|
||||||
6+peISqi6pogREIavob1XGC7WkOmhIbQZkYf7gf7dgRDF9BPobLJjtnJpgPAWH5Z
|
6+peISqi6pogREIavob1XGC7WkOmhIbQZkYf7gf7dgRDF9BPobLJjtnJpgPAWH5Z
|
||||||
6Z28Z+aTXHLvjNagdKUQHSNnP3IViHC8HW1nbNkI9GycDGgwHWr95GPs3J9h7b+t
|
6Z28Z+aTXHLvjNagdKUQHSNnP3IViHC8HW1nbNkI9GycDGgwHWr95GPs3J9h7b+t
|
||||||
PxDa4+Z1Z8lsICAjmqtsDwVTIUCqspRDOxeXJbophmip5E/kCcHbLdlOIiyR5tmD
|
PxDa4+Z1Z8lsICAjmqtsDwVTIUCqspRDOxeXJbophmip5E/kCcHbLdlOIiyR5tmD
|
||||||
Lwo2nTpgDaF0rWHtIWG6wSU5KzylO6i6amabw+vZzMWbpU3FcprMyYW4bTL2T42q
|
Lwo2nTpgDaF0rWHtIWG6wSU5KzylO6i6amabw+vZzMWbpU3FcprMyYW4bTL2T42q
|
||||||
9G/x4Vr/gfAAzgaEraDyPpwAAAAASUVORK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
9G/x4Vr/gfAAzgaEraDyPpwAAAAASUVORK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="576" y="145" style="fill:black; stroke:none;" xml:space="preserve">RelOp</text>
|
<text x="576" y="145" style="fill:black; stroke:none;" xml:space="preserve">RelOp</text>
|
||||||
<rect x="872" y="508" width="400" style="fill:rgb(191,191,191); stroke:none;" height="82" />
|
<rect x="872" y="508" width="400" style="fill:rgb(191,191,191); stroke:none;" height="82" />
|
||||||
<rect x="871" y="507" width="400" style="fill:rgb(127,127,127); stroke:none;" height="82" />
|
<rect x="871" y="507" width="400" style="fill:rgb(127,127,127); stroke:none;" height="82" />
|
||||||
<rect x="870" y="506" width="400" style="fill:rgb(63,63,63); stroke:none;" height="82" />
|
<rect x="870" y="506" width="400" style="fill:rgb(63,63,63); stroke:none;" height="82" />
|
||||||
<rect x="869" y="505" width="400" style="stroke:none;" height="82" />
|
<rect x="869" y="505" width="400" style="stroke:none;" height="82" />
|
||||||
<rect x="869" y="505" width="399" style="fill:none; stroke:black;" height="81" />
|
<rect x="869" y="505" width="399" style="fill:none; stroke:black;" height="81" />
|
||||||
<line x1="869" x2="1268" y1="531" style="fill:none; stroke:black;" y2="531" />
|
<line x1="869" x2="1268" y1="531" style="fill:none; stroke:black;" y2="531" />
|
||||||
<line x1="869" x2="1268" y1="541" style="fill:none; stroke:black;" y2="541" />
|
<line x1="869" x2="1268" y1="541" style="fill:none; stroke:black;" y2="541" />
|
||||||
<rect x="879" y="546" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="879" y="546" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="879" y="546" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="879" y="546" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="898" y="559" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
<text x="898" y="559" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
||||||
<rect x="879" y="564" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="879" y="564" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="879" y="564" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="879" y="564" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="898" y="577" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> if_codegen(in ClassFile, in CodeAttribute, in String, in boolean): void</text>
|
<text x="898" y="577" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> if_codegen(in ClassFile, in CodeAttribute, in String, in boolean): void</text>
|
||||||
<image x="1032" y="510" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
<image x="1032" y="510" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
||||||
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
||||||
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
||||||
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
||||||
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
||||||
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
||||||
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="1051" y="522" style="fill:black; stroke:none;" xml:space="preserve">EqualOp</text>
|
<text x="1051" y="522" style="fill:black; stroke:none;" xml:space="preserve">EqualOp</text>
|
||||||
<rect x="442" y="507" width="400" style="fill:rgb(191,191,191); stroke:none;" height="82" />
|
<rect x="442" y="507" width="400" style="fill:rgb(191,191,191); stroke:none;" height="82" />
|
||||||
<rect x="441" y="506" width="400" style="fill:rgb(127,127,127); stroke:none;" height="82" />
|
<rect x="441" y="506" width="400" style="fill:rgb(127,127,127); stroke:none;" height="82" />
|
||||||
<rect x="440" y="505" width="400" style="fill:rgb(63,63,63); stroke:none;" height="82" />
|
<rect x="440" y="505" width="400" style="fill:rgb(63,63,63); stroke:none;" height="82" />
|
||||||
<rect x="439" y="504" width="400" style="stroke:none;" height="82" />
|
<rect x="439" y="504" width="400" style="stroke:none;" height="82" />
|
||||||
<rect x="439" y="504" width="399" style="fill:none; stroke:black;" height="81" />
|
<rect x="439" y="504" width="399" style="fill:none; stroke:black;" height="81" />
|
||||||
<line x1="439" x2="838" y1="530" style="fill:none; stroke:black;" y2="530" />
|
<line x1="439" x2="838" y1="530" style="fill:none; stroke:black;" y2="530" />
|
||||||
<line x1="439" x2="838" y1="540" style="fill:none; stroke:black;" y2="540" />
|
<line x1="439" x2="838" y1="540" style="fill:none; stroke:black;" y2="540" />
|
||||||
<rect x="449" y="545" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="449" y="545" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="449" y="545" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="449" y="545" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="468" y="558" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
<text x="468" y="558" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
||||||
<rect x="449" y="563" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="449" y="563" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="449" y="563" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="449" y="563" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="468" y="576" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> if_codegen(in ClassFile, in CodeAttribute, in String, in boolean): void</text>
|
<text x="468" y="576" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> if_codegen(in ClassFile, in CodeAttribute, in String, in boolean): void</text>
|
||||||
<image x="606" y="509" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
<image x="606" y="509" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
||||||
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
||||||
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
||||||
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
||||||
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
||||||
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
||||||
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="625" y="521" style="fill:black; stroke:none;" xml:space="preserve">LessOp</text>
|
<text x="625" y="521" style="fill:black; stroke:none;" xml:space="preserve">LessOp</text>
|
||||||
<rect x="1303" y="512" width="400" style="fill:rgb(191,191,191); stroke:none;" height="82" />
|
<rect x="1303" y="512" width="400" style="fill:rgb(191,191,191); stroke:none;" height="82" />
|
||||||
<rect x="1302" y="511" width="400" style="fill:rgb(127,127,127); stroke:none;" height="82" />
|
<rect x="1302" y="511" width="400" style="fill:rgb(127,127,127); stroke:none;" height="82" />
|
||||||
<rect x="1301" y="510" width="400" style="fill:rgb(63,63,63); stroke:none;" height="82" />
|
<rect x="1301" y="510" width="400" style="fill:rgb(63,63,63); stroke:none;" height="82" />
|
||||||
<rect x="1300" y="509" width="400" style="stroke:none;" height="82" />
|
<rect x="1300" y="509" width="400" style="stroke:none;" height="82" />
|
||||||
<rect x="1300" y="509" width="399" style="fill:none; stroke:black;" height="81" />
|
<rect x="1300" y="509" width="399" style="fill:none; stroke:black;" height="81" />
|
||||||
<line x1="1300" x2="1699" y1="535" style="fill:none; stroke:black;" y2="535" />
|
<line x1="1300" x2="1699" y1="535" style="fill:none; stroke:black;" y2="535" />
|
||||||
<line x1="1300" x2="1699" y1="545" style="fill:none; stroke:black;" y2="545" />
|
<line x1="1300" x2="1699" y1="545" style="fill:none; stroke:black;" y2="545" />
|
||||||
<rect x="1310" y="550" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="1310" y="550" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="1310" y="550" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="1310" y="550" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="1329" y="563" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
<text x="1329" y="563" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
||||||
<rect x="1310" y="568" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="1310" y="568" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="1310" y="568" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="1310" y="568" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="1329" y="581" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> if_codegen(in ClassFile, in CodeAttribute, in String, in boolean): void</text>
|
<text x="1329" y="581" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> if_codegen(in ClassFile, in CodeAttribute, in String, in boolean): void</text>
|
||||||
<image x="1452" y="514" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
<image x="1452" y="514" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
||||||
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
||||||
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
||||||
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
||||||
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
||||||
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
||||||
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="1471" y="526" style="fill:black; stroke:none;" xml:space="preserve">NotEqualOp</text>
|
<text x="1471" y="526" style="fill:black; stroke:none;" xml:space="preserve">NotEqualOp</text>
|
||||||
<rect x="3152" y="455" width="400" style="fill:rgb(191,191,191); stroke:none;" height="64" />
|
<rect x="3152" y="455" width="400" style="fill:rgb(191,191,191); stroke:none;" height="64" />
|
||||||
<rect x="3151" y="454" width="400" style="fill:rgb(127,127,127); stroke:none;" height="64" />
|
<rect x="3151" y="454" width="400" style="fill:rgb(127,127,127); stroke:none;" height="64" />
|
||||||
<rect x="3150" y="453" width="400" style="fill:rgb(63,63,63); stroke:none;" height="64" />
|
<rect x="3150" y="453" width="400" style="fill:rgb(63,63,63); stroke:none;" height="64" />
|
||||||
<rect x="3149" y="452" width="400" style="stroke:none;" height="64" />
|
<rect x="3149" y="452" width="400" style="stroke:none;" height="64" />
|
||||||
<rect x="3149" y="452" width="399" style="fill:none; stroke:black;" height="63" />
|
<rect x="3149" y="452" width="399" style="fill:none; stroke:black;" height="63" />
|
||||||
<line x1="3149" x2="3548" y1="478" style="fill:none; stroke:black;" y2="478" />
|
<line x1="3149" x2="3548" y1="478" style="fill:none; stroke:black;" y2="478" />
|
||||||
<line x1="3149" x2="3548" y1="488" style="fill:none; stroke:black;" y2="488" />
|
<line x1="3149" x2="3548" y1="488" style="fill:none; stroke:black;" y2="488" />
|
||||||
<rect x="3159" y="493" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="3159" y="493" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="3159" y="493" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="3159" y="493" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="3178" y="506" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
<text x="3178" y="506" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
||||||
<image x="3311" y="457" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
<image x="3311" y="457" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
||||||
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
||||||
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
||||||
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
||||||
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
||||||
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
||||||
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="3330" y="469" style="fill:black; stroke:none;" xml:space="preserve">MinusOp</text>
|
<text x="3330" y="469" style="fill:black; stroke:none;" xml:space="preserve">MinusOp</text>
|
||||||
<rect x="1323" y="378" width="73" style="fill:rgb(191,191,191); stroke:none;" height="26" />
|
<rect x="1323" y="378" width="73" style="fill:rgb(191,191,191); stroke:none;" height="26" />
|
||||||
<rect x="1322" y="377" width="73" style="fill:rgb(127,127,127); stroke:none;" height="26" />
|
<rect x="1322" y="377" width="73" style="fill:rgb(127,127,127); stroke:none;" height="26" />
|
||||||
<rect x="1321" y="376" width="73" style="fill:rgb(63,63,63); stroke:none;" height="26" />
|
<rect x="1321" y="376" width="73" style="fill:rgb(63,63,63); stroke:none;" height="26" />
|
||||||
<rect x="1320" y="375" width="73" style="stroke:none;" height="26" />
|
<rect x="1320" y="375" width="73" style="stroke:none;" height="26" />
|
||||||
<rect x="1320" y="375" width="72" style="fill:none; stroke:black;" height="25" />
|
<rect x="1320" y="375" width="72" style="fill:none; stroke:black;" height="25" />
|
||||||
<image x="1330" y="380" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
<image x="1330" y="380" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
||||||
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
||||||
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
||||||
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
||||||
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
||||||
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
||||||
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="1349" y="392" style="fill:black; stroke:none;" xml:space="preserve">OrOp</text>
|
<text x="1349" y="392" style="fill:black; stroke:none;" xml:space="preserve">OrOp</text>
|
||||||
<rect x="921" y="370" width="83" style="fill:rgb(191,191,191); stroke:none;" height="26" />
|
<rect x="921" y="370" width="83" style="fill:rgb(191,191,191); stroke:none;" height="26" />
|
||||||
<rect x="920" y="369" width="83" style="fill:rgb(127,127,127); stroke:none;" height="26" />
|
<rect x="920" y="369" width="83" style="fill:rgb(127,127,127); stroke:none;" height="26" />
|
||||||
<rect x="919" y="368" width="83" style="fill:rgb(63,63,63); stroke:none;" height="26" />
|
<rect x="919" y="368" width="83" style="fill:rgb(63,63,63); stroke:none;" height="26" />
|
||||||
<rect x="918" y="367" width="83" style="stroke:none;" height="26" />
|
<rect x="918" y="367" width="83" style="stroke:none;" height="26" />
|
||||||
<rect x="918" y="367" width="82" style="fill:none; stroke:black;" height="25" />
|
<rect x="918" y="367" width="82" style="fill:none; stroke:black;" height="25" />
|
||||||
<image x="928" y="372" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
<image x="928" y="372" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
||||||
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
||||||
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
||||||
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
||||||
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
||||||
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
||||||
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="947" y="384" style="fill:black; stroke:none;" xml:space="preserve">AndOp</text>
|
<text x="947" y="384" style="fill:black; stroke:none;" xml:space="preserve">AndOp</text>
|
||||||
<rect x="2027" y="325" width="400" style="fill:rgb(191,191,191); stroke:none;" height="64" />
|
<rect x="2027" y="325" width="400" style="fill:rgb(191,191,191); stroke:none;" height="64" />
|
||||||
<rect x="2026" y="324" width="400" style="fill:rgb(127,127,127); stroke:none;" height="64" />
|
<rect x="2026" y="324" width="400" style="fill:rgb(127,127,127); stroke:none;" height="64" />
|
||||||
<rect x="2025" y="323" width="400" style="fill:rgb(63,63,63); stroke:none;" height="64" />
|
<rect x="2025" y="323" width="400" style="fill:rgb(63,63,63); stroke:none;" height="64" />
|
||||||
<rect x="2024" y="322" width="400" style="stroke:none;" height="64" />
|
<rect x="2024" y="322" width="400" style="stroke:none;" height="64" />
|
||||||
<rect x="2024" y="322" width="399" style="fill:none; stroke:black;" height="63" />
|
<rect x="2024" y="322" width="399" style="fill:none; stroke:black;" height="63" />
|
||||||
<line x1="2024" x2="2423" y1="348" style="fill:none; stroke:black;" y2="348" />
|
<line x1="2024" x2="2423" y1="348" style="fill:none; stroke:black;" y2="348" />
|
||||||
<line x1="2024" x2="2423" y1="358" style="fill:none; stroke:black;" y2="358" />
|
<line x1="2024" x2="2423" y1="358" style="fill:none; stroke:black;" y2="358" />
|
||||||
<rect x="2034" y="363" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="2034" y="363" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="2034" y="363" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="2034" y="363" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="2053" y="376" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
<text x="2053" y="376" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
||||||
<image x="2186" y="327" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
<image x="2186" y="327" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
||||||
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
||||||
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
||||||
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
||||||
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
||||||
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
||||||
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="2205" y="339" style="fill:black; stroke:none;" xml:space="preserve">TimesOp</text>
|
<text x="2205" y="339" style="fill:black; stroke:none;" xml:space="preserve">TimesOp</text>
|
||||||
<rect x="2185" y="515" width="400" style="fill:rgb(191,191,191); stroke:none;" height="82" />
|
<rect x="2185" y="515" width="400" style="fill:rgb(191,191,191); stroke:none;" height="82" />
|
||||||
<rect x="2184" y="514" width="400" style="fill:rgb(127,127,127); stroke:none;" height="82" />
|
<rect x="2184" y="514" width="400" style="fill:rgb(127,127,127); stroke:none;" height="82" />
|
||||||
<rect x="2183" y="513" width="400" style="fill:rgb(63,63,63); stroke:none;" height="82" />
|
<rect x="2183" y="513" width="400" style="fill:rgb(63,63,63); stroke:none;" height="82" />
|
||||||
<rect x="2182" y="512" width="400" style="stroke:none;" height="82" />
|
<rect x="2182" y="512" width="400" style="stroke:none;" height="82" />
|
||||||
<rect x="2182" y="512" width="399" style="fill:none; stroke:black;" height="81" />
|
<rect x="2182" y="512" width="399" style="fill:none; stroke:black;" height="81" />
|
||||||
<line x1="2182" x2="2581" y1="538" style="fill:none; stroke:black;" y2="538" />
|
<line x1="2182" x2="2581" y1="538" style="fill:none; stroke:black;" y2="538" />
|
||||||
<line x1="2182" x2="2581" y1="548" style="fill:none; stroke:black;" y2="548" />
|
<line x1="2182" x2="2581" y1="548" style="fill:none; stroke:black;" y2="548" />
|
||||||
<rect x="2192" y="553" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="2192" y="553" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="2192" y="553" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="2192" y="553" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="2211" y="566" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
<text x="2211" y="566" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
||||||
<rect x="2192" y="571" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="2192" y="571" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="2192" y="571" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="2192" y="571" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="2211" y="584" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> if_codegen(in ClassFile, in CodeAttribute, in String, in boolean): void</text>
|
<text x="2211" y="584" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> if_codegen(in ClassFile, in CodeAttribute, in String, in boolean): void</text>
|
||||||
<image x="2327" y="517" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
<image x="2327" y="517" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
||||||
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
||||||
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
||||||
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
||||||
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
||||||
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
||||||
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="2346" y="529" style="fill:black; stroke:none;" xml:space="preserve">GreaterEquOp</text>
|
<text x="2346" y="529" style="fill:black; stroke:none;" xml:space="preserve">GreaterEquOp</text>
|
||||||
<rect x="2923" y="182" width="400" style="fill:rgb(191,191,191); stroke:none;" height="64" />
|
<rect x="2923" y="182" width="400" style="fill:rgb(191,191,191); stroke:none;" height="64" />
|
||||||
<rect x="2922" y="181" width="400" style="fill:rgb(127,127,127); stroke:none;" height="64" />
|
<rect x="2922" y="181" width="400" style="fill:rgb(127,127,127); stroke:none;" height="64" />
|
||||||
<rect x="2921" y="180" width="400" style="fill:rgb(63,63,63); stroke:none;" height="64" />
|
<rect x="2921" y="180" width="400" style="fill:rgb(63,63,63); stroke:none;" height="64" />
|
||||||
<rect x="2920" y="179" width="400" style="stroke:none;" height="64" />
|
<rect x="2920" y="179" width="400" style="stroke:none;" height="64" />
|
||||||
<rect x="2920" y="179" width="399" style="fill:none; stroke:black;" height="63" />
|
<rect x="2920" y="179" width="399" style="fill:none; stroke:black;" height="63" />
|
||||||
<line x1="2920" x2="3319" y1="205" style="fill:none; stroke:black;" y2="205" />
|
<line x1="2920" x2="3319" y1="205" style="fill:none; stroke:black;" y2="205" />
|
||||||
<line x1="2920" x2="3319" y1="215" style="fill:none; stroke:black;" y2="215" />
|
<line x1="2920" x2="3319" y1="215" style="fill:none; stroke:black;" y2="215" />
|
||||||
<rect x="2930" y="220" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="2930" y="220" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="2930" y="220" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAiklEQVR42rVRgQ2A
|
<image x="2930" y="220" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAiklEQVR42rVRgQ2A
|
||||||
IAwDwiF+4k7hE/WTnbJP3CdYoyEoqJjoQsiAdrSbjTGap7CTjcMOcy3ofu6xtxIQ
|
IAwDwiF+4k7hE/WTnbJP3CdYoyEoqJjoQsiAdrSbjTGap7CTjcMOcy3ofu6xtxIQ
|
||||||
wpLyJkIerkUPBUqqfAmikXYlo+R66gSgA3XpiMKn3OZtPaEDcfm/vzHAElSNiP7W
|
wpLyJkIerkUPBUqqfAmikXYlo+R66gSgA3XpiMKn3OZtPaEDcfm/vzHAElSNiP7W
|
||||||
JZR/IKAtzArcttabo56KBzzDeHXGl6ZL0ItJf0BYALD3PkMWvNRAAAAAAElFTkSu
|
JZR/IKAtzArcttabo56KBzzDeHXGl6ZL0ItJf0BYALD3PkMWvNRAAAAAAElFTkSu
|
||||||
QmCC" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
QmCC" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="2949" y="233" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
<text x="2949" y="233" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
||||||
<image x="3088" y="184" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABBElEQVR42q1SYZnD
|
<image x="3088" y="184" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABBElEQVR42q1SYZnD
|
||||||
IAylWwVUQiTgYJFQCZmDOVjOwSREwiREQqdgSMBBFwajcLu7/bl8+fpR8l7egzCs
|
IAylWwVUQiTgYJFQCZmDOVjOwSREwiREQqdgSMBBFwajcLu7/bl8+fpR8l7egzCs
|
||||||
6+peISqi6pogREIavob1XGC7WkOmhIbQZkYf7gf7dgRDF9BPobLJjtnJpgPAWH5Z
|
6+peISqi6pogREIavob1XGC7WkOmhIbQZkYf7gf7dgRDF9BPobLJjtnJpgPAWH5Z
|
||||||
6Z28Z+aTXHLvjNagdKUQHSNnP3IViHC8HW1nbNkI9GycDGgwHWr95GPs3J9h7b+t
|
6Z28Z+aTXHLvjNagdKUQHSNnP3IViHC8HW1nbNkI9GycDGgwHWr95GPs3J9h7b+t
|
||||||
PxDa4+Z1Z8lsICAjmqtsDwVTIUCqspRDOxeXJbophmip5E/kCcHbLdlOIiyR5tmD
|
PxDa4+Z1Z8lsICAjmqtsDwVTIUCqspRDOxeXJbophmip5E/kCcHbLdlOIiyR5tmD
|
||||||
Lwo2nTpgDaF0rWHtIWG6wSU5KzylO6i6amabw+vZzMWbpU3FcprMyYW4bTL2T42q
|
Lwo2nTpgDaF0rWHtIWG6wSU5KzylO6i6amabw+vZzMWbpU3FcprMyYW4bTL2T42q
|
||||||
9G/x4Vr/gfAAzgaEraDyPpwAAAAASUVORK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
9G/x4Vr/gfAAzgaEraDyPpwAAAAASUVORK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="3107" y="196" style="fill:black; stroke:none;" xml:space="preserve">AddOp</text>
|
<text x="3107" y="196" style="fill:black; stroke:none;" xml:space="preserve">AddOp</text>
|
||||||
<rect x="2460" y="325" width="400" style="fill:rgb(191,191,191); stroke:none;" height="64" />
|
<rect x="2460" y="325" width="400" style="fill:rgb(191,191,191); stroke:none;" height="64" />
|
||||||
<rect x="2459" y="324" width="400" style="fill:rgb(127,127,127); stroke:none;" height="64" />
|
<rect x="2459" y="324" width="400" style="fill:rgb(127,127,127); stroke:none;" height="64" />
|
||||||
<rect x="2458" y="323" width="400" style="fill:rgb(63,63,63); stroke:none;" height="64" />
|
<rect x="2458" y="323" width="400" style="fill:rgb(63,63,63); stroke:none;" height="64" />
|
||||||
<rect x="2457" y="322" width="400" style="stroke:none;" height="64" />
|
<rect x="2457" y="322" width="400" style="stroke:none;" height="64" />
|
||||||
<rect x="2457" y="322" width="399" style="fill:none; stroke:black;" height="63" />
|
<rect x="2457" y="322" width="399" style="fill:none; stroke:black;" height="63" />
|
||||||
<line x1="2457" x2="2856" y1="348" style="fill:none; stroke:black;" y2="348" />
|
<line x1="2457" x2="2856" y1="348" style="fill:none; stroke:black;" y2="348" />
|
||||||
<line x1="2457" x2="2856" y1="358" style="fill:none; stroke:black;" y2="358" />
|
<line x1="2457" x2="2856" y1="358" style="fill:none; stroke:black;" y2="358" />
|
||||||
<rect x="2467" y="363" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="2467" y="363" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="2467" y="363" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="2467" y="363" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="2486" y="376" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
<text x="2486" y="376" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
||||||
<image x="2614" y="327" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
<image x="2614" y="327" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
||||||
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
||||||
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
||||||
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
||||||
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
||||||
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
||||||
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="2633" y="339" style="fill:black; stroke:none;" xml:space="preserve">ModuloOp</text>
|
<text x="2633" y="339" style="fill:black; stroke:none;" xml:space="preserve">ModuloOp</text>
|
||||||
<rect x="3" y="506" width="400" style="fill:rgb(191,191,191); stroke:none;" height="82" />
|
<rect x="3" y="506" width="400" style="fill:rgb(191,191,191); stroke:none;" height="82" />
|
||||||
<rect x="2" y="505" width="400" style="fill:rgb(127,127,127); stroke:none;" height="82" />
|
<rect x="2" y="505" width="400" style="fill:rgb(127,127,127); stroke:none;" height="82" />
|
||||||
<rect x="1" y="504" width="400" style="fill:rgb(63,63,63); stroke:none;" height="82" />
|
<rect x="1" y="504" width="400" style="fill:rgb(63,63,63); stroke:none;" height="82" />
|
||||||
<rect x="0" y="503" width="400" style="stroke:none;" height="82" />
|
<rect x="0" y="503" width="400" style="stroke:none;" height="82" />
|
||||||
<rect x="0" y="503" width="399" style="fill:none; stroke:black;" height="81" />
|
<rect x="0" y="503" width="399" style="fill:none; stroke:black;" height="81" />
|
||||||
<line x1="0" x2="399" y1="529" style="fill:none; stroke:black;" y2="529" />
|
<line x1="0" x2="399" y1="529" style="fill:none; stroke:black;" y2="529" />
|
||||||
<line x1="0" x2="399" y1="539" style="fill:none; stroke:black;" y2="539" />
|
<line x1="0" x2="399" y1="539" style="fill:none; stroke:black;" y2="539" />
|
||||||
<rect x="10" y="544" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="10" y="544" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="10" y="544" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="10" y="544" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="29" y="557" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
<text x="29" y="557" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
||||||
<rect x="10" y="562" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="10" y="562" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="10" y="562" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="10" y="562" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="29" y="575" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> if_codegen(in ClassFile, in CodeAttribute, in String, in boolean): void</text>
|
<text x="29" y="575" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> if_codegen(in ClassFile, in CodeAttribute, in String, in boolean): void</text>
|
||||||
<image x="157" y="508" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
<image x="157" y="508" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
||||||
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
||||||
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
||||||
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
||||||
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
||||||
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
||||||
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="176" y="520" style="fill:black; stroke:none;" xml:space="preserve">GreaterOp</text>
|
<text x="176" y="520" style="fill:black; stroke:none;" xml:space="preserve">GreaterOp</text>
|
||||||
<rect x="1594" y="325" width="400" style="fill:rgb(191,191,191); stroke:none;" height="64" />
|
<rect x="1594" y="325" width="400" style="fill:rgb(191,191,191); stroke:none;" height="64" />
|
||||||
<rect x="1593" y="324" width="400" style="fill:rgb(127,127,127); stroke:none;" height="64" />
|
<rect x="1593" y="324" width="400" style="fill:rgb(127,127,127); stroke:none;" height="64" />
|
||||||
<rect x="1592" y="323" width="400" style="fill:rgb(63,63,63); stroke:none;" height="64" />
|
<rect x="1592" y="323" width="400" style="fill:rgb(63,63,63); stroke:none;" height="64" />
|
||||||
<rect x="1591" y="322" width="400" style="stroke:none;" height="64" />
|
<rect x="1591" y="322" width="400" style="stroke:none;" height="64" />
|
||||||
<rect x="1591" y="322" width="399" style="fill:none; stroke:black;" height="63" />
|
<rect x="1591" y="322" width="399" style="fill:none; stroke:black;" height="63" />
|
||||||
<line x1="1591" x2="1990" y1="348" style="fill:none; stroke:black;" y2="348" />
|
<line x1="1591" x2="1990" y1="348" style="fill:none; stroke:black;" y2="348" />
|
||||||
<line x1="1591" x2="1990" y1="358" style="fill:none; stroke:black;" y2="358" />
|
<line x1="1591" x2="1990" y1="358" style="fill:none; stroke:black;" y2="358" />
|
||||||
<rect x="1601" y="363" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="1601" y="363" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="1601" y="363" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="1601" y="363" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="1620" y="376" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
<text x="1620" y="376" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
||||||
<image x="1752" y="327" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
<image x="1752" y="327" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
||||||
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
||||||
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
||||||
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
||||||
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
||||||
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
||||||
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="1771" y="339" style="fill:black; stroke:none;" xml:space="preserve">DivideOp</text>
|
<text x="1771" y="339" style="fill:black; stroke:none;" xml:space="preserve">DivideOp</text>
|
||||||
<rect x="2673" y="461" width="400" style="fill:rgb(191,191,191); stroke:none;" height="64" />
|
<rect x="2673" y="461" width="400" style="fill:rgb(191,191,191); stroke:none;" height="64" />
|
||||||
<rect x="2672" y="460" width="400" style="fill:rgb(127,127,127); stroke:none;" height="64" />
|
<rect x="2672" y="460" width="400" style="fill:rgb(127,127,127); stroke:none;" height="64" />
|
||||||
<rect x="2671" y="459" width="400" style="fill:rgb(63,63,63); stroke:none;" height="64" />
|
<rect x="2671" y="459" width="400" style="fill:rgb(63,63,63); stroke:none;" height="64" />
|
||||||
<rect x="2670" y="458" width="400" style="stroke:none;" height="64" />
|
<rect x="2670" y="458" width="400" style="stroke:none;" height="64" />
|
||||||
<rect x="2670" y="458" width="399" style="fill:none; stroke:black;" height="63" />
|
<rect x="2670" y="458" width="399" style="fill:none; stroke:black;" height="63" />
|
||||||
<line x1="2670" x2="3069" y1="484" style="fill:none; stroke:black;" y2="484" />
|
<line x1="2670" x2="3069" y1="484" style="fill:none; stroke:black;" y2="484" />
|
||||||
<line x1="2670" x2="3069" y1="494" style="fill:none; stroke:black;" y2="494" />
|
<line x1="2670" x2="3069" y1="494" style="fill:none; stroke:black;" y2="494" />
|
||||||
<rect x="2680" y="499" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="2680" y="499" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="2680" y="499" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="2680" y="499" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="2699" y="512" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
<text x="2699" y="512" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
||||||
<image x="2837" y="463" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
<image x="2837" y="463" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
||||||
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
||||||
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
||||||
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
||||||
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
||||||
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
||||||
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="2856" y="475" style="fill:black; stroke:none;" xml:space="preserve">PlusOp</text>
|
<text x="2856" y="475" style="fill:black; stroke:none;" xml:space="preserve">PlusOp</text>
|
||||||
<rect x="2181" y="187" width="81" style="fill:rgb(191,191,191); stroke:none;" height="26" />
|
<rect x="2181" y="187" width="81" style="fill:rgb(191,191,191); stroke:none;" height="26" />
|
||||||
<rect x="2180" y="186" width="81" style="fill:rgb(127,127,127); stroke:none;" height="26" />
|
<rect x="2180" y="186" width="81" style="fill:rgb(127,127,127); stroke:none;" height="26" />
|
||||||
<rect x="2179" y="185" width="81" style="fill:rgb(63,63,63); stroke:none;" height="26" />
|
<rect x="2179" y="185" width="81" style="fill:rgb(63,63,63); stroke:none;" height="26" />
|
||||||
<rect x="2178" y="184" width="81" style="stroke:none;" height="26" />
|
<rect x="2178" y="184" width="81" style="stroke:none;" height="26" />
|
||||||
<rect x="2178" y="184" width="80" style="fill:none; stroke:black;" height="25" />
|
<rect x="2178" y="184" width="80" style="fill:none; stroke:black;" height="25" />
|
||||||
<image x="2188" y="189" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABBElEQVR42q1SYZnD
|
<image x="2188" y="189" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABBElEQVR42q1SYZnD
|
||||||
IAylWwVUQiTgYJFQCZmDOVjOwSREwiREQqdgSMBBFwajcLu7/bl8+fpR8l7egzCs
|
IAylWwVUQiTgYJFQCZmDOVjOwSREwiREQqdgSMBBFwajcLu7/bl8+fpR8l7egzCs
|
||||||
6+peISqi6pogREIavob1XGC7WkOmhIbQZkYf7gf7dgRDF9BPobLJjtnJpgPAWH5Z
|
6+peISqi6pogREIavob1XGC7WkOmhIbQZkYf7gf7dgRDF9BPobLJjtnJpgPAWH5Z
|
||||||
6Z28Z+aTXHLvjNagdKUQHSNnP3IViHC8HW1nbNkI9GycDGgwHWr95GPs3J9h7b+t
|
6Z28Z+aTXHLvjNagdKUQHSNnP3IViHC8HW1nbNkI9GycDGgwHWr95GPs3J9h7b+t
|
||||||
PxDa4+Z1Z8lsICAjmqtsDwVTIUCqspRDOxeXJbophmip5E/kCcHbLdlOIiyR5tmD
|
PxDa4+Z1Z8lsICAjmqtsDwVTIUCqspRDOxeXJbophmip5E/kCcHbLdlOIiyR5tmD
|
||||||
Lwo2nTpgDaF0rWHtIWG6wSU5KzylO6i6amabw+vZzMWbpU3FcprMyYW4bTL2T42q
|
Lwo2nTpgDaF0rWHtIWG6wSU5KzylO6i6amabw+vZzMWbpU3FcprMyYW4bTL2T42q
|
||||||
9G/x4Vr/gfAAzgaEraDyPpwAAAAASUVORK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
9G/x4Vr/gfAAzgaEraDyPpwAAAAASUVORK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="2207" y="201" style="fill:black; stroke:none;" xml:space="preserve">MulOp</text>
|
<text x="2207" y="201" style="fill:black; stroke:none;" xml:space="preserve">MulOp</text>
|
||||||
<rect x="898" y="144" width="542" style="fill:rgb(191,191,191); stroke:none;" height="136" />
|
<rect x="898" y="144" width="542" style="fill:rgb(191,191,191); stroke:none;" height="136" />
|
||||||
<rect x="897" y="143" width="542" style="fill:rgb(127,127,127); stroke:none;" height="136" />
|
<rect x="897" y="143" width="542" style="fill:rgb(127,127,127); stroke:none;" height="136" />
|
||||||
<rect x="896" y="142" width="542" style="fill:rgb(63,63,63); stroke:none;" height="136" />
|
<rect x="896" y="142" width="542" style="fill:rgb(63,63,63); stroke:none;" height="136" />
|
||||||
<rect x="895" y="141" width="542" style="stroke:none;" height="136" />
|
<rect x="895" y="141" width="542" style="stroke:none;" height="136" />
|
||||||
<rect x="895" y="141" width="541" style="fill:none; stroke:black;" height="135" />
|
<rect x="895" y="141" width="541" style="fill:none; stroke:black;" height="135" />
|
||||||
<line x1="895" x2="1436" y1="167" style="fill:none; stroke:black;" y2="167" />
|
<line x1="895" x2="1436" y1="167" style="fill:none; stroke:black;" y2="167" />
|
||||||
<line x1="895" x2="1436" y1="177" style="fill:none; stroke:black;" y2="177" />
|
<line x1="895" x2="1436" y1="177" style="fill:none; stroke:black;" y2="177" />
|
||||||
<rect x="905" y="182" width="522" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="905" y="182" width="522" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="905" y="182" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="905" y="182" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="924" y="195" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
<text x="924" y="195" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
||||||
<rect x="905" y="200" width="522" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="905" y="200" width="522" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="905" y="200" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="905" y="200" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="924" y="213" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> if_codegen(in ClassFile, in CodeAttribute, in boolean, in Expr, in Statement, in Statement, in Menge): void</text>
|
<text x="924" y="213" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> if_codegen(in ClassFile, in CodeAttribute, in boolean, in Expr, in Statement, in Statement, in Menge): void</text>
|
||||||
<rect x="905" y="218" width="522" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="905" y="218" width="522" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="905" y="218" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="905" y="218" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="924" y="231" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> loop_codegen(in ClassFile, in CodeAttribute, in Expr, in int, in boolean, in Menge): void</text>
|
<text x="924" y="231" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> loop_codegen(in ClassFile, in CodeAttribute, in Expr, in int, in boolean, in Menge): void</text>
|
||||||
<rect x="905" y="236" width="522" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="905" y="236" width="522" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="905" y="236" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAjUlEQVR42rWR2w2A
|
<image x="905" y="236" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAjUlEQVR42rWR2w2A
|
||||||
IAxFrXEQN5FNZJPiJozSUdikXiEhRNDGD5sSoJybPiBVnd6N6Mg7Y6nOk2WgWRVe
|
IAxFrXEQN5FNZJPiJozSUdikXiEhRNDGD5sSoJybPiBVnd6N6Mg7Y6nOk2WgWRVe
|
||||||
ZLagGudaFptDEqJaki0AxKU2Ih5mcMHVswS5uGYwS097tz6WdBP0dIhe9k2i1MiH
|
ZLagGudaFptDEqJaki0AxKU2Ih5mcMHVswS5uGYwS097tz6WdBP0dIhe9k2i1MiH
|
||||||
Kf0gSMkSYCYxJnDFr4iktoHBlPCMxtvrDRj8Qw/91vTQThWRPIE1rC5kAAAAAElF
|
Kf0gSMkSYCYxJnDFr4iktoHBlPCMxtvrDRj8Qw/91vTQThWRPIE1rC5kAAAAAElF
|
||||||
TkSuQmCC" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
TkSuQmCC" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="924" y="249" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> replace_index(in CodeAttribute, in Menge, in int, in int): void</text>
|
<text x="924" y="249" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> replace_index(in CodeAttribute, in Menge, in int, in int): void</text>
|
||||||
<rect x="905" y="254" width="522" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="905" y="254" width="522" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="905" y="254" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAjUlEQVR42rWR2w2A
|
<image x="905" y="254" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAjUlEQVR42rWR2w2A
|
||||||
IAxFrXEQN5FNZJPiJozSUdikXiEhRNDGD5sSoJybPiBVnd6N6Mg7Y6nOk2WgWRVe
|
IAxFrXEQN5FNZJPiJozSUdikXiEhRNDGD5sSoJybPiBVnd6N6Mg7Y6nOk2WgWRVe
|
||||||
ZLagGudaFptDEqJaki0AxKU2Ih5mcMHVswS5uGYwS097tz6WdBP0dIhe9k2i1MiH
|
ZLagGudaFptDEqJaki0AxKU2Ih5mcMHVswS5uGYwS097tz6WdBP0dIhe9k2i1MiH
|
||||||
Kf0gSMkSYCYxJnDFr4iktoHBlPCMxtvrDRj8Qw/91vTQThWRPIE1rC5kAAAAAElF
|
Kf0gSMkSYCYxJnDFr4iktoHBlPCMxtvrDRj8Qw/91vTQThWRPIE1rC5kAAAAAElF
|
||||||
TkSuQmCC" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
TkSuQmCC" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="924" y="267" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> build(in ClassFile, in CodeAttribute, in Expr, in Menge, in boolean, in boolean, in boolean, in Menge): void</text>
|
<text x="924" y="267" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> build(in ClassFile, in CodeAttribute, in Expr, in Menge, in boolean, in boolean, in boolean, in Menge): void</text>
|
||||||
<image x="1135" y="146" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABBElEQVR42q1SYZnD
|
<image x="1135" y="146" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABBElEQVR42q1SYZnD
|
||||||
IAylWwVUQiTgYJFQCZmDOVjOwSREwiREQqdgSMBBFwajcLu7/bl8+fpR8l7egzCs
|
IAylWwVUQiTgYJFQCZmDOVjOwSREwiREQqdgSMBBFwajcLu7/bl8+fpR8l7egzCs
|
||||||
6+peISqi6pogREIavob1XGC7WkOmhIbQZkYf7gf7dgRDF9BPobLJjtnJpgPAWH5Z
|
6+peISqi6pogREIavob1XGC7WkOmhIbQZkYf7gf7dgRDF9BPobLJjtnJpgPAWH5Z
|
||||||
6Z28Z+aTXHLvjNagdKUQHSNnP3IViHC8HW1nbNkI9GycDGgwHWr95GPs3J9h7b+t
|
6Z28Z+aTXHLvjNagdKUQHSNnP3IViHC8HW1nbNkI9GycDGgwHWr95GPs3J9h7b+t
|
||||||
PxDa4+Z1Z8lsICAjmqtsDwVTIUCqspRDOxeXJbophmip5E/kCcHbLdlOIiyR5tmD
|
PxDa4+Z1Z8lsICAjmqtsDwVTIUCqspRDOxeXJbophmip5E/kCcHbLdlOIiyR5tmD
|
||||||
Lwo2nTpgDaF0rWHtIWG6wSU5KzylO6i6amabw+vZzMWbpU3FcprMyYW4bTL2T42q
|
Lwo2nTpgDaF0rWHtIWG6wSU5KzylO6i6amabw+vZzMWbpU3FcprMyYW4bTL2T42q
|
||||||
9G/x4Vr/gfAAzgaEraDyPpwAAAAASUVORK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
9G/x4Vr/gfAAzgaEraDyPpwAAAAASUVORK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="1154" y="158" style="fill:black; stroke:none;" xml:space="preserve">LogOp</text>
|
<text x="1154" y="158" style="fill:black; stroke:none;" xml:space="preserve">LogOp</text>
|
||||||
<rect x="981" y="3" width="400" style="fill:rgb(191,191,191); stroke:none;" height="64" />
|
<rect x="981" y="3" width="400" style="fill:rgb(191,191,191); stroke:none;" height="64" />
|
||||||
<rect x="980" y="2" width="400" style="fill:rgb(127,127,127); stroke:none;" height="64" />
|
<rect x="980" y="2" width="400" style="fill:rgb(127,127,127); stroke:none;" height="64" />
|
||||||
<rect x="979" y="1" width="400" style="fill:rgb(63,63,63); stroke:none;" height="64" />
|
<rect x="979" y="1" width="400" style="fill:rgb(63,63,63); stroke:none;" height="64" />
|
||||||
<rect x="978" y="0" width="400" style="stroke:none;" height="64" />
|
<rect x="978" y="0" width="400" style="stroke:none;" height="64" />
|
||||||
<rect x="978" y="0" width="399" style="fill:none; stroke:black;" height="63" />
|
<rect x="978" y="0" width="399" style="fill:none; stroke:black;" height="63" />
|
||||||
<line x1="978" x2="1377" y1="26" style="fill:none; stroke:black;" y2="26" />
|
<line x1="978" x2="1377" y1="26" style="fill:none; stroke:black;" y2="26" />
|
||||||
<line x1="978" x2="1377" y1="36" style="fill:none; stroke:black;" y2="36" />
|
<line x1="978" x2="1377" y1="36" style="fill:none; stroke:black;" y2="36" />
|
||||||
<rect x="988" y="41" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="988" y="41" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="988" y="41" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAiklEQVR42rVRgQ2A
|
<image x="988" y="41" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAiklEQVR42rVRgQ2A
|
||||||
IAwDwiF+4k7hE/WTnbJP3CdYoyEoqJjoQsiAdrSbjTGap7CTjcMOcy3ofu6xtxIQ
|
IAwDwiF+4k7hE/WTnbJP3CdYoyEoqJjoQsiAdrSbjTGap7CTjcMOcy3ofu6xtxIQ
|
||||||
wpLyJkIerkUPBUqqfAmikXYlo+R66gSgA3XpiMKn3OZtPaEDcfm/vzHAElSNiP7W
|
wpLyJkIerkUPBUqqfAmikXYlo+R66gSgA3XpiMKn3OZtPaEDcfm/vzHAElSNiP7W
|
||||||
JZR/IKAtzArcttabo56KBzzDeHXGl6ZL0ItJf0BYALD3PkMWvNRAAAAAAElFTkSu
|
JZR/IKAtzArcttabo56KBzzDeHXGl6ZL0ItJf0BYALD3PkMWvNRAAAAAAElFTkSu
|
||||||
QmCC" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
QmCC" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="1007" y="54" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
<text x="1007" y="54" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
||||||
<image x="1140" y="5" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABBElEQVR42q1SYZnD
|
<image x="1140" y="5" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABBElEQVR42q1SYZnD
|
||||||
IAylWwVUQiTgYJFQCZmDOVjOwSREwiREQqdgSMBBFwajcLu7/bl8+fpR8l7egzCs
|
IAylWwVUQiTgYJFQCZmDOVjOwSREwiREQqdgSMBBFwajcLu7/bl8+fpR8l7egzCs
|
||||||
6+peISqi6pogREIavob1XGC7WkOmhIbQZkYf7gf7dgRDF9BPobLJjtnJpgPAWH5Z
|
6+peISqi6pogREIavob1XGC7WkOmhIbQZkYf7gf7dgRDF9BPobLJjtnJpgPAWH5Z
|
||||||
6Z28Z+aTXHLvjNagdKUQHSNnP3IViHC8HW1nbNkI9GycDGgwHWr95GPs3J9h7b+t
|
6Z28Z+aTXHLvjNagdKUQHSNnP3IViHC8HW1nbNkI9GycDGgwHWr95GPs3J9h7b+t
|
||||||
PxDa4+Z1Z8lsICAjmqtsDwVTIUCqspRDOxeXJbophmip5E/kCcHbLdlOIiyR5tmD
|
PxDa4+Z1Z8lsICAjmqtsDwVTIUCqspRDOxeXJbophmip5E/kCcHbLdlOIiyR5tmD
|
||||||
Lwo2nTpgDaF0rWHtIWG6wSU5KzylO6i6amabw+vZzMWbpU3FcprMyYW4bTL2T42q
|
Lwo2nTpgDaF0rWHtIWG6wSU5KzylO6i6amabw+vZzMWbpU3FcprMyYW4bTL2T42q
|
||||||
9G/x4Vr/gfAAzgaEraDyPpwAAAAASUVORK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
9G/x4Vr/gfAAzgaEraDyPpwAAAAASUVORK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="1159" y="17" style="fill:black; stroke:none;" xml:space="preserve">Operator</text>
|
<text x="1159" y="17" style="fill:black; stroke:none;" xml:space="preserve">Operator</text>
|
||||||
<rect x="1749" y="514" width="400" style="fill:rgb(191,191,191); stroke:none;" height="82" />
|
<rect x="1749" y="514" width="400" style="fill:rgb(191,191,191); stroke:none;" height="82" />
|
||||||
<rect x="1748" y="513" width="400" style="fill:rgb(127,127,127); stroke:none;" height="82" />
|
<rect x="1748" y="513" width="400" style="fill:rgb(127,127,127); stroke:none;" height="82" />
|
||||||
<rect x="1747" y="512" width="400" style="fill:rgb(63,63,63); stroke:none;" height="82" />
|
<rect x="1747" y="512" width="400" style="fill:rgb(63,63,63); stroke:none;" height="82" />
|
||||||
<rect x="1746" y="511" width="400" style="stroke:none;" height="82" />
|
<rect x="1746" y="511" width="400" style="stroke:none;" height="82" />
|
||||||
<rect x="1746" y="511" width="399" style="fill:none; stroke:black;" height="81" />
|
<rect x="1746" y="511" width="399" style="fill:none; stroke:black;" height="81" />
|
||||||
<line x1="1746" x2="2145" y1="537" style="fill:none; stroke:black;" y2="537" />
|
<line x1="1746" x2="2145" y1="537" style="fill:none; stroke:black;" y2="537" />
|
||||||
<line x1="1746" x2="2145" y1="547" style="fill:none; stroke:black;" y2="547" />
|
<line x1="1746" x2="2145" y1="547" style="fill:none; stroke:black;" y2="547" />
|
||||||
<rect x="1756" y="552" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="1756" y="552" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="1756" y="552" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="1756" y="552" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="1775" y="565" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
<text x="1775" y="565" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> codegen(in ClassFile, in CodeAttribute, in Expr, in boolean, in Menge): void</text>
|
||||||
<rect x="1756" y="570" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
<rect x="1756" y="570" width="380" style="stroke:none; font-weight:normal;" height="16" />
|
||||||
<image x="1756" y="570" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
<image x="1756" y="570" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAYUlEQVR42mP8//8/
|
||||||
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
AymAiYFEMAg1sGAKOTQ4wNkHGg4Q0ABUneCggOAmOBxYcACnk9BUg0QcFIBCgyeU
|
||||||
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
HjwgpAEYJgsWPACqgyCQyIEHaJ5GDyWgNLIv0VRjjwdMRfQNJQCIvyUFPaAxvQAA
|
||||||
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
AABJRU5ErkJggg==" style="fill:black; stroke:black; font-weight:normal;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="1775" y="583" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> if_codegen(in ClassFile, in CodeAttribute, in String, in boolean): void</text>
|
<text x="1775" y="583" style="fill:black; stroke:none; font-weight:normal;" xml:space="preserve"> if_codegen(in ClassFile, in CodeAttribute, in String, in boolean): void</text>
|
||||||
<image x="1901" y="516" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
<image x="1901" y="516" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAA7ElEQVR42q2SXXUE
|
||||||
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
IQyF09kVMBIiAQmRMBIioRIioRKQEgkjAQk4mF42wMzu6UN7ujl5APL3ceHjOA4a
|
||||||
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
lj1nd7qYiqjo9eQ+V2KPAJdrGPVwtzxPljMbqc/ZvZ5L7zUngOScw2zSt+bqpUza
|
||||||
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
YFtibvSObC8uWczzrER03u1+nS+sj8Yt5iVLPifTGLXQH+1/BcBoSCKBhzsPHibm
|
||||||
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
WN7MjKjue6W1lgp3TZ+aVDhBJZy0rL3qtiVO/dLQa4oAHSHRE0RrT/O9O1J7SwQK
|
||||||
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
v6b6iA4LpPg2W2eDQ0P4uoLkS+3nvxRsL1/t3bL+xr4BXAV0uUgPznkAAAAASUVO
|
||||||
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
RK5CYII=" style="fill:black; stroke:black;" height="16" preserveAspectRatio="none" />
|
||||||
<text x="1920" y="528" style="fill:black; stroke:none;" xml:space="preserve">LessEquOp</text>
|
<text x="1920" y="528" style="fill:black; stroke:none;" xml:space="preserve">LessEquOp</text>
|
||||||
<path d="M588 128 L588 108 L1179 108 L1179 67" style="fill:none; stroke:black;" />
|
<path d="M588 128 L588 108 L1179 108 L1179 67" style="fill:none; stroke:black;" />
|
||||||
<polygon style="stroke:none;" points=" 1179 67 1185 91 1173 91" />
|
<polygon style="stroke:none;" points=" 1179 67 1185 91 1173 91" />
|
||||||
<polygon style="fill:none; stroke:black;" points=" 1179 67 1185 91 1173 91" />
|
<polygon style="fill:none; stroke:black;" points=" 1179 67 1185 91 1173 91" />
|
||||||
<path d="M2220 184 L2220 108 L1179 108" style="fill:none; stroke:black;" />
|
<path d="M2220 184 L2220 108 L1179 108" style="fill:none; stroke:black;" />
|
||||||
<path d="M1167 141 L1167 108 L1179 108" style="fill:none; stroke:black;" />
|
<path d="M1167 141 L1167 108 L1179 108" style="fill:none; stroke:black;" />
|
||||||
<path d="M3121 179 L3121 108 L1179 108" style="fill:none; stroke:black;" />
|
<path d="M3121 179 L3121 108 L1179 108" style="fill:none; stroke:black;" />
|
||||||
<path d="M201 503 L201 483 L588 483 L588 195" style="fill:none; stroke:black;" />
|
<path d="M201 503 L201 483 L588 483 L588 195" style="fill:none; stroke:black;" />
|
||||||
<polygon style="stroke:none;" points=" 588 195 594 219 582 219" />
|
<polygon style="stroke:none;" points=" 588 195 594 219 582 219" />
|
||||||
<polygon style="fill:none; stroke:black;" points=" 588 195 594 219 582 219" />
|
<polygon style="fill:none; stroke:black;" points=" 588 195 594 219 582 219" />
|
||||||
<path d="M640 504 L640 483 L588 483" style="fill:none; stroke:black;" />
|
<path d="M640 504 L640 483 L588 483" style="fill:none; stroke:black;" />
|
||||||
<path d="M1070 505 L1070 483 L588 483" style="fill:none; stroke:black;" />
|
<path d="M1070 505 L1070 483 L588 483" style="fill:none; stroke:black;" />
|
||||||
<path d="M1501 509 L1501 483 L588 483" style="fill:none; stroke:black;" />
|
<path d="M1501 509 L1501 483 L588 483" style="fill:none; stroke:black;" />
|
||||||
<path d="M1947 511 L1947 483 L588 483" style="fill:none; stroke:black;" />
|
<path d="M1947 511 L1947 483 L588 483" style="fill:none; stroke:black;" />
|
||||||
<path d="M2383 512 L2383 483 L588 483" style="fill:none; stroke:black;" />
|
<path d="M2383 512 L2383 483 L588 483" style="fill:none; stroke:black;" />
|
||||||
<path d="M3350 452 L3350 438 L3121 438" style="fill:none; stroke:black;" />
|
<path d="M3350 452 L3350 438 L3121 438" style="fill:none; stroke:black;" />
|
||||||
<path d="M1358 375 L1358 347 L1167 347" style="fill:none; stroke:black;" />
|
<path d="M1358 375 L1358 347 L1167 347" style="fill:none; stroke:black;" />
|
||||||
<path d="M961 367 L961 347 L1167 347 L1167 280" style="fill:none; stroke:black;" />
|
<path d="M961 367 L961 347 L1167 347 L1167 280" style="fill:none; stroke:black;" />
|
||||||
<polygon style="stroke:none;" points=" 1167 280 1173 304 1161 304" />
|
<polygon style="stroke:none;" points=" 1167 280 1173 304 1161 304" />
|
||||||
<polygon style="fill:none; stroke:black;" points=" 1167 280 1173 304 1161 304" />
|
<polygon style="fill:none; stroke:black;" points=" 1167 280 1173 304 1161 304" />
|
||||||
<path d="M2225 322 L2225 302 L2220 302" style="fill:none; stroke:black;" />
|
<path d="M2225 322 L2225 302 L2220 302" style="fill:none; stroke:black;" />
|
||||||
<path d="M2871 458 L2871 438 L3121 438 L3121 246" style="fill:none; stroke:black;" />
|
<path d="M2871 458 L2871 438 L3121 438 L3121 246" style="fill:none; stroke:black;" />
|
||||||
<polygon style="stroke:none;" points=" 3121 246 3127 270 3115 270" />
|
<polygon style="stroke:none;" points=" 3121 246 3127 270 3115 270" />
|
||||||
<polygon style="fill:none; stroke:black;" points=" 3121 246 3127 270 3115 270" />
|
<polygon style="fill:none; stroke:black;" points=" 3121 246 3127 270 3115 270" />
|
||||||
<path d="M2658 322 L2658 302 L2220 302" style="fill:none; stroke:black;" />
|
<path d="M2658 322 L2658 302 L2220 302" style="fill:none; stroke:black;" />
|
||||||
<path d="M1792 322 L1792 302 L2220 302 L2220 213" style="fill:none; stroke:black;" />
|
<path d="M1792 322 L1792 302 L2220 302 L2220 213" style="fill:none; stroke:black;" />
|
||||||
<polygon style="stroke:none;" points=" 2220 213 2226 237 2214 237" />
|
<polygon style="stroke:none;" points=" 2220 213 2226 237 2214 237" />
|
||||||
<polygon style="fill:none; stroke:black;" points=" 2220 213 2226 237 2214 237" />
|
<polygon style="fill:none; stroke:black;" points=" 2220 213 2226 237 2214 237" />
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 193 KiB After Width: | Height: | Size: 195 KiB |
Before Width: | Height: | Size: 185 KiB After Width: | Height: | Size: 187 KiB |
@@ -1,24 +0,0 @@
|
|||||||
# Dateien
|
|
||||||
* sämtliche Datein im Ordner de.dhbwstuttgart.parser gehören zum Parser
|
|
||||||
* Auch zu beachten: pom.xml
|
|
||||||
* Ein Teil der pom.xml instruiert maven zur Kompilierung der Java8.g4 Datei
|
|
||||||
* VORSICHT! Wird nicht zwangsläufig von der IDE ausgeführt
|
|
||||||
* siehe Kapitel "Grammatik -> Parser"
|
|
||||||
|
|
||||||
|
|
||||||
## Unterordner antlr
|
|
||||||
* Java8.g4
|
|
||||||
* die eigentliche Java Grammatik
|
|
||||||
* hier wurden Anpassungen vorgenommen, damit sie auch typloses Java annimmt
|
|
||||||
* alle anderen Dateien in diesem Ordner sind vom ANTLR-Parsergenerator autogeneriert
|
|
||||||
|
|
||||||
## Unterordner SyntaxTreeGenerator
|
|
||||||
* SyntaxTreeGenerator
|
|
||||||
* TODO
|
|
||||||
|
|
||||||
# Grammatik -> Parser
|
|
||||||
* Die Antlr-Grammatik (Java8.g4) wandelt
|
|
||||||
* Folgende Stellen sind relevant
|
|
||||||
* TODO
|
|
||||||
|
|
||||||
|
|
@@ -0,0 +1 @@
|
|||||||
|
5da32a6f73bb3ccac5dc264606071605
|
@@ -0,0 +1 @@
|
|||||||
|
bcb7e8eb537f65ec0110731a924a3d4d3bba7805
|
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<groupId>de.dhbwstuttgart</groupId>
|
||||||
|
<artifactId>JavaTXcompiler</artifactId>
|
||||||
|
<version>0.1</version>
|
||||||
|
</project>
|
@@ -0,0 +1 @@
|
|||||||
|
a909ae513fbc19ba7c25b0cbb9871db6
|
@@ -0,0 +1 @@
|
|||||||
|
4863f156f9b2754ccff7128ff372a8e1e11ee0f8
|
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<metadata>
|
||||||
|
<groupId>de.dhbwstuttgart</groupId>
|
||||||
|
<artifactId>JavaTXcompiler</artifactId>
|
||||||
|
<versioning>
|
||||||
|
<release>0.1</release>
|
||||||
|
<versions>
|
||||||
|
<version>0.1</version>
|
||||||
|
</versions>
|
||||||
|
<lastUpdated>20180119143709</lastUpdated>
|
||||||
|
</versioning>
|
||||||
|
</metadata>
|
@@ -0,0 +1 @@
|
|||||||
|
f023e768b9a1e74695541c63858fa86c
|
@@ -0,0 +1 @@
|
|||||||
|
705a6736ea0a93b18743edd577dcb3c5e6dd518e
|
230
pom.xml
@@ -1,126 +1,112 @@
|
|||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
|
||||||
http://maven.apache.org/maven-v4_0_0.xsd">
|
http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>de.dhbwstuttgart</groupId>
|
<groupId>de.dhbwstuttgart</groupId>
|
||||||
<artifactId>JavaTXcompiler</artifactId>
|
<artifactId>JavaTXcompiler</artifactId>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
<version>0.1</version>
|
||||||
|
<name>JavaTXcompiler</name>
|
||||||
|
<url>http://maven.apache.org</url>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>junit</groupId>
|
||||||
|
<artifactId>junit</artifactId>
|
||||||
|
<version>4.0</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.antlr</groupId>
|
||||||
|
<artifactId>antlr4</artifactId>
|
||||||
|
<version>4.7</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>commons-io</groupId>
|
||||||
|
<artifactId>commons-io</artifactId>
|
||||||
|
<version>2.6</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.guava</groupId>
|
||||||
|
<artifactId>guava</artifactId>
|
||||||
|
<version>22.0</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.reflections</groupId>
|
||||||
|
<artifactId>reflections</artifactId>
|
||||||
|
<version>0.9.11</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.ow2.asm</groupId>
|
||||||
|
<artifactId>asm-all</artifactId>
|
||||||
|
<version>[4.0.0,)</version>
|
||||||
|
</dependency>
|
||||||
|
<!--
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.bitbucket.mstrobel</groupId>
|
||||||
|
<artifactId>procyon-reflection</artifactId>
|
||||||
|
<version>[0.5.32,)</version>
|
||||||
|
</dependency> -->
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
<version>0.1</version>
|
<build>
|
||||||
<name>JavaTXcompiler</name>
|
<directory>target</directory>
|
||||||
<url>http://maven.apache.org</url>
|
<outputDirectory>target/classes</outputDirectory>
|
||||||
<dependencies>
|
<finalName>${project.artifactId}-${project.version}</finalName>
|
||||||
<dependency>
|
<testOutputDirectory>target/test-classes</testOutputDirectory>
|
||||||
<groupId>junit</groupId>
|
<sourceDirectory>src/</sourceDirectory>
|
||||||
<artifactId>junit</artifactId>
|
<testSourceDirectory>test/</testSourceDirectory>
|
||||||
<version>4.11</version>
|
<plugins>
|
||||||
<scope>test</scope>
|
<plugin>
|
||||||
</dependency>
|
<groupId>org.antlr</groupId>
|
||||||
<!-- https://mvnrepository.com/artifact/org.antlr/antlr4 -->
|
<artifactId>antlr4-maven-plugin</artifactId>
|
||||||
<dependency>
|
<version>4.7</version>
|
||||||
<groupId>org.antlr</groupId>
|
<executions>
|
||||||
<artifactId>antlr4</artifactId>
|
<execution>
|
||||||
<version>4.11.1</version>
|
<id>antlr</id>
|
||||||
</dependency>
|
<goals>
|
||||||
<dependency>
|
<goal>antlr4</goal>
|
||||||
<groupId>commons-io</groupId>
|
</goals>
|
||||||
<artifactId>commons-io</artifactId>
|
<configuration>
|
||||||
<version>2.6</version>
|
<sourceDirectory>src/de/dhbwstuttgart/parser/antlr/</sourceDirectory>
|
||||||
</dependency>
|
<outputDirectory>src/de/dhbwstuttgart/parser/antlr/</outputDirectory>
|
||||||
<dependency>
|
<arguments>
|
||||||
<groupId>com.google.guava</groupId>
|
<argument>-package</argument>
|
||||||
<artifactId>guava</artifactId>
|
<argument>de.dhbwstuttgart.parser.antlr</argument>
|
||||||
<version>22.0</version>
|
</arguments>
|
||||||
</dependency>
|
</configuration>
|
||||||
<dependency>
|
</execution>
|
||||||
<groupId>org.reflections</groupId>
|
<execution>
|
||||||
<artifactId>reflections</artifactId>
|
<id>aspParser</id>
|
||||||
<version>0.9.11</version>
|
<goals>
|
||||||
</dependency>
|
<goal>antlr4</goal>
|
||||||
<!-- https://mvnrepository.com/artifact/org.ow2.asm/asm -->
|
</goals>
|
||||||
<dependency>
|
<configuration>
|
||||||
<groupId>org.ow2.asm</groupId>
|
<sourceDirectory>src/de/dhbwstuttgart/sat/asp/parser/antlr/</sourceDirectory>
|
||||||
<artifactId>asm</artifactId>
|
<outputDirectory>src/de/dhbwstuttgart/sat/asp/parser/antlr/</outputDirectory>
|
||||||
<version>7.0</version>
|
<arguments>
|
||||||
</dependency>
|
<argument>-package</argument>
|
||||||
</dependencies>
|
<argument>de.dhbwstuttgart.sat.asp.parser.antlr</argument>
|
||||||
|
</arguments>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
|
||||||
<build>
|
</executions>
|
||||||
<plugins>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>3.8.0</version>
|
<version>2.3.2</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<compilerArgs>--enable-preview</compilerArgs>
|
<source>8</source>
|
||||||
<source>19</source>
|
<target>8</target>
|
||||||
<target>19</target>
|
</configuration>
|
||||||
</configuration>
|
</plugin>
|
||||||
</plugin>
|
</plugins>
|
||||||
<plugin>
|
</build>
|
||||||
<groupId>org.antlr</groupId>
|
<properties>
|
||||||
<artifactId>antlr4-maven-plugin</artifactId>
|
<maven.compiler.source>1.8</maven.compiler.source>
|
||||||
<version>4.11.1</version>
|
<maven.compiler.target>1.8</maven.compiler.target>
|
||||||
<executions>
|
</properties>
|
||||||
<execution>
|
|
||||||
<id>antlr</id>
|
|
||||||
<goals>
|
|
||||||
<goal>antlr4</goal>
|
|
||||||
</goals>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-jar-plugin</artifactId>
|
|
||||||
<configuration>
|
|
||||||
<archive>
|
|
||||||
<manifest>
|
|
||||||
<mainClass>de.dhbwstuttgart.core.ConsoleInterface</mainClass>
|
|
||||||
</manifest>
|
|
||||||
</archive>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<artifactId>maven-assembly-plugin</artifactId>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<phase>package</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>single</goal>
|
|
||||||
</goals>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
<configuration>
|
|
||||||
<archive>
|
|
||||||
<manifest>
|
|
||||||
<mainClass>de.dhbwstuttgart.core.ConsoleInterface</mainClass>
|
|
||||||
</manifest>
|
|
||||||
</archive>
|
|
||||||
<descriptorRefs>
|
|
||||||
<descriptorRef>jar-with-dependencies</descriptorRef>
|
|
||||||
</descriptorRefs>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
<repositories>
|
|
||||||
<repository>
|
|
||||||
<id>maven-repository</id>
|
|
||||||
<url>file:///${project.basedir}/target</url>
|
|
||||||
</repository>
|
|
||||||
</repositories>
|
|
||||||
<properties>
|
|
||||||
<maven.compiler.source>19</maven.compiler.source>
|
|
||||||
<maven.compiler.target>19</maven.compiler.target>
|
|
||||||
<mainClass>de.dhbwstuttgart.core.ConsoleInterface</mainClass>
|
|
||||||
</properties>
|
|
||||||
<distributionManagement>
|
|
||||||
<repository>
|
|
||||||
<id>maven-repository</id>
|
|
||||||
<name>MyCo Internal Repository</name>
|
|
||||||
<url>file:///${project.basedir}/maven-repository/</url>
|
|
||||||
</repository>
|
|
||||||
</distributionManagement>
|
|
||||||
</project>
|
</project>
|
||||||
|
@@ -1,10 +0,0 @@
|
|||||||
class Assign {
|
|
||||||
|
|
||||||
assign(x, y) {
|
|
||||||
x = y;
|
|
||||||
}
|
|
||||||
|
|
||||||
assign2(x, y) {
|
|
||||||
assign(x,y);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,13 +0,0 @@
|
|||||||
class Box<A>{
|
|
||||||
void m(A a){}
|
|
||||||
}
|
|
||||||
|
|
||||||
class B { }
|
|
||||||
|
|
||||||
class Box_Main extends B {
|
|
||||||
|
|
||||||
m(b) {
|
|
||||||
b.m(new Box_Main());
|
|
||||||
b.m(new B());
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,13 +0,0 @@
|
|||||||
class Box<A>{
|
|
||||||
A f;
|
|
||||||
}
|
|
||||||
|
|
||||||
class B { }
|
|
||||||
|
|
||||||
class Box_Main extends B {//Fehler Bugzilla Bug 230
|
|
||||||
|
|
||||||
m(b) {
|
|
||||||
b.f = new Box_Main();
|
|
||||||
b.f = new B();
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,18 +0,0 @@
|
|||||||
import java.lang.Object;
|
|
||||||
import java.util.Vector;
|
|
||||||
|
|
||||||
class CaptureConversion {
|
|
||||||
|
|
||||||
<X> void assign(Vector<X> v1, Vector<X> v2) {
|
|
||||||
v1 = v2;
|
|
||||||
}
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
Vector<?> v1;
|
|
||||||
v1 = new Vector<Object>();
|
|
||||||
Vector<? extends Object> v2;
|
|
||||||
v2 = new Vector<Object>();
|
|
||||||
v1 = v2;
|
|
||||||
assign(v1, v2);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,12 +0,0 @@
|
|||||||
import java.util.Vector;
|
|
||||||
import java.util.List;
|
|
||||||
import java.lang.Integer;
|
|
||||||
|
|
||||||
class FCTest1 extends Vector<Vector<Integer>> {
|
|
||||||
fc1() {
|
|
||||||
var y;
|
|
||||||
var z;
|
|
||||||
y.add(z);
|
|
||||||
return y;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,11 +0,0 @@
|
|||||||
import java.util.Vector;
|
|
||||||
import java.util.List;
|
|
||||||
import java.lang.Integer;
|
|
||||||
|
|
||||||
class FCTest2 extends Vector<Vector<Integer>> {
|
|
||||||
fc2(y) {
|
|
||||||
var z;
|
|
||||||
y.add(z);
|
|
||||||
return y;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,19 +0,0 @@
|
|||||||
import java.util.Vector;
|
|
||||||
import java.lang.Integer;
|
|
||||||
|
|
||||||
class FCTest3 extends Pair<Vector<Integer>, Vector<Integer>> {
|
|
||||||
|
|
||||||
|
|
||||||
fc2(x) {
|
|
||||||
x.snd().addElement(2);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
fc2a() {
|
|
||||||
var y;
|
|
||||||
y.snd().addElement(2);
|
|
||||||
return y;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@@ -1,10 +0,0 @@
|
|||||||
import java.lang.Integer;
|
|
||||||
import java.util.Vector;
|
|
||||||
|
|
||||||
public class GenTest {
|
|
||||||
|
|
||||||
main(x) {
|
|
||||||
var v = new Vector();
|
|
||||||
return 1 + v.elementAt(0);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,9 +0,0 @@
|
|||||||
class Generics {
|
|
||||||
a;
|
|
||||||
id(b) { return b; }
|
|
||||||
setA(x) {
|
|
||||||
a = x;
|
|
||||||
return a;
|
|
||||||
}
|
|
||||||
m(x,y) { x = id(y); }
|
|
||||||
}
|
|
@@ -1,7 +0,0 @@
|
|||||||
import java.util.List;
|
|
||||||
class M {
|
|
||||||
void m(p, p2){
|
|
||||||
|
|
||||||
new addList().addLists(p, p2);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,9 +0,0 @@
|
|||||||
import java.util.Stack;
|
|
||||||
import java.util.Vector;
|
|
||||||
|
|
||||||
class OverloadingMain {
|
|
||||||
|
|
||||||
mmMain(x) { var y; return new O1().mm(y); }
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@@ -1,20 +0,0 @@
|
|||||||
import java.lang.Integer;
|
|
||||||
|
|
||||||
|
|
||||||
public class Overloading_Generics {
|
|
||||||
|
|
||||||
id1 (x) { return x; }
|
|
||||||
|
|
||||||
//Integer id (Integer x) { return x; }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
class Overloading_Generics1 {
|
|
||||||
main(x) {
|
|
||||||
var olg = new Overloading_Generics();
|
|
||||||
return olg.id1(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@@ -1,25 +0,0 @@
|
|||||||
import java.util.Vector;
|
|
||||||
import java.util.Stack;
|
|
||||||
|
|
||||||
class OverrideMain {
|
|
||||||
ovrMain(x) {
|
|
||||||
var overide;
|
|
||||||
overide.ovr(x);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
[
|
|
||||||
[(TPH L = java.util.Stack<TPH FTM>), (TPH N = java.lang.String), (TPH M = ? extends Override2), (TPH FTN, TPH FTM), (TPH K = void)],
|
|
||||||
[(TPH FTO, TPH FTP), (TPH M = ? extends Override2), (TPH N = java.lang.String), (TPH L = java.util.Stack<TPH FTP>), (TPH K = void)],
|
|
||||||
[(TPH M = ? extends Override2), (TPH N = java.lang.String), (TPH K = void), (TPH FTR, TPH FTQ), (TPH L = java.util.Vector<TPH FTQ>)],
|
|
||||||
[(TPH FTT, TPH FTS), (TPH M = ? extends Override2), (TPH L = java.util.Vector<TPH FTS>), (TPH K = void), (TPH N = java.lang.String)],
|
|
||||||
[(TPH L = java.util.Vector<TPH FTV>), (TPH M = ? extends Override2), (TPH N = java.lang.String), (TPH FTU, TPH FTV), (TPH K = void)],
|
|
||||||
[(TPH FTX, TPH FTW), (TPH M = ? extends Override2), (TPH L = java.util.Vector<TPH FTW>), (TPH K = void), (TPH N = java.lang.String)],
|
|
||||||
[(TPH M = ? extends Override2), (TPH L = java.util.Stack<TPH FTZ>), (TPH K = void), (TPH FTY, TPH FTZ), (TPH N = java.lang.String)],
|
|
||||||
[(TPH FUB, TPH FUA), (TPH K = void), (TPH M = ? extends Override2), (TPH N = java.lang.String), (TPH L = java.util.Vector<TPH FUA>)],
|
|
||||||
[(TPH N = java.lang.String), (TPH L = java.util.Vector<TPH FUC>), (TPH FUD, TPH FUC), (TPH M = ? extends Override2), (TPH K = void)],
|
|
||||||
[(TPH N = java.lang.String), (TPH FUF, TPH FUE), (TPH M = ? extends Override2), (TPH K = void), (TPH L = java.util.Vector<TPH FUE>)]]
|
|
||||||
|
|
||||||
[[(TPH M = ? extends Override2), (TPH MNX, TPH MNY), (TPH N = java.lang.String), (TPH K = void), (TPH L = java.util.Stack<TPH MNY>)], [(TPH L = java.util.Stack<TPH MOC>), (TPH N = java.lang.String), (TPH M = ? extends Override2), (TPH K = void), (TPH MOB, TPH MOC)], [(TPH M = ? extends Override2), (TPH N = java.lang.String), (TPH MNZ, TPH MOA), (TPH L = java.util.Vector<TPH MOA>), (TPH K = void)], [(TPH L = java.util.Vector<TPH MOE>), (TPH K = void), (TPH M = ? extends Override2), (TPH MOD, TPH MOE), (TPH N = java.lang.String)], [(TPH M = ? extends Override2), (TPH K = void), (TPH N = java.lang.String), (TPH MOF, TPH MOG), (TPH L = java.util.Stack<TPH MOG>)], [(TPH L = java.util.Vector<TPH MOI>), (TPH K = void), (TPH MOH, TPH MOI), (TPH M = ? extends Override2), (TPH N = java.lang.String)], [(TPH L = java.util.Vector<TPH MOK>), (TPH MOJ, TPH MOK), (TPH K = void), (TPH M = ? extends Override2), (TPH N = java.lang.String)], [(TPH MOL, TPH MOM), (TPH L = java.util.Stack<TPH MOM>), (TPH M = ? extends Override2), (TPH K = void), (TPH N = java.lang.String)], [(TPH L = java.util.Vector<TPH MOO>), (TPH MON, TPH MOO), (TPH N = java.lang.String), (TPH K = void), (TPH M = ? extends Override2)], [(TPH L = java.util.Stack<TPH MOP>), (TPH N = java.lang.String), (TPH M = ? extends Override2), (TPH MOQ, TPH MOP), (TPH K = void)]]
|
|
||||||
*/
|
|
@@ -1,11 +0,0 @@
|
|||||||
import java.util.Vector;
|
|
||||||
import java.util.Stack;
|
|
||||||
|
|
||||||
class OverrideMainRet {
|
|
||||||
ovrMain() {
|
|
||||||
var overide;
|
|
||||||
var x;
|
|
||||||
overide.ovr(x);
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,36 +0,0 @@
|
|||||||
import java.util.Vector;
|
|
||||||
import java.lang.Boolean;
|
|
||||||
import java.lang.Object;
|
|
||||||
|
|
||||||
class Pair<U, T> {
|
|
||||||
U a;
|
|
||||||
T b;
|
|
||||||
|
|
||||||
make(x) {
|
|
||||||
var ret = new Pair<>();
|
|
||||||
ret.a = x.elementAt(0);
|
|
||||||
ret.b = x.elementAt(1);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
eq(a, b) {
|
|
||||||
b = a;
|
|
||||||
return a == b;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
compare( p) {
|
|
||||||
return eq(p.a, p.b);
|
|
||||||
//return p.a == p.b;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
void m(Pair<?, ?> p, Vector<?> b)
|
|
||||||
{
|
|
||||||
//this.compare(p); //1, type incorrect
|
|
||||||
this.compare(this.make(b)); //2, OK
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
|
@@ -1,18 +0,0 @@
|
|||||||
class Pair<T, U> {
|
|
||||||
T x;
|
|
||||||
U y;
|
|
||||||
|
|
||||||
public Pair() { }
|
|
||||||
public Pair(T x, U y) {
|
|
||||||
this.x = x;
|
|
||||||
this.y = y;
|
|
||||||
}
|
|
||||||
|
|
||||||
public T fst () {
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
|
|
||||||
public U snd () {
|
|
||||||
return y;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,19 +0,0 @@
|
|||||||
import java.util.Vector;
|
|
||||||
import java.util.Stack;
|
|
||||||
|
|
||||||
class Put {
|
|
||||||
|
|
||||||
putElement(ele, v) {
|
|
||||||
v.addElement(ele);
|
|
||||||
}
|
|
||||||
|
|
||||||
putElement(ele, s) {
|
|
||||||
s.push(ele);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
main(ele, x) {
|
|
||||||
putElement(ele, x);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@@ -1,4 +0,0 @@
|
|||||||
class Test {
|
|
||||||
a;
|
|
||||||
Test b;
|
|
||||||
}
|
|
@@ -1,12 +0,0 @@
|
|||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
class TestSubTypless {
|
|
||||||
m(a){
|
|
||||||
var l = new ArrayList<>();
|
|
||||||
l.add(a);
|
|
||||||
return m2(l).get(0);
|
|
||||||
}
|
|
||||||
m2(a){
|
|
||||||
return m(a);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,3 +0,0 @@
|
|||||||
class Twice {
|
|
||||||
twice = f -> x -> f.apply(f.apply(x));
|
|
||||||
}
|
|
@@ -1,12 +0,0 @@
|
|||||||
import java.util.Vector;
|
|
||||||
import java.lang.Boolean;
|
|
||||||
|
|
||||||
class UseWildcardPair{
|
|
||||||
|
|
||||||
void m(Pair<?, ?> p, Vector<?> b)
|
|
||||||
{
|
|
||||||
p.compare(p); //1, type incorrect
|
|
||||||
p.compare(p.make(b)); //2, OK
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@@ -1,5 +0,0 @@
|
|||||||
class Var {
|
|
||||||
|
|
||||||
var(x) { var y; }
|
|
||||||
|
|
||||||
}
|
|
@@ -1,15 +0,0 @@
|
|||||||
import java.util.Vector;
|
|
||||||
import java.lang.Integer;
|
|
||||||
|
|
||||||
|
|
||||||
public class VectorConstAdd {
|
|
||||||
vectorAdd(v1) {
|
|
||||||
var i = 0;
|
|
||||||
var erg = new Vector<>();
|
|
||||||
while (i < v1.size()) {
|
|
||||||
erg.addElement(v1.elementAt(i) + 1);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
return erg;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,9 +0,0 @@
|
|||||||
import java.util.Vector;
|
|
||||||
|
|
||||||
class VectorNotObject {
|
|
||||||
|
|
||||||
vectorAddAll(v1, v2) {
|
|
||||||
v1.addAll(v2);
|
|
||||||
return v1;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,16 +0,0 @@
|
|||||||
import java.util.Vector;
|
|
||||||
import java.lang.Integer;
|
|
||||||
import java.lang.String;
|
|
||||||
|
|
||||||
class WildcardCaptureConversionTest {
|
|
||||||
|
|
||||||
m(x, y ,z) {
|
|
||||||
x = new Vector<Integer>();
|
|
||||||
y = new Vector<String>();
|
|
||||||
x.add(1);
|
|
||||||
y.add("2");
|
|
||||||
//Integer i = x.elementAt(0);
|
|
||||||
//String s = y.elementAt(0);
|
|
||||||
return z.vectorAddAll(x, y);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,8 +0,0 @@
|
|||||||
class Wildcard_Andi {
|
|
||||||
|
|
||||||
Test<? extends A> ex = new Test<>();
|
|
||||||
|
|
||||||
Test<? super A> sup = new Test<>();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@@ -1,8 +0,0 @@
|
|||||||
import java.util.List;
|
|
||||||
|
|
||||||
class addList {
|
|
||||||
addLists(a, b){
|
|
||||||
a.add(b.get(0));
|
|
||||||
b.add(a.get(0));
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,22 +0,0 @@
|
|||||||
import java.util.List;
|
|
||||||
import java.lang.Integer;
|
|
||||||
import java.lang.Object;
|
|
||||||
import java.lang.Boolean;
|
|
||||||
|
|
||||||
class wildcardPair {
|
|
||||||
|
|
||||||
make(l) {
|
|
||||||
var p = new Pair(l.get(0), l.get(1));
|
|
||||||
return p;
|
|
||||||
}
|
|
||||||
//<X>Boolean compare(Pair<X, X> x) { return true; }
|
|
||||||
void m(l) {
|
|
||||||
Object o = l.get(0);
|
|
||||||
|
|
||||||
//Pair<? extends Object, ? extends Object> p;
|
|
||||||
//List<?> b;
|
|
||||||
//this.compare(p); //1, type incorrect
|
|
||||||
make(l);
|
|
||||||
//this.compare(this.make(b)); //2, OK
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,8 +0,0 @@
|
|||||||
import java.lang.Integer;
|
|
||||||
import java.lang.String;
|
|
||||||
|
|
||||||
public class AA {
|
|
||||||
m(Integer i) { return "AA"; }
|
|
||||||
|
|
||||||
m2(AA x) { return "AA"; }
|
|
||||||
}
|
|
@@ -1,30 +0,0 @@
|
|||||||
import java.lang.Integer;
|
|
||||||
import java.lang.Boolean;
|
|
||||||
import java.lang.String;
|
|
||||||
import java.lang.Byte;
|
|
||||||
import java.lang.Short;
|
|
||||||
import java.lang.Long;
|
|
||||||
import java.lang.Float;
|
|
||||||
import java.lang.Double;
|
|
||||||
import java.lang.Character;
|
|
||||||
|
|
||||||
class AssignToLit {
|
|
||||||
void m(){
|
|
||||||
// String s = "Test";
|
|
||||||
// Boolean b = false;
|
|
||||||
// Byte byte1 = 5;
|
|
||||||
// Byte byte2 = 55;
|
|
||||||
// Short short1 = 5;
|
|
||||||
// Short short2 = 55;
|
|
||||||
// Integer int1 = 5;
|
|
||||||
// Integer int2 = 8888888;
|
|
||||||
// Long long1 = 1;
|
|
||||||
// Long long2 = 5;
|
|
||||||
// Long long3 = 89989898;
|
|
||||||
// Float float1 = 1;
|
|
||||||
// Float float2 = 55;
|
|
||||||
// Double d1 = 1;
|
|
||||||
// Double d2 = 55;
|
|
||||||
Character c = 'A';
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,3 +0,0 @@
|
|||||||
import java.lang.Integer;
|
|
||||||
|
|
||||||
public class BB extends AA { }
|
|
@@ -1,17 +0,0 @@
|
|||||||
import java.lang.Integer;
|
|
||||||
import java.lang.Double;
|
|
||||||
|
|
||||||
public class BinaryInMeth {
|
|
||||||
|
|
||||||
m(a){
|
|
||||||
return ++a;
|
|
||||||
}
|
|
||||||
|
|
||||||
m2(a,b){
|
|
||||||
return m(a+b);
|
|
||||||
}
|
|
||||||
|
|
||||||
m3(a) {
|
|
||||||
return m(++a);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,7 +0,0 @@
|
|||||||
class B { }
|
|
||||||
class Box_Main extends B {
|
|
||||||
m(b) {
|
|
||||||
b.m(new Box_Main());
|
|
||||||
b.m(new B());
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,3 +0,0 @@
|
|||||||
class Box<A> {
|
|
||||||
void m(A a) { }
|
|
||||||
}
|
|
@@ -1,11 +0,0 @@
|
|||||||
import java.lang.Integer;
|
|
||||||
import java.lang.String;
|
|
||||||
|
|
||||||
|
|
||||||
public class CC extends BB {
|
|
||||||
m(Integer i) {
|
|
||||||
return "CC";
|
|
||||||
}
|
|
||||||
|
|
||||||
m2(CC x) { return "CC"; }
|
|
||||||
}
|
|
@@ -1,8 +0,0 @@
|
|||||||
import java.lang.Integer;
|
|
||||||
|
|
||||||
public class ClassGenLam {
|
|
||||||
lam = x-> x;
|
|
||||||
// public ClassGenLam() {
|
|
||||||
// lam = x->x;
|
|
||||||
// }
|
|
||||||
}
|
|
@@ -1,6 +0,0 @@
|
|||||||
class Cycle {
|
|
||||||
m(x, y) {
|
|
||||||
y = x;
|
|
||||||
x = y;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,4 +0,0 @@
|
|||||||
import java.lang.Integer;
|
|
||||||
|
|
||||||
public class DD extends CC { }
|
|
||||||
|
|
@@ -1,11 +0,0 @@
|
|||||||
public class DuMethod{
|
|
||||||
|
|
||||||
method(a){
|
|
||||||
return a+a;
|
|
||||||
}
|
|
||||||
|
|
||||||
method(a){
|
|
||||||
return a;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@@ -1,8 +0,0 @@
|
|||||||
public class EmptyMethod{
|
|
||||||
|
|
||||||
public void m1(){
|
|
||||||
System.out.println("test");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void m2(){}
|
|
||||||
}
|
|
@@ -1,9 +0,0 @@
|
|||||||
import java.lang.String;
|
|
||||||
|
|
||||||
public class Example {
|
|
||||||
|
|
||||||
public m() {
|
|
||||||
String x = "X";
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,3 +0,0 @@
|
|||||||
public class Exceptions {
|
|
||||||
// m(Integer i) throws
|
|
||||||
}
|
|
@@ -1,15 +0,0 @@
|
|||||||
import java.lang.Integer;
|
|
||||||
//import java.lang.Double;
|
|
||||||
|
|
||||||
public class Fac {
|
|
||||||
|
|
||||||
getFac(n){
|
|
||||||
var res = 1;
|
|
||||||
var i = 1;
|
|
||||||
while(i<=n) {
|
|
||||||
res = res * i;
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,52 +0,0 @@
|
|||||||
import java.lang.Integer;
|
|
||||||
//import java.lang.Long;
|
|
||||||
//import java.lang.Short;
|
|
||||||
|
|
||||||
public class Faculty {
|
|
||||||
public fact;
|
|
||||||
Faculty() {
|
|
||||||
fact = (x) -> {
|
|
||||||
if (x == 1) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return x * (fact.apply(x-1));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public getFact(x) {
|
|
||||||
return fact.apply(x);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// m (x) {
|
|
||||||
//
|
|
||||||
//// var fact = (x) -> {
|
|
||||||
//// if (x == 1) {
|
|
||||||
//// return x;
|
|
||||||
//// }
|
|
||||||
//// else {
|
|
||||||
//// return x * (fact.apply(x-1));
|
|
||||||
//// }
|
|
||||||
//// };
|
|
||||||
//// return fact;
|
|
||||||
//// var x = 13;
|
|
||||||
//// if(x>22) {
|
|
||||||
//// return 0;
|
|
||||||
//// }else if(x <1){
|
|
||||||
//// return x;
|
|
||||||
//// }else {
|
|
||||||
//// return 1;
|
|
||||||
//// }
|
|
||||||
//
|
|
||||||
// if (x < 0) {
|
|
||||||
// return 0;
|
|
||||||
// }else if(x<2) {
|
|
||||||
// return x;
|
|
||||||
// } else {
|
|
||||||
// return x * m(x-1);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//}
|
|
@@ -1,10 +0,0 @@
|
|||||||
class Faculty2 {
|
|
||||||
|
|
||||||
m () {
|
|
||||||
|
|
||||||
var fact = (Integer x) -> {
|
|
||||||
return x;
|
|
||||||
};
|
|
||||||
return fact;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,9 +0,0 @@
|
|||||||
import java.lang.Integer;
|
|
||||||
|
|
||||||
public class Field {
|
|
||||||
public x = 5;
|
|
||||||
|
|
||||||
m(){
|
|
||||||
return x;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,4 +0,0 @@
|
|||||||
public class FieldTph {
|
|
||||||
a;
|
|
||||||
|
|
||||||
}
|
|
@@ -1,12 +0,0 @@
|
|||||||
public class FieldTph2 {
|
|
||||||
a;
|
|
||||||
|
|
||||||
m(b){
|
|
||||||
b = a;
|
|
||||||
return b;
|
|
||||||
}
|
|
||||||
|
|
||||||
m2(c){
|
|
||||||
a = c;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,26 +0,0 @@
|
|||||||
public class FieldTphConsMeth {
|
|
||||||
|
|
||||||
a;
|
|
||||||
public FieldTphConsMeth(c) {
|
|
||||||
a = id(c);
|
|
||||||
}
|
|
||||||
|
|
||||||
id(b) {
|
|
||||||
return b;
|
|
||||||
}
|
|
||||||
|
|
||||||
setA(x) {
|
|
||||||
a = x;
|
|
||||||
return a;
|
|
||||||
}
|
|
||||||
|
|
||||||
m(x,y) {
|
|
||||||
x = id(y);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*m2(x,y) {
|
|
||||||
x = setA(y);
|
|
||||||
return x;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
}
|
|
@@ -1,27 +0,0 @@
|
|||||||
import java.lang.Boolean;
|
|
||||||
|
|
||||||
public class FieldTphMMeth {
|
|
||||||
a;
|
|
||||||
|
|
||||||
public FieldTphMMeth(c,d,e) {
|
|
||||||
a = m(c,d,e);
|
|
||||||
}
|
|
||||||
|
|
||||||
m(b,d,e) {
|
|
||||||
if(e) {
|
|
||||||
return m3(b);
|
|
||||||
} else{
|
|
||||||
return m3(d);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
m2(b) {
|
|
||||||
a = m3(b);
|
|
||||||
}
|
|
||||||
|
|
||||||
m3(b){
|
|
||||||
return b;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@@ -1,30 +0,0 @@
|
|||||||
import java.lang.Integer;
|
|
||||||
import java.lang.Boolean;
|
|
||||||
|
|
||||||
class For{
|
|
||||||
Integer m(Integer x){
|
|
||||||
var c = x + 2;
|
|
||||||
// Boolean b = true;
|
|
||||||
// c = 5;
|
|
||||||
// c++;
|
|
||||||
// ++c;
|
|
||||||
// c--;
|
|
||||||
// --c;
|
|
||||||
// while(x<2){
|
|
||||||
// x = x +1;
|
|
||||||
// b = false;
|
|
||||||
// }
|
|
||||||
return c;
|
|
||||||
// for(int i = 0;i<10;i++) {
|
|
||||||
// x = x + 5;
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
|
|
||||||
// m2(Integer x){
|
|
||||||
// if(x<2) {
|
|
||||||
// return 1;
|
|
||||||
// }else {
|
|
||||||
// return 2;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
|
@@ -1,12 +0,0 @@
|
|||||||
import java.util.Vector;
|
|
||||||
import java.lang.Integer;
|
|
||||||
import java.lang.String;
|
|
||||||
//import java.lang.Byte;
|
|
||||||
//import java.lang.Boolean;
|
|
||||||
|
|
||||||
public class FunOL {
|
|
||||||
|
|
||||||
add(f, y) {
|
|
||||||
return f.apply() + y;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,8 +0,0 @@
|
|||||||
import java.lang.Integer;
|
|
||||||
import java.util.Vector;
|
|
||||||
|
|
||||||
public class Gen{
|
|
||||||
Vector<Integer> m(Vector<Integer> v){
|
|
||||||
return v;
|
|
||||||
}
|
|
||||||
}
|
|