with ada.text_io; use ada.text_io;
with ada.integer_text_io; use ada.integer_text_io;
procedure statpred is
subtype grade is character range 'A' .. 'F'
with static_predicate => grade /= 'E';
subtype tennis_score is Natural range 0 .. 40
with static_predicate => tennis_score in 0 | 15 | 30 | 40;
type score is range 0 .. 40;
package score_io is new ada.text_io.integer_io(score);
use score_io;
g : grade;
t: tennis_score;
s: score;
begin
for i in grade loop
put(i);
end loop;
new_line;
for i in tennis_score loop
put(i);
end loop;
new_line;
return;
pragma warnings(off,"unreachable code");
get(s);
put(s);
loop
get(t);
put(t);
end loop;
loop
get(g);
put(g);
end loop;
pragma warnings(off,"unreachable code");
end statpred;