A declarative parser for D based on Python Construct