ready for merge!

This commit is contained in:
Scarlett
2025-04-04 18:08:59 -04:00
parent 1c805cbe3f
commit 376dfdf53d
32 changed files with 564 additions and 134 deletions

View File

@ -0,0 +1,17 @@
NAME : SCOPE : PARENT : TYPE : Extra annotation
-------------------------:--------:--------:--------------------------:------------------------------
entry : 001001 : : main : User Defined
main : 001001 : : primitive function type : User Defined
integer : 001001 : : Primitive : size-4 bytes
address : 001001 : : Primitive : size-8 bytes
character : 001001 : : Primitive : size-1 bytes
string : 001001 : : 1 -> character : Type of Array
Boolean : 001001 : : Primitive : size-1 bytes
-------------------------:--------:--------:--------------------------:------------------------------
b1 : 005000 : 001001 : Boolean : User Defined
b2 : 005000 : 001001 : Boolean : User Defined
arr2 : 005000 : 001001 : address : User Defined
arr : 005000 : 001001 : address : User Defined
x : 005000 : 001001 : integer : User Defined
arg : 005000 : 001001 : string : User Defined
-------------------------:--------:--------:--------------------------:------------------------------

View File

@ -0,0 +1,17 @@
NAME : SCOPE : PARENT : TYPE : Extra annotation
-------------------------:--------:--------:--------------------------:------------------------------
entry : 001001 : : main : User Defined
main : 001001 : : primitive function type : User Defined
integer : 001001 : : Primitive : size-4 bytes
address : 001001 : : Primitive : size-8 bytes
character : 001001 : : Primitive : size-1 bytes
string : 001001 : : 1 -> character : Type of Array
Boolean : 001001 : : Primitive : size-1 bytes
-------------------------:--------:--------:--------------------------:------------------------------
b1 : 005000 : 001001 : Boolean : User Defined
b2 : 005000 : 001001 : Boolean : User Defined
arr2 : 005000 : 001001 : address : User Defined
arr : 005000 : 001001 : address : User Defined
x : 005000 : 001001 : integer : User Defined
arg : 005000 : 001001 : string : User Defined
-------------------------:--------:--------:--------------------------:------------------------------

View File

@ -0,0 +1,17 @@
NAME : SCOPE : PARENT : TYPE : Extra annotation
-------------------------:--------:--------:--------------------------:------------------------------
a_of_s : 001001 : : 1 -> string : Type of Array
string : 001001 : : 1 -> character : Type of Array
entry : 001001 : : main : User Defined
main : 001001 : : primitive function type : User Defined
integer : 001001 : : Primitive : size-4 bytes
address : 001001 : : Primitive : size-8 bytes
character : 001001 : : Primitive : size-1 bytes
string : 001001 : : 1 -> character : Type of Array
Boolean : 001001 : : Primitive : size-1 bytes
-------------------------:--------:--------:--------------------------:------------------------------
many_names : 010000 : 001001 : a_of_s : User Defined
another_name : 010000 : 001001 : string : User Defined
one_name : 010000 : 001001 : string : User Defined
arg : 010000 : 001001 : string : User Defined
-------------------------:--------:--------:--------------------------:------------------------------

View File

@ -0,0 +1,18 @@
NAME : SCOPE : PARENT : TYPE : Extra annotation
-------------------------:--------:--------:--------------------------:------------------------------
entry : 001001 : : main : User Defined
main : 001001 : : primitive function type : User Defined
integer : 001001 : : Primitive : size-4 bytes
address : 001001 : : Primitive : size-8 bytes
character : 001001 : : Primitive : size-1 bytes
string : 001001 : : 1 -> character : Type of Array
Boolean : 001001 : : Primitive : size-1 bytes
-------------------------:--------:--------:--------------------------:------------------------------
a : 005000 : 001001 : character : User Defined
b1 : 005000 : 001001 : Boolean : User Defined
b2 : 005000 : 001001 : Boolean : User Defined
arr2 : 005000 : 001001 : address : User Defined
arr : 005000 : 001001 : address : User Defined
x : 005000 : 001001 : integer : User Defined
arg : 005000 : 001001 : string : User Defined
-------------------------:--------:--------:--------------------------:------------------------------

