bnfc generated code