From: Bernhard Urban Date: Mon, 3 May 2010 11:29:23 +0000 (+0200) Subject: parser/ag: testfaelle von bsm17 X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=testub10.git;a=commitdiff_plain;h=169a6232a279ffc0b1e9695d4f81afe3959e80cf;ds=sidebyside parser/ag: testfaelle von bsm17 --- diff --git a/ag/zzbsm17_00.0 b/ag/zzbsm17_00.0 new file mode 100644 index 0000000..5314bb3 --- /dev/null +++ b/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; + diff --git a/ag/zzbsm17_01.3 b/ag/zzbsm17_01.3 new file mode 100644 index 0000000..7ce046a --- /dev/null +++ b/ag/zzbsm17_01.3 @@ -0,0 +1,7 @@ +method foo ( ) + if 1 then + var v1 := 1; + else + v1 := 2; + end; +end; diff --git a/ag/zzbsm17_02.3 b/ag/zzbsm17_02.3 new file mode 100644 index 0000000..791203d --- /dev/null +++ b/ag/zzbsm17_02.3 @@ -0,0 +1,3 @@ +method foo ( p1 ) + var p1 := 1; +end; diff --git a/ag/zzbsm17_03.3 b/ag/zzbsm17_03.3 new file mode 100644 index 0000000..23be7ba --- /dev/null +++ b/ag/zzbsm17_03.3 @@ -0,0 +1,7 @@ +method foo ( ) + if 1 then + var v1 := 1; + end; + + return v1; +end; diff --git a/ag/zzbsm17_04.3 b/ag/zzbsm17_04.3 new file mode 100644 index 0000000..5b021fc --- /dev/null +++ b/ag/zzbsm17_04.3 @@ -0,0 +1,5 @@ +method foo ( ) + v1 := 1; + var v1 := 1; + return v1; +end; diff --git a/ag/zzbsm17_05.0 b/ag/zzbsm17_05.0 new file mode 100644 index 0000000..a8786a6 --- /dev/null +++ b/ag/zzbsm17_05.0 @@ -0,0 +1,6 @@ +struct f1 end; + +method foo () + var f1 := 1; +end; + diff --git a/ag/zzbsm17_06.3 b/ag/zzbsm17_06.3 new file mode 100644 index 0000000..6d17fd3 --- /dev/null +++ b/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; diff --git a/parser/zzbsm17_00.0 b/parser/zzbsm17_00.0 new file mode 100644 index 0000000..5314bb3 --- /dev/null +++ b/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; + diff --git a/parser/zzbsm17_01.0 b/parser/zzbsm17_01.0 new file mode 100644 index 0000000..7ce046a --- /dev/null +++ b/parser/zzbsm17_01.0 @@ -0,0 +1,7 @@ +method foo ( ) + if 1 then + var v1 := 1; + else + v1 := 2; + end; +end; diff --git a/parser/zzbsm17_02.0 b/parser/zzbsm17_02.0 new file mode 100644 index 0000000..791203d --- /dev/null +++ b/parser/zzbsm17_02.0 @@ -0,0 +1,3 @@ +method foo ( p1 ) + var p1 := 1; +end; diff --git a/parser/zzbsm17_03.0 b/parser/zzbsm17_03.0 new file mode 100644 index 0000000..23be7ba --- /dev/null +++ b/parser/zzbsm17_03.0 @@ -0,0 +1,7 @@ +method foo ( ) + if 1 then + var v1 := 1; + end; + + return v1; +end; diff --git a/parser/zzbsm17_04.0 b/parser/zzbsm17_04.0 new file mode 100644 index 0000000..5b021fc --- /dev/null +++ b/parser/zzbsm17_04.0 @@ -0,0 +1,5 @@ +method foo ( ) + v1 := 1; + var v1 := 1; + return v1; +end; diff --git a/parser/zzbsm17_05.0 b/parser/zzbsm17_05.0 new file mode 100644 index 0000000..a8786a6 --- /dev/null +++ b/parser/zzbsm17_05.0 @@ -0,0 +1,6 @@ +struct f1 end; + +method foo () + var f1 := 1; +end; + diff --git a/parser/zzbsm17_06.0 b/parser/zzbsm17_06.0 new file mode 100644 index 0000000..6d17fd3 --- /dev/null +++ b/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;