-\".* {
- parseerrprint("misquoted or unterminated string");
- return tokv_error;
- }
-[^\ \t\n]+ return tokv_barestring;
-<<EOF>> return tokv_eof;
+[^\ \t\n\\\"]+ return tokv_barestring;
+<<EOF>> return tokv_eof;
+\" return parseerrprint("misquoted or unterminated string");
+\\ return parseerrprint("unexpected backslash");
+. abort(); /* expect lex warning "rule cannot be matched" */