From d912a8905f35148053e095c57feacbff8ce263a5 Mon Sep 17 00:00:00 2001 From: pechoux <romain.pechoux@loria.fr> Date: Wed, 12 Feb 2020 11:07:29 +0100 Subject: [PATCH] examples revised --- examples/{t10.java => example1.txt} | 2 ++ examples/{t13c.java => example10.txt} | 2 ++ examples/{t13d.java => example11.txt} | 2 ++ examples/{t14.java => example12.txt} | 2 ++ examples/{t15.java => example13.txt} | 2 ++ examples/{t15b.java => example14.txt} | 5 ++--- examples/{t15c.java => example15.txt} | 5 ++++- examples/{t16.java => example16.txt} | 2 ++ examples/{t17.java => example17.txt} | 2 ++ examples/{t18.java => example18.txt} | 4 +++- examples/{t10b.java => example2.txt} | 4 ++-- examples/{t10c.java => example3.txt} | 2 ++ examples/{t10d.java => example4.txt} | 2 ++ examples/{t10e.java => example5.txt} | 2 ++ examples/{t11.java => example6.txt} | 2 ++ examples/{t12.java => example7.txt} | 2 ++ examples/{t13.java => example8.txt} | 2 ++ examples/{t13b.java => example9.txt} | 2 ++ 18 files changed, 39 insertions(+), 7 deletions(-) rename examples/{t10.java => example1.txt} (73%) rename examples/{t13c.java => example10.txt} (89%) rename examples/{t13d.java => example11.txt} (92%) rename examples/{t14.java => example12.txt} (87%) rename examples/{t15.java => example13.txt} (93%) rename examples/{t15b.java => example14.txt} (92%) rename examples/{t15c.java => example15.txt} (88%) rename examples/{t16.java => example16.txt} (75%) rename examples/{t17.java => example17.txt} (85%) rename examples/{t18.java => example18.txt} (68%) rename examples/{t10b.java => example2.txt} (78%) rename examples/{t10c.java => example3.txt} (75%) rename examples/{t10d.java => example4.txt} (73%) rename examples/{t10e.java => example5.txt} (70%) rename examples/{t11.java => example6.txt} (93%) rename examples/{t12.java => example7.txt} (90%) rename examples/{t13.java => example8.txt} (96%) rename examples/{t13b.java => example9.txt} (86%) diff --git a/examples/t10.java b/examples/example1.txt similarity index 73% rename from examples/t10.java rename to examples/example1.txt index 4171cd2..bc82f1d 100644 --- a/examples/t10.java +++ b/examples/example1.txt @@ -1,3 +1,5 @@ +//Tiers can be forced by the programmer using the syntax "type<tier> var;", e.g. "int<0> x;". + class Point { int x; int y; diff --git a/examples/t13c.java b/examples/example10.txt similarity index 89% rename from examples/t13c.java rename to examples/example10.txt index a5bcd53..20cf4d1 100644 --- a/examples/t13c.java +++ b/examples/example10.txt @@ -1,3 +1,5 @@ +//Tiers can be forced by the programmer using the syntax "type<tier> var;", e.g. "int<0> x;". + class Exe { int f(int a, int b) { int res = a; diff --git a/examples/t13d.java b/examples/example11.txt similarity index 92% rename from examples/t13d.java rename to examples/example11.txt index 9ca8ff7..d17d0bb 100644 --- a/examples/t13d.java +++ b/examples/example11.txt @@ -1,3 +1,5 @@ +//Tiers can be forced by the programmer using the syntax "type<tier> var;", e.g. "int<0> x;". + class BList { boolean value; BList tail; diff --git a/examples/t14.java b/examples/example12.txt similarity index 87% rename from examples/t14.java rename to examples/example12.txt index 3908c56..d29073a 100644 --- a/examples/t14.java +++ b/examples/example12.txt @@ -1,3 +1,5 @@ +//Tiers can be forced by the programmer using the syntax "type<tier> var;", e.g. "int<0> x;". + class Point1D { int x; diff --git a/examples/t15.java b/examples/example13.txt similarity index 93% rename from examples/t15.java rename to examples/example13.txt index 915f516..ab65054 100644 --- a/examples/t15.java +++ b/examples/example13.txt @@ -1,3 +1,5 @@ +//Tiers can be forced by the programmer using the syntax "type<tier> var;", e.g. "int<0> x;". + class List { int data; List next; diff --git a/examples/t15b.java b/examples/example14.txt similarity index 92% rename from examples/t15b.java rename to examples/example14.txt index 6e0c53b..db21f21 100644 --- a/examples/t15b.java +++ b/examples/example14.txt @@ -1,3 +1,5 @@ +//Tiers can be forced by the programmer using the syntax "type<tier> var;", e.g. "int<0> x;". + class List { int data; List next; @@ -45,9 +47,6 @@ class UList extends List { return res; } - //public List getNext() { - // return new List(0, null); - //} } class UselessList extends List { diff --git a/examples/t15c.java b/examples/example15.txt similarity index 88% rename from examples/t15c.java rename to examples/example15.txt index cf679f4..2dec0b8 100644 --- a/examples/t15c.java +++ b/examples/example15.txt @@ -1,3 +1,5 @@ +//Tiers can be forced by the programmer using the syntax "type<tier> var;", e.g. "int<0> x;". + class List { int data; List next; @@ -73,7 +75,8 @@ class Exe { if(l.getData() > 0) { while (true) {} } - //the sum block types in 1, and it's result is 0 thus it cannot be used inside a conditional + //the sum block types in 1, and it's result is 0 thus it cannot be used inside a conditional. + //This would break the control flow discipline. if(l.sum() > 0) {} } } \ No newline at end of file diff --git a/examples/t16.java b/examples/example16.txt similarity index 75% rename from examples/t16.java rename to examples/example16.txt index f669206..0c13432 100644 --- a/examples/t16.java +++ b/examples/example16.txt @@ -1,3 +1,5 @@ +//Tiers can be forced by the programmer using the syntax "type<tier> var;", e.g. "int<0> x;". + class Exe { void add(int a, int b) throws Exception { a = a + b; diff --git a/examples/t17.java b/examples/example17.txt similarity index 85% rename from examples/t17.java rename to examples/example17.txt index b83defc..9ec291f 100644 --- a/examples/t17.java +++ b/examples/example17.txt @@ -1,3 +1,5 @@ +//Tiers can be forced by the programmer using the syntax "type<tier> var;", e.g. "int<0> x;". + class Node { Node left; Node right; diff --git a/examples/t18.java b/examples/example18.txt similarity index 68% rename from examples/t18.java rename to examples/example18.txt index c489275..7be0db7 100644 --- a/examples/t18.java +++ b/examples/example18.txt @@ -11,7 +11,9 @@ class Exe { x = x - 1; y = y + 1; } - + //The #declass tag implements declassification mechanism. + //Below a variable y of tier 0 is declassified to tier 1 + //Hence it can be used in a while loop again. #declass y; x; diff --git a/examples/t10b.java b/examples/example2.txt similarity index 78% rename from examples/t10b.java rename to examples/example2.txt index ab43d5c..09febbc 100644 --- a/examples/t10b.java +++ b/examples/example2.txt @@ -1,3 +1,5 @@ +//Tiers can be forced by the programmer using the syntax "type<tier> var;", e.g. "int<0> x;". + class Point { int x; int y; @@ -13,8 +15,6 @@ class Point { public Point(int x, int y) { this.x = x; this.y = y; - -// this.getX(); } } diff --git a/examples/t10c.java b/examples/example3.txt similarity index 75% rename from examples/t10c.java rename to examples/example3.txt index 8566004..8615612 100644 --- a/examples/t10c.java +++ b/examples/example3.txt @@ -1,3 +1,5 @@ +//Tiers can be forced by the programmer using the syntax "type<tier> var;", e.g. "int<0> x;". + class Exe { int max(int a, int b) { int<0> res = b; diff --git a/examples/t10d.java b/examples/example4.txt similarity index 73% rename from examples/t10d.java rename to examples/example4.txt index 5264627..25dc24e 100644 --- a/examples/t10d.java +++ b/examples/example4.txt @@ -1,3 +1,5 @@ +//Tiers can be forced by the programmer using the syntax "type<tier> var;", e.g. "int<0> x;". + class Exe { int x; diff --git a/examples/t10e.java b/examples/example5.txt similarity index 70% rename from examples/t10e.java rename to examples/example5.txt index 8b3e0ce..92ddee9 100644 --- a/examples/t10e.java +++ b/examples/example5.txt @@ -1,3 +1,5 @@ +//Tiers can be forced by the programmer using the syntax "type<tier> var;", e.g. "int<0> x;". + class Exe { int sum(int i) { diff --git a/examples/t11.java b/examples/example6.txt similarity index 93% rename from examples/t11.java rename to examples/example6.txt index 234849b..acd9401 100644 --- a/examples/t11.java +++ b/examples/example6.txt @@ -1,3 +1,5 @@ +//Tiers can be forced by the programmer using the syntax "type<tier> var;", e.g. "int<0> x;". + class Exe { int max(int a, int b) { int<0> res = b; diff --git a/examples/t12.java b/examples/example7.txt similarity index 90% rename from examples/t12.java rename to examples/example7.txt index 2676c54..b6571f2 100644 --- a/examples/t12.java +++ b/examples/example7.txt @@ -1,3 +1,5 @@ +//Tiers can be forced by the programmer using the syntax "type<tier> var;", e.g. "int<0> x;". + class Ring { boolean data; Ring next; diff --git a/examples/t13.java b/examples/example8.txt similarity index 96% rename from examples/t13.java rename to examples/example8.txt index fbc21e9..c5999f5 100644 --- a/examples/t13.java +++ b/examples/example8.txt @@ -1,3 +1,5 @@ +//Tiers can be forced by the programmer using the syntax "type<tier> var;", e.g. "int<0> x;". + class BList { boolean value; BList tail; diff --git a/examples/t13b.java b/examples/example9.txt similarity index 86% rename from examples/t13b.java rename to examples/example9.txt index 59b938d..b447f86 100644 --- a/examples/t13b.java +++ b/examples/example9.txt @@ -1,3 +1,5 @@ +//Tiers can be forced by the programmer using the syntax "type<tier> var;", e.g. "int<0> x;". + class Exe { int sum(int i) { int res = i; -- GitLab