// Variables used in this test
var i,j as int;
//Return statements without functions
return; //1
return 1;
return true;
return x; //1
for i from 1 to 10 do return; od; //1
// Check return types
fun f1() return 1; nuf; f1();
fun f2() return x; nuf; f2();
fun f3() return true; nuf; f3(); //1
fun g1() as int return; nuf; g1();
fun h1() as bool return; nuf; h1();
fun i1() as polyn return; nuf; i1(); //1
fun g2() as int return x; nuf; g2();
fun g3() as int return true; nuf; g3(); //1
fun h2() as bool return 2; nuf; h2();
fun h3() as bool return x; nuf; h3(); //1
fun i2() as polyn return 2; nuf; i2(); //1
fun i3() as polyn return true; nuf; i3(); //1
// Missing return statements
fun j1() as bool nuf; j1();
fun j2() as int nuf; j2();
fun j3() as polyn nuf; j3(); //1
// stop statements outside of loops
stop i; //1
for i from 1 to 10 do stop j; od; //1
fun k() stop i; nuf;
k(); //1
for i from 1 to 10 do k(); od; //1