2.4 The default statement

The default statement is unusual in that it has no behaviour at runtime. At compile time the default statement alters the behaviour of the compiler with respect to what happens at the end of the ruleset parse.

If, when Lace has finished parsing the ruleset, the last allow or deny was not unconditional, then the compiler will, in the absence of a default statement, inject a terminal allow/deny of the opposite sense of the last explicit operation, unconditionally and with a reason of the empty string.

If a default statement was encountered during processing then its chosen behaviour will be used instead.

The syntax of the default statement is:

default 'allow' <reason>?

or

default 'deny' <reason>?

If reasons are not provided, the string "Default behaviour" is substituted.

Once a single default statement has been encountered during compilation; it is an error, and the compiler WILL cease, if it encounters an additional default statement.

Since it's common for rulesets to stem from a single core point, therefore it is recommended that the application define a default policy at the start of these core statements.

generated by LDoc 1.4.6 Last updated 2022-07-22 12:53:02