Pascal Example
An example of such a construct is the forward declaration in Pascal. Pascal requires that procedures be declared or fully defined before use. This helps a one-pass compiler with its type checking: calling a procedure that hasn't been declared anywhere is a clear error. Forward declarations help mutually recursive procedures call each other directly, despite the declare-before-use rule:
function odd(n : integer) : boolean;
begin if n = 0 then odd := false else if n < 0 then odd := even(n + 1) { Compiler error: 'even' is not defined } else odd := even(n - 1)
end;
function even(n : integer) : boolean;
begin if n = 0 then even := true else if n < 0 then even := odd(n + 1) else even := odd(n - 1)
end;
By adding a forward declaration for the function even
before the function odd
, the one-pass compiler is told that there will be a definition of even
later on in the program.
function even(n : integer) : boolean; forward;
function odd(n : integer) : boolean;
{ Et cetera }
When the actual declaration of the body of the function is made, either the parameters are omitted or must be absolutely identical to the original forward declaration, or an error will be flagged.
Read more about this topic: One-pass Compiler
Famous quotes containing the word pascal:
“Cleopatras nose: had it been shorter, the whole aspect of the world would have been altered.”
—Blaise Pascal (16231662)
“Our senses perceive no extreme. Too much sound deafens us; too much light dazzles us; too great distance or proximity hinders our view. Too great length and too great brevity of discourse tends to obscurity; too much truth is paralyzing.... In short, extremes are for us as though they were not, and we are not within their notice. They escape us, or we them.”
—Blaise Pascal (16231662)