james ebnf attempt