ARIBAS 1.53

Version of implementation ARIBAS of programming language ARIBAS

Bugfix release of ARIBAS.

Changes from previous version ARIBAS 1.50:

  • bug fix in handling of -pi (previous version changed constant pi)
  • bug fix in division of integer vectors with negative coefficients
  • for loop can now handle >= 232 iterations
  • fixed bug which occurred in ARIBAS 1.50 while parsing certain parenthized expressions

Examples:

Factorial - ARIBAS (54):

This example uses built-in factorial function.

ARIBAS uses integer type for variables by default, so type declaration can be omitted.

group(0) is used to cancel digit groups separation by underscores during output.

function fac0_16();
var n;
begin
    for n := 0 to 16 do
        writeln(n, "! = ", factorial(n): group(0));
    end;
end;

fac0_16().

Factorial - ARIBAS (55):

This example uses recursive factorial definition.

Function name fac is used because factorial is reserved function name in ARIBAS.

ARIBAS uses integer type for variables by default, so type declaration can be omitted.

group(0) is used to cancel digit groups separation by underscores during output.

function fac(n);
begin
    if (n = 0) then
        return(1);
    end;
    return(n * fac(n - 1));
end;

function fac0_16();
var n;
begin
    for n := 0 to 16 do
        writeln(n, "! = ", fac(n): group(0));
    end;
end;

fac0_16().

Hello, World! - ARIBAS (59):

writeln("Hello, World!");

Fibonacci numbers - ARIBAS (60):

This example uses recursive definition of Fibonacci numbers.

ARIBAS uses integer type for variables by default, so type declaration can be omitted.

group(0) is used to cancel digit groups separation by underscores during output.

function fib(n);
begin
    if (n < 3) then
        return(1);
    end;
    return(fib(n-1)+fib(n-2));
end;

function fib1_16();
var n;
begin
    for n := 1 to 16 do
        write(fib(n): group(0), ", ");
    end;
    writeln("...");
end;

fib1_16().