I can't parse this file either, but I also cannot reproduce the behaviour that you describe. Removing either or both of the last two semicolons does not "fix" the data. Can you please verify that this does work for you?
The problem that I do have with this data is that the parser expects a 'predicateObjectList' after the last square bracket. This conforms to the 'triples' production in the current Turtle grammar [1]. Apparently, according to the grammar, this document is not valid Turtle. To me, this looks like a flaw in the grammar. You may want to contact Dave Beckett about this.
As a work around, you could consider to move the last square bracket to the start of the file, e.g.:
[] a :Feed;
:title [ :text "Example Feed" ];
...
[1]
http://www.dajobe.org/2004/01/turtle/#sec-grammar
I have simplified the test case.
The following does not work with the turtle parser.
@prefix : <
http://eg.com/> .
[ :xxx [ :yyy "ddd" ];
] .
Neither does this
[ :xxx [ :yyy "ddd" ]
] .
But this does:
[] :xxx [ :yyy "ddd" ] .
All work with cwm.py.
I have mailed Dave Becket.
OK, thanks. Please let us know what he has to say about this.