I've rebuilt libbgl-viz.lib with YYDEBUG=1, YYERROR_VERBOSE=1 and int yydebug=1 to get more output. However, I don't know enough of the graphviz parser internals to continue debugging this. Hopefully, this output will be useful to someone more knowledgeable. Again note that the same code compiled with VC7.1 works, ie, does not have this syntax error. | ...\gcc\debug\runtime-link-static>graphviz.exe graphviz_test.dot | ... | graphviz.exe | Starting parse | Entering state 0 | Reading a token: Next token is token DIGRAPH_T () | Shifting token DIGRAPH_T, Entering state 2 | Reducing stack by rule 5 (line 274), DIGRAPH_T -> graph_type | Stack now 0 | Entering state 5 | Reading a token: Next token is token ID_T () | Shifting token ID_T, Entering state 9 | Reducing stack by rule 6 (line 277), ID_T -> graph_name | Stack now 0 5 | Entering state 10 | Reducing stack by rule 3 (line 260), graph_type graph_name -> graph_header | Stack now 0 | Entering state 4 | Reading a token: Next token is token '{' () | Shifting token '{', Entering state 7 | Reading a token: Next token is token $undefined () | Reducing stack by rule 42 (line 460), -> @1 | Stack now 0 4 7 | Entering state 29 | Next token is token $undefined () | syntax error, unexpected $undefined, expecting '{' | Error: popping nterm @1 () | Stack now 0 4 7 | Error: popping token '{' () | Stack now 0 4 | Error: popping nterm graph_header () | Stack now 0 |