Skip to content

Commit

Permalink
parser/ag: testfaelle von bsm17
Browse files Browse the repository at this point in the history
  • Loading branch information
lewurm committed May 3, 2010
1 parent 06caab1 commit 169a623
Show file tree
Hide file tree
Showing 14 changed files with 154 additions and 0 deletions.
33 changes: 33 additions & 0 deletions ag/zzbsm17_00.0
@@ -0,0 +1,33 @@
struct f1 end; /* Felddefinition */

method foo ( p1 p2 ) /* Methodendefinition, Parameterdefinition */

p1 := 1; /* Zuweisung */

var v1 := 1; /* Variablendefinition */

1; /* Ausdrucksanweisung */
not 1; /* Dito */

if p1 < p2 then /* If-Anweisung ohne Else-Zweig */
v1 := 2;
end;

if p1 < p2 then /* If-Anweisung mit Else-Zweig */
var v2 := 2;
else
v1 := p1;
end;

while (((((1 or 1 or 1 or 1 or 1 or 1))))) do (((((1))))).f1; end; /* While-Anweisung, lesender Feldzugriff */

var v2 := 5; /* Hier wieder erlaubt, war nur in if reserviert */
v2 := v1; /* lesender/schreibender Variablen/Feldzugriff */
f1 := f1; /* Dito */

v2(-500, 500, ); /* What a call */
v2(-500, 500, ).f1(-500,500); /* What another call */

return p1; /* Parameter sind in der ganzen Methode sichtbar */
end;

7 changes: 7 additions & 0 deletions ag/zzbsm17_01.3
@@ -0,0 +1,7 @@
method foo ( )
if 1 then
var v1 := 1;
else
v1 := 2;
end;
end;
3 changes: 3 additions & 0 deletions ag/zzbsm17_02.3
@@ -0,0 +1,3 @@
method foo ( p1 )
var p1 := 1;
end;
7 changes: 7 additions & 0 deletions ag/zzbsm17_03.3
@@ -0,0 +1,7 @@
method foo ( )
if 1 then
var v1 := 1;
end;

return v1;
end;
5 changes: 5 additions & 0 deletions ag/zzbsm17_04.3
@@ -0,0 +1,5 @@
method foo ( )
v1 := 1;
var v1 := 1;
return v1;
end;
6 changes: 6 additions & 0 deletions ag/zzbsm17_05.0
@@ -0,0 +1,6 @@
struct f1 end;

method foo ()
var f1 := 1;
end;

16 changes: 16 additions & 0 deletions ag/zzbsm17_06.3
@@ -0,0 +1,16 @@
struct f1 end;

method foo ( )

var v1 := 1;

/* Bei einem Variablen/Feldzugriff muss eine Variable oder ein Feld mit dem Namen sichtbar sein */
f1 := f1;
v1 := v1;

/* Bei einem Feldzugriff muss ein Feld mit dem Namen sichtbar sein */
this.f1 := this.f1;
this.v1 := this.v1;

return v1;
end;
33 changes: 33 additions & 0 deletions parser/zzbsm17_00.0
@@ -0,0 +1,33 @@
struct f1 end; /* Felddefinition */

method foo ( p1 p2 ) /* Methodendefinition, Parameterdefinition */

p1 := 1; /* Zuweisung */

var v1 := 1; /* Variablendefinition */

1; /* Ausdrucksanweisung */
not 1; /* Dito */

if p1 < p2 then /* If-Anweisung ohne Else-Zweig */
v1 := 2;
end;

if p1 < p2 then /* If-Anweisung mit Else-Zweig */
var v2 := 2;
else
v1 := p1;
end;

while (((((1 or 1 or 1 or 1 or 1 or 1))))) do (((((1))))).f1; end; /* While-Anweisung, lesender Feldzugriff */

var v2 := 5; /* Hier wieder erlaubt, war nur in if reserviert */
v2 := v1; /* lesender/schreibender Variablen/Feldzugriff */
f1 := f1; /* Dito */

v2(-500, 500, ); /* What a call */
v2(-500, 500, ).f1(-500,500); /* What another call */

return p1; /* Parameter sind in der ganzen Methode sichtbar */
end;

7 changes: 7 additions & 0 deletions parser/zzbsm17_01.0
@@ -0,0 +1,7 @@
method foo ( )
if 1 then
var v1 := 1;
else
v1 := 2;
end;
end;
3 changes: 3 additions & 0 deletions parser/zzbsm17_02.0
@@ -0,0 +1,3 @@
method foo ( p1 )
var p1 := 1;
end;
7 changes: 7 additions & 0 deletions parser/zzbsm17_03.0
@@ -0,0 +1,7 @@
method foo ( )
if 1 then
var v1 := 1;
end;

return v1;
end;
5 changes: 5 additions & 0 deletions parser/zzbsm17_04.0
@@ -0,0 +1,5 @@
method foo ( )
v1 := 1;
var v1 := 1;
return v1;
end;
6 changes: 6 additions & 0 deletions parser/zzbsm17_05.0
@@ -0,0 +1,6 @@
struct f1 end;

method foo ()
var f1 := 1;
end;

16 changes: 16 additions & 0 deletions parser/zzbsm17_06.0
@@ -0,0 +1,16 @@
struct f1 end;

method foo ( )

var v1 := 1;

/* Bei einem Variablen/Feldzugriff muss eine Variable oder ein Feld mit dem Namen sichtbar sein */
f1 := f1;
v1 := v1;

/* Bei einem Feldzugriff muss ein Feld mit dem Namen sichtbar sein */
this.f1 := this.f1;
this.v1 := this.v1;

return v1;
end;

0 comments on commit 169a623

Please sign in to comment.