I’ve used Graphviz (GV) on & off for quite a few years, but I recently encountered a problem reading a file using GraphStream (GS). Their DOT file-format reader barfed on a few things where GV itself ‘swallowed happily’. I did eventually correct the input-file, but it’s really down to that GS seems to follow the defined format ‘to the letter’, whereas GV (ironically) doesn’t. I’m not sure that the latter is a good thing. Whilst I’d be wary of jumping to strict enforcement, likely breaking a number of previously working input-files (how many ‘broken’ web-pages existed because IE was just too forgiving?!), perhaps a ‘strict’ option could be introduced to ease transition and a diagnostic/warnings system to highlight the problems?
GS has a ‘JJ’ file that it uses to drive the tokenization and parsing. Perhaps it could be leveraged? See: In gs-core org.graphstream.stream.file.dot.DOTParser