<
FuncCall ::= Primary Actuals Actuals ::= ( Expr*, )
<
The function call mechanism provides special treatment for the identifier consisting of a single period, called the current environment and pronounced dot. Dot is typically assigned a binding that contains the tools, switches, and file system required for the rest of the build. The initial environment, C-initial (see Section A.3.3 above), does not bind dot (that is, ``_defined(C-initial, ".") == false'').
When a function is called, the context in which its body executes may bind ``.'' to a value established as follows:
Thus, the binding for ``.'', if any, is passed through the dynamic call chain until it is altered either explicitly by an Assign statement (Section A.3.3.9) or implicitly by calling a function with an extra actual parameter. The pseudo-code shown in Table A.8 makes this precise. In this code, the comparison with has not been formalized, but it should be intuitively clear.