It seems to be working but I need to ckeck again

This commit is contained in:
Meyer Simon
2025-05-03 19:29:38 -04:00
parent 468e3f67f7
commit 18b5daea0e
6 changed files with 181 additions and 27 deletions

View File

@ -0,0 +1,26 @@
type rec: [character: x; integer: y]
type T2: rec -> integer
type main: string -> integer
function entry: main
function bar: T2
bar (r,s) := {
return 0;
}
entry (arg) := {
[ Boolean:x ; Boolean:y ; Boolean:z ; Boolean:t]
if ( !( x < y ) & ( z & t ) ) then {
(* if ( result < w.y ) then {
result := 8;
} else {
result := 9;
} *)
z := t;
} else {
y := true; (* bar('c', 7); *)
}
return 0;
}

View File

@ -0,0 +1,29 @@
type rec: [character: x; integer: y]
type T2: rec -> integer
type main: string -> integer
function entry: main
function bar: T2
bar (r,s) := {
return 0;
}
entry (arg) := {
[ Boolean:x ; Boolean:y ; Boolean:z ; Boolean:t]
if ( y & z | t ) then {
(* if ( ( x < y ) & ( z = t ) ) then {
y := z < t;
t:= 0;
} else {
t := z = t;
z := 1;
} *)
t := true;
} else {
y := true; (* bar('c', 7); *)
}
(* x := x & y; *)
return 0;
}

View File

@ -0,0 +1,27 @@
type rec: [character: x; integer: y]
type T2: rec -> integer
type main: string -> integer
function entry: main
function bar: T2
bar (r,s) := {
return 0;
}
entry (arg) := {
[ Boolean:x ; Boolean:y ; Boolean:z ; Boolean:t]
while ( !( x & y ) (* | ( z | t ) *) ) {
(*
if ( ( x < y ) & ( z = t ) ) then {
y := z < t;
} else {
t := z = t;
}
*)
y := true; (* bar('c', 7); *)
}
(* x := x & y; *)
return 0;
}