psuh
This commit is contained in:
@ -1,6 +1,40 @@
|
||||
(* TEST: [-asc -tc -cg -ir] *)
|
||||
|
||||
#include "std.alpha"
|
||||
type string: 1 -> character
|
||||
type BooleanXBoolean: [Boolean: x; Boolean: y]
|
||||
type characterXcharacter: [character: x; character: y]
|
||||
type integerXinteger: [integer: x; integer: y]
|
||||
|
||||
type Boolean2Boolean: Boolean -> Boolean
|
||||
type integer2integer: integer -> integer
|
||||
type character2integer: character -> integer
|
||||
type Boolean2integer: Boolean -> integer
|
||||
type string2integer: string -> integer
|
||||
type integerXinteger2integer: integerXinteger -> integer
|
||||
type integerXinteger2Boolean: integerXinteger -> Boolean
|
||||
type characterXcharacter2Boolean: characterXcharacter -> Boolean
|
||||
type BooleanXBoolean2Boolean: BooleanXBoolean -> Boolean
|
||||
type integer2address: integer -> address
|
||||
type address2integer: address -> integer
|
||||
type integer2string: integer -> string
|
||||
type integer2character: integer -> character
|
||||
type integer2Boolean: integer -> Boolean
|
||||
|
||||
|
||||
external function printInteger: integer2integer
|
||||
external function printCharacter: character2integer
|
||||
external function printBoolean: Boolean2integer
|
||||
|
||||
external function printS: string2integer
|
||||
external function printI: integer2integer
|
||||
external function printC: character2integer
|
||||
external function printB: Boolean2integer
|
||||
|
||||
external function inS: integer2string
|
||||
external function inI: integer2integer
|
||||
external function inC: integer2character
|
||||
|
||||
function entry: string2integer
|
||||
|
||||
entry (arg) := {
|
||||
[integer:x; integer:y; integer: result]
|
||||
|
@ -1,6 +1,40 @@
|
||||
(* TEST: [-asc -tc -cg -ir] *)
|
||||
|
||||
#include "std.alpha"
|
||||
type string: 1 -> character
|
||||
type BooleanXBoolean: [Boolean: x; Boolean: y]
|
||||
type characterXcharacter: [character: x; character: y]
|
||||
type integerXinteger: [integer: x; integer: y]
|
||||
|
||||
type Boolean2Boolean: Boolean -> Boolean
|
||||
type integer2integer: integer -> integer
|
||||
type character2integer: character -> integer
|
||||
type Boolean2integer: Boolean -> integer
|
||||
type string2integer: string -> integer
|
||||
type integerXinteger2integer: integerXinteger -> integer
|
||||
type integerXinteger2Boolean: integerXinteger -> Boolean
|
||||
type characterXcharacter2Boolean: characterXcharacter -> Boolean
|
||||
type BooleanXBoolean2Boolean: BooleanXBoolean -> Boolean
|
||||
type integer2address: integer -> address
|
||||
type address2integer: address -> integer
|
||||
type integer2string: integer -> string
|
||||
type integer2character: integer -> character
|
||||
type integer2Boolean: integer -> Boolean
|
||||
|
||||
|
||||
external function printInteger: integer2integer
|
||||
external function printCharacter: character2integer
|
||||
external function printBoolean: Boolean2integer
|
||||
|
||||
external function printS: string2integer
|
||||
external function printI: integer2integer
|
||||
external function printC: character2integer
|
||||
external function printB: Boolean2integer
|
||||
|
||||
external function inS: integer2string
|
||||
external function inI: integer2integer
|
||||
external function inC: integer2character
|
||||
|
||||
function entry: string2integer
|
||||
|
||||
entry (arg) := {
|
||||
[Boolean:b; Boolean: c; Boolean: d; integer: result]
|
||||
|
@ -1,18 +1,45 @@
|
||||
(* TEST: [-asc -tc -cg -ir] *)
|
||||
|
||||
#include "std.alpha"
|
||||
(* Standard Alpha Library - Provided by Carl *)
|
||||
|
||||
type string: 1 -> character
|
||||
type BooleanXBoolean: [Boolean: x; Boolean: y]
|
||||
type characterXcharacter: [character: x; character: y]
|
||||
type integerXinteger: [integer: x; integer: y]
|
||||
|
||||
type Boolean2Boolean: Boolean -> Boolean
|
||||
type integer2integer: integer -> integer
|
||||
type character2integer: character -> integer
|
||||
type Boolean2integer: Boolean -> integer
|
||||
type string2integer: string -> integer
|
||||
type integerXinteger2integer: integerXinteger -> integer
|
||||
type integerXinteger2Boolean: integerXinteger -> Boolean
|
||||
type characterXcharacter2Boolean: characterXcharacter -> Boolean
|
||||
type BooleanXBoolean2Boolean: BooleanXBoolean -> Boolean
|
||||
type integer2address: integer -> address
|
||||
type address2integer: address -> integer
|
||||
type integer2string: integer -> string
|
||||
type integer2character: integer -> character
|
||||
type integer2Boolean: integer -> Boolean
|
||||
|
||||
|
||||
external function printInteger: integer2integer
|
||||
external function printCharacter: character2integer
|
||||
external function printBoolean: Boolean2integer
|
||||
|
||||
external function printS: string2integer
|
||||
external function printI: integer2integer
|
||||
external function printC: character2integer
|
||||
external function printB: Boolean2integer
|
||||
|
||||
external function inS: integer2string
|
||||
external function inI: integer2integer
|
||||
external function inC: integer2character
|
||||
|
||||
function entry: string2integer
|
||||
|
||||
|
||||
type rec: [integer: x; integer: y; integer: z; integer: a; integer: b; integer: c; integer: d]
|
||||
|
||||
type T2: rec -> integer
|
||||
type T: integer -> integer
|
||||
type main: string -> integer
|
||||
function entry: main
|
||||
function bar: T2
|
||||
function ahh: T
|
||||
|
||||
|
@ -1,6 +1,40 @@
|
||||
(* TEST: [-asc -tc -cg -ir] *)
|
||||
|
||||
#include "std.alpha"
|
||||
type string: 1 -> character
|
||||
type BooleanXBoolean: [Boolean: x; Boolean: y]
|
||||
type characterXcharacter: [character: x; character: y]
|
||||
type integerXinteger: [integer: x; integer: y]
|
||||
|
||||
type Boolean2Boolean: Boolean -> Boolean
|
||||
type integer2integer: integer -> integer
|
||||
type character2integer: character -> integer
|
||||
type Boolean2integer: Boolean -> integer
|
||||
type string2integer: string -> integer
|
||||
type integerXinteger2integer: integerXinteger -> integer
|
||||
type integerXinteger2Boolean: integerXinteger -> Boolean
|
||||
type characterXcharacter2Boolean: characterXcharacter -> Boolean
|
||||
type BooleanXBoolean2Boolean: BooleanXBoolean -> Boolean
|
||||
type integer2address: integer -> address
|
||||
type address2integer: address -> integer
|
||||
type integer2string: integer -> string
|
||||
type integer2character: integer -> character
|
||||
type integer2Boolean: integer -> Boolean
|
||||
|
||||
|
||||
external function printInteger: integer2integer
|
||||
external function printCharacter: character2integer
|
||||
external function printBoolean: Boolean2integer
|
||||
|
||||
external function printS: string2integer
|
||||
external function printI: integer2integer
|
||||
external function printC: character2integer
|
||||
external function printB: Boolean2integer
|
||||
|
||||
external function inS: integer2string
|
||||
external function inI: integer2integer
|
||||
external function inC: integer2character
|
||||
|
||||
function entry: string2integer
|
||||
|
||||
entry (arg) := {
|
||||
[integer:x; integer:y; integer: result]
|
||||
|
@ -1,6 +1,40 @@
|
||||
(* TEST: [-asc -tc -cg -ir] *)
|
||||
|
||||
#include "std.alpha"
|
||||
type string: 1 -> character
|
||||
type BooleanXBoolean: [Boolean: x; Boolean: y]
|
||||
type characterXcharacter: [character: x; character: y]
|
||||
type integerXinteger: [integer: x; integer: y]
|
||||
|
||||
type Boolean2Boolean: Boolean -> Boolean
|
||||
type integer2integer: integer -> integer
|
||||
type character2integer: character -> integer
|
||||
type Boolean2integer: Boolean -> integer
|
||||
type string2integer: string -> integer
|
||||
type integerXinteger2integer: integerXinteger -> integer
|
||||
type integerXinteger2Boolean: integerXinteger -> Boolean
|
||||
type characterXcharacter2Boolean: characterXcharacter -> Boolean
|
||||
type BooleanXBoolean2Boolean: BooleanXBoolean -> Boolean
|
||||
type integer2address: integer -> address
|
||||
type address2integer: address -> integer
|
||||
type integer2string: integer -> string
|
||||
type integer2character: integer -> character
|
||||
type integer2Boolean: integer -> Boolean
|
||||
|
||||
|
||||
external function printInteger: integer2integer
|
||||
external function printCharacter: character2integer
|
||||
external function printBoolean: Boolean2integer
|
||||
|
||||
external function printS: string2integer
|
||||
external function printI: integer2integer
|
||||
external function printC: character2integer
|
||||
external function printB: Boolean2integer
|
||||
|
||||
external function inS: integer2string
|
||||
external function inI: integer2integer
|
||||
external function inC: integer2character
|
||||
|
||||
function entry: string2integer
|
||||
|
||||
entry (arg) := {
|
||||
[Boolean: b; integer: x; integer: y; integer: result]
|
||||
|
@ -1,34 +0,0 @@
|
||||
(* TEST: [-asc -tc -cg -ir] *)
|
||||
|
||||
#include "std.alpha"
|
||||
|
||||
|
||||
type M : string -> integer
|
||||
function entry : M
|
||||
|
||||
type fib: integer -> integer
|
||||
function Fib : fib
|
||||
|
||||
Fib(i) := {
|
||||
[ Boolean: a ; Boolean: b ; Boolean: c]
|
||||
if( i = 0 ) then {
|
||||
return 7;
|
||||
} else {
|
||||
i := i;
|
||||
}
|
||||
b := b | (a & c);
|
||||
b := 2 < 3;
|
||||
if(i = 1) then {
|
||||
return 1;
|
||||
} else {
|
||||
return i + Fib(i - 1);
|
||||
}
|
||||
}
|
||||
|
||||
entry (arg) := {
|
||||
[ integer: x; integer: y ]
|
||||
x := 2;
|
||||
x := Fib(2);
|
||||
y := printInteger(Fib(2));
|
||||
return 1;
|
||||
}
|
@ -1,6 +1,40 @@
|
||||
(* TEST: [-asc -tc -cg -ir] *)
|
||||
|
||||
#include "std.alpha"
|
||||
type string: 1 -> character
|
||||
type BooleanXBoolean: [Boolean: x; Boolean: y]
|
||||
type characterXcharacter: [character: x; character: y]
|
||||
type integerXinteger: [integer: x; integer: y]
|
||||
|
||||
type Boolean2Boolean: Boolean -> Boolean
|
||||
type integer2integer: integer -> integer
|
||||
type character2integer: character -> integer
|
||||
type Boolean2integer: Boolean -> integer
|
||||
type string2integer: string -> integer
|
||||
type integerXinteger2integer: integerXinteger -> integer
|
||||
type integerXinteger2Boolean: integerXinteger -> Boolean
|
||||
type characterXcharacter2Boolean: characterXcharacter -> Boolean
|
||||
type BooleanXBoolean2Boolean: BooleanXBoolean -> Boolean
|
||||
type integer2address: integer -> address
|
||||
type address2integer: address -> integer
|
||||
type integer2string: integer -> string
|
||||
type integer2character: integer -> character
|
||||
type integer2Boolean: integer -> Boolean
|
||||
|
||||
|
||||
external function printInteger: integer2integer
|
||||
external function printCharacter: character2integer
|
||||
external function printBoolean: Boolean2integer
|
||||
|
||||
external function printS: string2integer
|
||||
external function printI: integer2integer
|
||||
external function printC: character2integer
|
||||
external function printB: Boolean2integer
|
||||
|
||||
external function inS: integer2string
|
||||
external function inI: integer2integer
|
||||
external function inC: integer2character
|
||||
|
||||
function entry: string2integer
|
||||
|
||||
entry (arg) := {
|
||||
[Boolean: b; integer: x; integer: y; integer: result]
|
||||
|
@ -1,6 +1,40 @@
|
||||
(* TEST: [-asc -tc -cg -ir] *)
|
||||
|
||||
#include "std.alpha"
|
||||
type string: 1 -> character
|
||||
type BooleanXBoolean: [Boolean: x; Boolean: y]
|
||||
type characterXcharacter: [character: x; character: y]
|
||||
type integerXinteger: [integer: x; integer: y]
|
||||
|
||||
type Boolean2Boolean: Boolean -> Boolean
|
||||
type integer2integer: integer -> integer
|
||||
type character2integer: character -> integer
|
||||
type Boolean2integer: Boolean -> integer
|
||||
type string2integer: string -> integer
|
||||
type integerXinteger2integer: integerXinteger -> integer
|
||||
type integerXinteger2Boolean: integerXinteger -> Boolean
|
||||
type characterXcharacter2Boolean: characterXcharacter -> Boolean
|
||||
type BooleanXBoolean2Boolean: BooleanXBoolean -> Boolean
|
||||
type integer2address: integer -> address
|
||||
type address2integer: address -> integer
|
||||
type integer2string: integer -> string
|
||||
type integer2character: integer -> character
|
||||
type integer2Boolean: integer -> Boolean
|
||||
|
||||
|
||||
external function printInteger: integer2integer
|
||||
external function printCharacter: character2integer
|
||||
external function printBoolean: Boolean2integer
|
||||
|
||||
external function printS: string2integer
|
||||
external function printI: integer2integer
|
||||
external function printC: character2integer
|
||||
external function printB: Boolean2integer
|
||||
|
||||
external function inS: integer2string
|
||||
external function inI: integer2integer
|
||||
external function inC: integer2character
|
||||
|
||||
function entry: string2integer
|
||||
|
||||
entry (arg) := {
|
||||
[integer:x; integer:y; integer: result]
|
||||
|
@ -1,6 +1,40 @@
|
||||
(* TEST: [-asc -tc -cg -ir] *)
|
||||
|
||||
#include "std.alpha"
|
||||
type string: 1 -> character
|
||||
type BooleanXBoolean: [Boolean: x; Boolean: y]
|
||||
type characterXcharacter: [character: x; character: y]
|
||||
type integerXinteger: [integer: x; integer: y]
|
||||
|
||||
type Boolean2Boolean: Boolean -> Boolean
|
||||
type integer2integer: integer -> integer
|
||||
type character2integer: character -> integer
|
||||
type Boolean2integer: Boolean -> integer
|
||||
type string2integer: string -> integer
|
||||
type integerXinteger2integer: integerXinteger -> integer
|
||||
type integerXinteger2Boolean: integerXinteger -> Boolean
|
||||
type characterXcharacter2Boolean: characterXcharacter -> Boolean
|
||||
type BooleanXBoolean2Boolean: BooleanXBoolean -> Boolean
|
||||
type integer2address: integer -> address
|
||||
type address2integer: address -> integer
|
||||
type integer2string: integer -> string
|
||||
type integer2character: integer -> character
|
||||
type integer2Boolean: integer -> Boolean
|
||||
|
||||
|
||||
external function printInteger: integer2integer
|
||||
external function printCharacter: character2integer
|
||||
external function printBoolean: Boolean2integer
|
||||
|
||||
external function printS: string2integer
|
||||
external function printI: integer2integer
|
||||
external function printC: character2integer
|
||||
external function printB: Boolean2integer
|
||||
|
||||
external function inS: integer2string
|
||||
external function inI: integer2integer
|
||||
external function inC: integer2character
|
||||
|
||||
function entry: string2integer
|
||||
|
||||
entry (arg) := {
|
||||
[integer:x; integer:y; integer: result]
|
||||
|
@ -1,6 +1,40 @@
|
||||
(* TEST: [-asc -tc -cg -ir] *)
|
||||
|
||||
#include "std.alpha"
|
||||
type string: 1 -> character
|
||||
type BooleanXBoolean: [Boolean: x; Boolean: y]
|
||||
type characterXcharacter: [character: x; character: y]
|
||||
type integerXinteger: [integer: x; integer: y]
|
||||
|
||||
type Boolean2Boolean: Boolean -> Boolean
|
||||
type integer2integer: integer -> integer
|
||||
type character2integer: character -> integer
|
||||
type Boolean2integer: Boolean -> integer
|
||||
type string2integer: string -> integer
|
||||
type integerXinteger2integer: integerXinteger -> integer
|
||||
type integerXinteger2Boolean: integerXinteger -> Boolean
|
||||
type characterXcharacter2Boolean: characterXcharacter -> Boolean
|
||||
type BooleanXBoolean2Boolean: BooleanXBoolean -> Boolean
|
||||
type integer2address: integer -> address
|
||||
type address2integer: address -> integer
|
||||
type integer2string: integer -> string
|
||||
type integer2character: integer -> character
|
||||
type integer2Boolean: integer -> Boolean
|
||||
|
||||
|
||||
external function printInteger: integer2integer
|
||||
external function printCharacter: character2integer
|
||||
external function printBoolean: Boolean2integer
|
||||
|
||||
external function printS: string2integer
|
||||
external function printI: integer2integer
|
||||
external function printC: character2integer
|
||||
external function printB: Boolean2integer
|
||||
|
||||
external function inS: integer2string
|
||||
external function inI: integer2integer
|
||||
external function inC: integer2character
|
||||
|
||||
function entry: string2integer
|
||||
|
||||
entry (arg) := {
|
||||
[integer:x; integer:y; integer: result]
|
||||
|
@ -1,6 +1,40 @@
|
||||
(* TEST: [-asc -tc -cg -ir] *)
|
||||
|
||||
#include "std.alpha"
|
||||
type string: 1 -> character
|
||||
type BooleanXBoolean: [Boolean: x; Boolean: y]
|
||||
type characterXcharacter: [character: x; character: y]
|
||||
type integerXinteger: [integer: x; integer: y]
|
||||
|
||||
type Boolean2Boolean: Boolean -> Boolean
|
||||
type integer2integer: integer -> integer
|
||||
type character2integer: character -> integer
|
||||
type Boolean2integer: Boolean -> integer
|
||||
type string2integer: string -> integer
|
||||
type integerXinteger2integer: integerXinteger -> integer
|
||||
type integerXinteger2Boolean: integerXinteger -> Boolean
|
||||
type characterXcharacter2Boolean: characterXcharacter -> Boolean
|
||||
type BooleanXBoolean2Boolean: BooleanXBoolean -> Boolean
|
||||
type integer2address: integer -> address
|
||||
type address2integer: address -> integer
|
||||
type integer2string: integer -> string
|
||||
type integer2character: integer -> character
|
||||
type integer2Boolean: integer -> Boolean
|
||||
|
||||
|
||||
external function printInteger: integer2integer
|
||||
external function printCharacter: character2integer
|
||||
external function printBoolean: Boolean2integer
|
||||
|
||||
external function printS: string2integer
|
||||
external function printI: integer2integer
|
||||
external function printC: character2integer
|
||||
external function printB: Boolean2integer
|
||||
|
||||
external function inS: integer2string
|
||||
external function inI: integer2integer
|
||||
external function inC: integer2character
|
||||
|
||||
function entry: string2integer
|
||||
|
||||
entry (arg) := {
|
||||
[Boolean: c; Boolean: d; integer: result]
|
||||
|
@ -1,6 +1,40 @@
|
||||
(* TEST: [-asc -tc -cg -ir] *)
|
||||
|
||||
#include "std.alpha"
|
||||
type string: 1 -> character
|
||||
type BooleanXBoolean: [Boolean: x; Boolean: y]
|
||||
type characterXcharacter: [character: x; character: y]
|
||||
type integerXinteger: [integer: x; integer: y]
|
||||
|
||||
type Boolean2Boolean: Boolean -> Boolean
|
||||
type integer2integer: integer -> integer
|
||||
type character2integer: character -> integer
|
||||
type Boolean2integer: Boolean -> integer
|
||||
type string2integer: string -> integer
|
||||
type integerXinteger2integer: integerXinteger -> integer
|
||||
type integerXinteger2Boolean: integerXinteger -> Boolean
|
||||
type characterXcharacter2Boolean: characterXcharacter -> Boolean
|
||||
type BooleanXBoolean2Boolean: BooleanXBoolean -> Boolean
|
||||
type integer2address: integer -> address
|
||||
type address2integer: address -> integer
|
||||
type integer2string: integer -> string
|
||||
type integer2character: integer -> character
|
||||
type integer2Boolean: integer -> Boolean
|
||||
|
||||
|
||||
external function printInteger: integer2integer
|
||||
external function printCharacter: character2integer
|
||||
external function printBoolean: Boolean2integer
|
||||
|
||||
external function printS: string2integer
|
||||
external function printI: integer2integer
|
||||
external function printC: character2integer
|
||||
external function printB: Boolean2integer
|
||||
|
||||
external function inS: integer2string
|
||||
external function inI: integer2integer
|
||||
external function inC: integer2character
|
||||
|
||||
function entry: string2integer
|
||||
|
||||
entry (arg) := {
|
||||
[Boolean:b; Boolean: c; Boolean: d; integer: result]
|
||||
|
@ -1,6 +1,40 @@
|
||||
(* TEST: [-asc -tc -cg -ir] *)
|
||||
|
||||
#include "std.alpha"
|
||||
type string: 1 -> character
|
||||
type BooleanXBoolean: [Boolean: x; Boolean: y]
|
||||
type characterXcharacter: [character: x; character: y]
|
||||
type integerXinteger: [integer: x; integer: y]
|
||||
|
||||
type Boolean2Boolean: Boolean -> Boolean
|
||||
type integer2integer: integer -> integer
|
||||
type character2integer: character -> integer
|
||||
type Boolean2integer: Boolean -> integer
|
||||
type string2integer: string -> integer
|
||||
type integerXinteger2integer: integerXinteger -> integer
|
||||
type integerXinteger2Boolean: integerXinteger -> Boolean
|
||||
type characterXcharacter2Boolean: characterXcharacter -> Boolean
|
||||
type BooleanXBoolean2Boolean: BooleanXBoolean -> Boolean
|
||||
type integer2address: integer -> address
|
||||
type address2integer: address -> integer
|
||||
type integer2string: integer -> string
|
||||
type integer2character: integer -> character
|
||||
type integer2Boolean: integer -> Boolean
|
||||
|
||||
|
||||
external function printInteger: integer2integer
|
||||
external function printCharacter: character2integer
|
||||
external function printBoolean: Boolean2integer
|
||||
|
||||
external function printS: string2integer
|
||||
external function printI: integer2integer
|
||||
external function printC: character2integer
|
||||
external function printB: Boolean2integer
|
||||
|
||||
external function inS: integer2string
|
||||
external function inI: integer2integer
|
||||
external function inC: integer2character
|
||||
|
||||
function entry: string2integer
|
||||
|
||||
entry (arg) := {
|
||||
[integer:x; integer:y; integer: result]
|
||||
|
Reference in New Issue
Block a user