2.2.2.1.1 ADM Conditional Directive
In addition to the ABNF syntax specified, the ADM file allows a conditional directive to include or exclude portions of the file depending on the version of the ADM file.
The following specifies the syntax of the conditional directive.
-
AdmIf = TokIf TokVersion AdmOperator TokDigits <enclosed text> TokEndif AdmOperator = (TokGT / TokLT / TokEQ / TokNE / TokGE / TokLE) TokDigits = WhiteSpace 1*DIGIT SpaceDelimiter TokEQ = WhiteSpace "==" SpaceDelimiter TokEndif = WhiteSpace "#endif" SpaceDelimiter TokGE = WhiteSpace ">=" SpaceDelimiter TokGT = WhiteSpace ">" SpaceDelimiter TokIf = WhiteSpace "#if" SpaceDelimiter TokLE = WhiteSpace "<=" SpaceDelimiter TokLT = WhiteSpace "<" SpaceDelimiter TokNE = WhiteSpace "!=" SpaceDelimiter TokVersion = WhiteSpace "version" SpaceDelimiter
The ADM Conditional Directive is broad enough that it is best understood as a "pre-processing" directive. The enclosed text is either included or excluded from parsing depending on the condition specified. Conditional directives can appear anywhere in the ADM file and they can be nested.
The TokDigits are interpreted as a version number corresponding to the operating system version at the time the ADM was released.<4>