]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/mathql_interpreter/mQueryTLexer.mll
patched and improved
[helm.git] / helm / ocaml / mathql_interpreter / mQueryTLexer.mll
index 6969fcb3ea4aad407d490f3f0e27a088742be460..4be6ba298e412fb5b89c0e32af48079fe2c0d2fc 100644 (file)
@@ -62,11 +62,12 @@ and query_token = parse
    | '{'         { out "LC"; LC }
    | '}'         { out "RC"; RC }
    | '@'         { out "AT"; AT }
-   | '%'         { out "PC"; PC }
+   | '$'         { out "DL"; DL }
    | '.'         { out "FS"; FS }
    | ','         { out "CM"; CM }
    | ';'         { out "SC"; SC }
    | '/'         { out "SL"; SL }
+   | ';'         { out "SC"; SC }
    | "add"       { out "ADD"   ; ADD    }
    | "align"     { out "ALIGN" ; ALIGN  }
    | "allbut"    { out "BUT"   ; BUT    }
@@ -106,6 +107,7 @@ and query_token = parse
    | "proj"      { out "PROJ"  ; PROJ   }
    | "property"  { out "PROP"  ; PROP   }
    | "select"    { out "SELECT"; SELECT }
+   | "seq"       { out "SEQ"   ; SEQ    }
    | "source"    { out "SOURCE"; SOURCE }
    | "stat"      { out "STAT"  ; STAT   }
    | "sub"       { out "SUB"   ; SUB    }
@@ -119,6 +121,17 @@ and query_token = parse
    | IDEN        { let id = Lexing.lexeme lexbuf in 
                    out ("ID " ^ id); ID id }
    | eof         { out "EOF"   ; EOF    }
+   | "="         { out "BE"    ; BE     }
+   | "#"         { out "COUNT" ; COUNT  }
+   | "!"         { out "NOT"   ; NOT    }
+   | "<"         { out "LT"    ; LT     }
+   | "<="        { out "LE"    ; LE     }
+   | "=="        { out "EQ"    ; EQ     }
+   | "&&"        { out "AND"   ; AND    }
+   | "||"        { out "OR"    ; OR     }
+   | "\\/"       { out "UNION" ; UNION  }
+   | "/\\"       { out "INTER" ; INTER  }
+   | ";;"        { out "SEQ"   ; SEQ    }
 and result_token = parse
    | SPC         { result_token lexbuf }
    | "(*"        { comm_token lexbuf; result_token lexbuf }