// file : doc/manual.cli // copyright : Copyright (c) 2014-2017 Code Synthesis Ltd // license : MIT; see accompanying LICENSE file "\name=build2-build-system-manual" "\subject=build system" "\title=Build System" // NOTES // // - Maximum
line is 70 characters. // " \h0#preface|Preface| This is the preface. \h1#grammar|Grammar| \ eval: '(' (eval-comma | eval-qual)? ')' eval-comma: eval-ternary (',' eval-ternary)* eval-ternary: eval-or ('?' eval-ternary ':' eval-ternary)? eval-or: eval-and ('||' eval-and)* eval-and: eval-comp ('&&' eval-comp)* eval-comp: eval-value (('=='|'!='|'<'|'>'|'<='|'>=') eval-value)* eval-value: value-attributes? (| eval | '!' eval-value) eval-qual: ':' value-attributes: '[' ']' \ Note that \c{?:} (ternary operator) and \c{!} (logical not) are right-associative. Unlike C++, all the comparison operators have the same precedence. A qualified name cannot be combined with any other operator (including ternary) unless enclosed in parentheses. The \c{eval} option in the \c{eval-value} production shall contain single value only (no commas). "