test updates woooo
This commit is contained in:
@ -1,3 +1,4 @@
|
||||
(* TEST: [-st] *)
|
||||
type rec: [integer: x; integer: y]
|
||||
|
||||
type T1: integer -> integer
|
||||
|
@ -1,3 +1,4 @@
|
||||
(* TEST: [-st] *)
|
||||
type Boolean2Boolean: Boolean -> Boolean
|
||||
type integer2integer: integer -> integer
|
||||
type character2integer: character -> integer
|
||||
|
@ -1,3 +1,4 @@
|
||||
(* TEST: [-st] *)
|
||||
type main: string -> integer
|
||||
function entry: main
|
||||
type testarr : 1 -> integer
|
||||
|
@ -1,3 +1,4 @@
|
||||
(* TEST: [-st] *)
|
||||
type rec: [integer: x; integer: y]
|
||||
type main: rec -> integer
|
||||
function test: main
|
||||
|
@ -1,3 +1,4 @@
|
||||
(* TEST: [-st] *)
|
||||
type main: string -> integer
|
||||
function entry: main
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
(* TEST: [-st] *)
|
||||
type rec: [integer: x; integer: y]
|
||||
|
||||
entry (arg) := {
|
||||
|
@ -1,3 +1,4 @@
|
||||
(* TEST: [-st] *)
|
||||
(*
|
||||
At compiler start-up your program should create symbol table entries for the four primitive types:
|
||||
Boolean (1 byte)
|
||||
|
@ -1,3 +1,4 @@
|
||||
(* TEST: [-st] *)
|
||||
type main: string -> integer
|
||||
function entry: main
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
(* TEST: [-st] *)
|
||||
type main: string -> integer
|
||||
function entry: main
|
||||
|
||||
|
@ -1 +1,2 @@
|
||||
(* TEST: [-st] *)
|
||||
type main: string -> integer function entry: main type rec: [integer: x; integer: y] type T1: integer -> integer type T2: rec -> integer function foo : T1 function bar1 : T2 function bar2 : T2 foo(x) := { return x * x; } bar1(a) := { return a.x * a.y; } bar2 as (r,s) := { return r * s; } entry(arg) := { [ integer: result ; rec: w] result := foo(5); w := reserve w; w.x := 5; w.y := 7; result := bar1(w); result := bar2(5,7); return 0; }
|
||||
|
@ -1,3 +1,4 @@
|
||||
(* TEST: [-st] *)
|
||||
type main: string -> integer
|
||||
type rec: [integer: rec_x; integer: rec_y]
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
(* TEST: [-st] *)
|
||||
type main: string -> integer
|
||||
function entry: main
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
(* TEST: [-st] *)
|
||||
type string: 1 -> character
|
||||
type a_of_s: 1 -> string
|
||||
|
||||
|
@ -1,16 +0,0 @@
|
||||
type string: 1 -> character
|
||||
type a_of_s: 1 -> string
|
||||
|
||||
(* maybe some other type definitions *)
|
||||
|
||||
entry(arg) := {
|
||||
[ string: one_name; string: another_name; a_of_s: many_names ]
|
||||
another_name := reserve another_name(4); (* reserve space for an an array of character, with 4 members *)
|
||||
many_names := reserve a_of_s(3);
|
||||
many_names(0) := one_name;
|
||||
many_names(1) := another_name;
|
||||
many_names(2) := reserve a_of_s(2)(6); (* reserve space for an item of the same type as a_of_s(2), an array of character, with 6 members *)
|
||||
many_names(2)(0) := "P";
|
||||
|
||||
return 0;
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
type main: string -> integer
|
||||
(* TEST: [-st] *)
|
||||
ype main: string -> integer
|
||||
function entry: main
|
||||
|
||||
type rec: [integer: x; integer: y]
|
||||
|
Reference in New Issue
Block a user