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 }
| '$' { DL }
| '.' { FS }
| ',' { CM }
+ | '/' { SL }
| "and" { AND }
| "attr" { ATTR }
| "attribute" { ATTRIB }