View File

@ -0,0 +1,17 @@
NAME : SCOPE : PARENT : TYPE : Extra annotation
-------------------------:--------:--------:--------------------------:------------------------------
entry : 001001 : : main : User Defined
main : 001001 : : primitive function type : User Defined
integer : 001001 : : Primitive : size-4 bytes
address : 001001 : : Primitive : size-8 bytes
character : 001001 : : Primitive : size-1 bytes
string : 001001 : : 1 -> character : Type of Array
Boolean : 001001 : : Primitive : size-1 bytes
-------------------------:--------:--------:--------------------------:------------------------------
b1 : 005000 : 001001 : Boolean : User Defined
b2 : 005000 : 001001 : Boolean : User Defined
arr2 : 005000 : 001001 : address : User Defined
arr : 005000 : 001001 : address : User Defined
x : 005000 : 001001 : integer : User Defined
arg : 005000 : 001001 : string : User Defined
-------------------------:--------:--------:--------------------------:------------------------------

View File

@ -1,6 +1,12 @@
entry(arg) := {
[integer:x; address: arr; address: arr2; Boolean : b2; Boolean : b1]
b2 := 3 < x;
b1 := arr = 2;
b1 := 6<7 & arr2=7;
type main: string -> integer
function entry: main
entry (arg) := {
[integer:x; address: arr; address: arr2; Boolean : b2; Boolean : b1]
b2 := 3 < x;
b1 := arr = 2;
b1 := 6<7 & arr2=7;
return 0;
}

View File

@ -1,5 +1,11 @@
entry(arg) := {
[integer:x; address: arr; address: arr2; Boolean : b2; Boolean : b1]
b2 := !(3 < 2);
b1 := !5;
type main: string -> integer
function entry: main
entry (arg) := {
[integer:x; address: arr; address: arr2; Boolean : b2; Boolean : b1]
b2 := !(3 < 2);
b1 := !5;
return 0;
}

View File

@ -1,10 +1,14 @@
type main: string -> integer
function entry: main
type string: 1 -> character
type a_of_s: 1 -> string
(* maybe some other type definitions *)
entry(arg) := {
entry (arg) := {
[ string: one_name; string: another_name; a_of_s: many_names ]
one_name := "a string literal";
another_name := reserve another_name(4); (* reserve space for an an array of character, with 4 members *)
another_name(0) := 'C';
@ -20,6 +24,7 @@ entry(arg) := {
many_names(2)(2) := 'r';
many_names(2)(3) := 't';
many_names(2)(4) := 'h';
0(2)(5) := 'o';
many_names(2)(5) := 'o';
return 0;
}

View File

@ -1,9 +1,15 @@
entry(arg) := {
[integer:x; address: arr; address: arr2; Boolean : b2; Boolean : b1; character : a]
x := 3 + 2 * 8;
x := 3 - 2 / 8;
x := a * 2 % 8;
b2 := 3 * 2 % 8;
x := 3 % 2 * 8;
x := 3 + arr - 8;
type main: string -> integer
function entry: main
entry (arg) := {
[integer:x; address: arr; address: arr2; Boolean : b2; Boolean : b1; character : a]
x := 3 + 2 * 8;
x := 3 - 2 / 8;
x := a * 2 % 8;
b2 := 3 * 2 % 8;
x := 3 % 2 * 8;
x := 3 + arr - 8;
return 0;
}

View File

@ -1,6 +1,12 @@
entry(arg) := {
[integer:x; address: arr; address: arr2; Boolean : b2; Boolean : b1]
x := -8;
type main: string -> integer
function entry: main
entry (arg) := {
[integer:x; address: arr; address: arr2; Boolean : b2; Boolean : b1]
x := -8;
x := -b1;
b2 := -x;
return 0;
}