let IDEN = ALPHA (NUM | ALPHA)*
let QSTR = [^ '"' '\\']+
-rule string_token = parse
+rule comm_token = parse
+ | "*)" { query_token lexbuf }
+ | [^ '*']* { comm_token lexbuf }
+and string_token = parse
| '"' { DQ }
| '\\' _ { STR (String.sub (Lexing.lexeme lexbuf) 1 1) }
| QSTR { STR (Lexing.lexeme lexbuf) }
| eof { EOF }
and query_token = parse
+ | "(*" { comm_token lexbuf }
| SPC { query_token lexbuf }
| '"' { STR (qstr string_token lexbuf) }
| '(' { LP }