public String quotedString() throws ParseException {
  int startIdx=ptr + 1;
  if (lookAhead(0) != '\"')   return null;
  consume(1);
  while (true) {
    char next=getNextChar();
    if (next == '\"') {
      break;
    }
 else     if (next == '\0') {
      throw new ParseException(String.valueOf(this.buffer) + " :unexpected EOL",this.ptr);
    }
 else     if (next == '\\') {
      consume(1);
    }
  }
  return String.valueOf(buffer,startIdx,ptr - startIdx - 1);
}

public String quotedString ( ) throws ParseException { int startIdx = ptr + 1 ; if ( lookAhead ( 0 ) != '\"' ) return null ; consume ( 1 ) ; while ( true ) { char next = getNextChar ( ) ; if ( next == '\"' ) { break ; } else if ( next == '\0' ) { throw new ParseException ( String . valueOf ( this . buffer ) + " :unexpected EOL" , this . ptr ) ; } else if ( next == '\\' ) { consume ( 1 ) ; } } return String . valueOf ( buffer , startIdx , ptr - startIdx - 1 ) ; }
parse a comment string cursor is at a " . leave cursor at closing "
