refactoring BNFReader