Skip to content

Instantly share code, notes, and snippets.

@butlerx
Created November 5, 2017 14:49
Show Gist options
  • Save butlerx/f94a055745fc6359ea5332f1f252122b to your computer and use it in GitHub Desktop.
Save butlerx/f94a055745fc6359ea5332f1f252122b to your computer and use it in GitHub Desktop.
CCal examples
main
begin
// a simple comment
/* a comment /* with /* several */ nested */ comments */
end
void func () is
begin
return ();
end
main
begin
func ();
end
var i:integer;
integer test_fn (x:integer) is
var i:integer;
begin
i = 2;
return (x);
end
main
begin
var i:integer;
i = 1;
i = test_fn (i);
end
integer multiply (x:integer, y:integer) is
var result:integer;
var minus_sign : boolean;
begin
// figure out sign of result and convert args to absolute values
if ( x < 0 && y >= 0)
begin
minus_sign = true;
x = -x;
end
else
begin
if y < 0 && x >= 0
begin
minus_sign = true;
y = -y ;
end
else
begin
if ( x < 0) && y < 0
begin
minus_sign = false;
x = -x;
y = -y;
end
else
begin
minus_sign = false;
end
end
end
result = 0;
while ( y > 0)
begin
result = result + x;
y = y - 1;
end
if minus_sign == true
begin
result = -result;
end
else
begin
skip;
end
return (result);
end
main
begin
var arg_1 : integer;
var arg_2 : integer;
var result : integer;
const five : integer = 5;
arg_1 = -6;
arg_2 = five ;
result = multiply ( arg_1, arg_2 );
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment