Paar Feldzugriffsbeispiele
authorSnafu <stuff@c-gabriel.at>
Thu, 29 Apr 2010 16:42:53 +0000 (18:42 +0200)
committerSnafu <stuff@c-gabriel.at>
Thu, 29 Apr 2010 16:42:53 +0000 (18:42 +0200)
ag/snafu_06.3 [new file with mode: 0644]
ag/snafu_07.3 [new file with mode: 0644]
ag/snafu_08.0 [new file with mode: 0644]
ag/snafu_09.0 [new file with mode: 0644]
ag/snafu_10.3 [new file with mode: 0644]
ag/snafu_11.3 [new file with mode: 0644]
ag/snafu_12.0 [new file with mode: 0644]
ag/snafu_13.0 [new file with mode: 0644]

diff --git a/ag/snafu_06.3 b/ag/snafu_06.3
new file mode 100644 (file)
index 0000000..e4fa6e8
--- /dev/null
@@ -0,0 +1,9 @@
+struct g1 g2 g3 g4 end;
+struct g5 g6 end;
+
+method foo(p1 p2 p3)
+       var l1 := 0;
+       var l2 := g6;
+
+       g1.g2.l1 := 0xDEAD; /* l1 kein feld */
+end;
diff --git a/ag/snafu_07.3 b/ag/snafu_07.3
new file mode 100644 (file)
index 0000000..8de0724
--- /dev/null
@@ -0,0 +1,9 @@
+struct g1 g2 g3 g4 end;
+struct g5 g6 end;
+
+method foo(p1 p2 p3)
+       var l1 := 0;
+       var l2 := g6;
+
+       g1.g2.p1 := 0xDEAD; /* p1 kein feld */
+end;
diff --git a/ag/snafu_08.0 b/ag/snafu_08.0
new file mode 100644 (file)
index 0000000..5db9f8e
--- /dev/null
@@ -0,0 +1,9 @@
+struct g1 g2 g3 g4 end;
+struct g5 g6 end;
+
+method foo(p1 p2 p3)
+       var l1 := 0;
+       var l2 := g6;
+
+       l1.g5.g4 := 0x900d; /* ok */
+end;
diff --git a/ag/snafu_09.0 b/ag/snafu_09.0
new file mode 100644 (file)
index 0000000..7581693
--- /dev/null
@@ -0,0 +1,9 @@
+struct g1 g2 g3 g4 end;
+struct g5 g6 end;
+
+method foo(p1 p2 p3)
+       var l1 := 0;
+       var l2 := g6;
+
+       (4 - 23).g5.g4 := 0x900d; /* ok */
+end;
diff --git a/ag/snafu_10.3 b/ag/snafu_10.3
new file mode 100644 (file)
index 0000000..fa7e897
--- /dev/null
@@ -0,0 +1,9 @@
+struct g1 g2 g3 g4 end;
+struct g5 g6 end;
+
+method foo(p1 p2 p3)
+       var l1 := 0;
+       var l2 := g6;
+
+       g1.l2.g2 := 0xDEAD; /* l2 kein feld */
+end;
diff --git a/ag/snafu_11.3 b/ag/snafu_11.3
new file mode 100644 (file)
index 0000000..6456a50
--- /dev/null
@@ -0,0 +1,9 @@
+struct g1 g2 g3 g4 end;
+struct g5 g6 end;
+
+method foo(p1 p2 p3)
+       var l1 := 0;
+       var l2 := g6;
+
+       g1.p3.g6:= 0xDEAD; /* p3 kein feld */
+end;
diff --git a/ag/snafu_12.0 b/ag/snafu_12.0
new file mode 100644 (file)
index 0000000..72d7f98
--- /dev/null
@@ -0,0 +1,9 @@
+struct g1 g2 g3 g4 end;
+struct g5 g6 end;
+
+method foo(p1 p2 p3)
+       var l1 := 0;
+       var l2 := g6;
+
+       (not g2).g3.g6:= 0x900d; /* ok */
+end;
diff --git a/ag/snafu_13.0 b/ag/snafu_13.0
new file mode 100644 (file)
index 0000000..1d54662
--- /dev/null
@@ -0,0 +1,9 @@
+struct g1 g2 g3 g4 end;
+struct g5 g6 end;
+
+method foo(p1 p2 p3)
+       var l1 := 0;
+       var l2 := g6;
+
+       (l1 or p2).g3.g6:= 0x900d; /* ok */
+end;