On May 23, 2008, at 4:21 PM, Terence Parr wrote: > it is specific to a block. > > ~'"' doesn't work if you need escapes etc... > >>> STRING : '"' ('\\' '"'|.)* '"' ; oh, ~'"' inside. perhaps ~('\\'|'") inside * loop. Ter