add bnf macro.