module util/config/stats
imports util/config/common
strategies
/**
* Sets the 'statistics' level.
*
* E.g. <set-statistics>4 sets the statistics level to 4.
*/
set-statistics =
<set-config> ("--statistics", <id>)
/**
* Give the current 'statistics' level. Default is 0.
*/
get-statistics =
<get-config> "--statistics" <+ !0
/**
* Builds command-line parameter for 'statistics' levels for calling XT tools.
*
* E.g. xtc-transform(!"abox2text", pass-statistics ) passes the 'statistics' level
* to abox2text.
*/
pass-statistics =
!["--statistics", <subt; int-to-string>(<get-config <+ !1> "--statistics", 1)]
/**
* Apply the supplied strategy if the 'statistics' level is set to a value greater
* than or equal to the number given in the strategy name.
*
* E.g. if-statistics5(debug) calls the debug strategy if 'statistics' level is > 5.
*
* @param strategy to be applied
*/
strategies
if-statistics(s|t) =
if <geq> (<get-statistics> (), t) then
s
end
if-statistics1(s) = if-statistics(s|1)
if-statistics2(s) = if-statistics(s|2)
if-statistics3(s) = if-statistics(s|3)
if-statistics4(s) = if-statistics(s|4)
if-statistics5(s) = if-statistics(s|5)
if-statistics6(s) = if-statistics(s|6)
if-statistics7(s) = if-statistics(s|7)
/**
* Apply the supplied strategy if the 'statistics' level is set to a value lesser
* than or equal to the number given in the strategy name.
*
* E.g. if-less-statistics3(s) calls the s strategy if 'statistics' level is < 3.
*
* @param strategy to be applied
*/
strategies
if-less-statistics(s|t) =
if <leq> (<get-statistics> (), t) then
s
end
if-less-statistics1(s) = if-statistics(s|1)
if-less-statistics2(s) = if-statistics(s|2)
if-less-statistics3(s) = if-statistics(s|3)
if-less-statistics4(s) = if-statistics(s|4)
if-less-statistics5(s) = if-statistics(s|5)
if-less-statistics6(s) = if-statistics(s|6)
if-less-statistics7(s) = if-statistics(s|7)