Comments

// Single line comment
(* Multi-line
comment *)

Strings

"foo \"bar\" baz";
'foo \'bar\' baz';

Numbers

123
123.456
-123.456
1e-23
123.456E789
0xaf
0xAF

Functions

foo()
Bar()
_456()

Full Example


function pop (const h : heap) : (heap * heap_element * nat) is
	begin
		const result : heap_element = get_top (h) ;
		var s : nat := size(h) ;
		const last : heap_element = get_force(s, h) ;
		remove s from map h ;
		h[1n] := last ;
		s := size(h) ;
		var i : nat := 0n ;
		var largest : nat := 1n ;
		var left : nat := 0n ;
		var right : nat := 0n ;
		var c : nat := 0n ;
		while (largest =/= i) block {
			c := c + 1n ;
			i := largest ;
			left := 2n * i ;
			right := left + 1n ;
			if (left <= s) then begin
				if (heap_element_lt(get_force(left , h) , get_force(i , h))) then begin
					largest := left ;
					const tmp : heap_element = get_force(i , h) ;
					h[i] := get_force(left , h) ;
					h[left] := tmp ;
				end else skip ;
			end else if (right <= s) then begin
				if (heap_element_lt(get_force(right , h) , get_force(i , h))) then begin
					largest := right ;
					const tmp : heap_element = get_force(i , h) ;
					h[i] := get_force(right , h) ;
					h[left] := tmp ;
				end else skip ;
			end else skip ;
		}
	end with (h , result , c)