add java BNF