1. 2

    The end of the article mentions that the implementation itself doesn’t follow the EBNF precisely. Would be nice to know which parts deviate.

    1. 2

      It’s not terribly significant, I’m afraid. But in a pair of parenthesised Runas_Spec, e.g., (operator:operator), the one on the right represents a group name, but does not follow the syntax for group names (if you look at the definition of Runas_Member above, group names are supposed to be %group). Really, the point is that you shouldn’t take the EBNF too seriously.