SWI Prolog has a [dictionary](http://www.swi-prolog.org/pldoc/man?section=dicts) construct that breaks syntax highlighting when using dot-syntax to index a dictionary, e.g. `MyDictionary.field`. I might have a look into this if I get some time.