X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fmathql%2FmQueryTLexer.mll;h=f677ef688e77c3edc2076bb2e9997f607766bddb;hb=f41a5585a648d57e4d8a24d664b0a5ce5d591148;hp=5dbb3d1b9641aa44c02ab43c89b40a0c0dd69adb;hpb=fb7df84a9ffea7a67817b303a1d6983fb52e963d;p=helm.git diff --git a/helm/ocaml/mathql/mQueryTLexer.mll b/helm/ocaml/mathql/mQueryTLexer.mll index 5dbb3d1b9..f677ef688 100644 --- a/helm/ocaml/mathql/mQueryTLexer.mll +++ b/helm/ocaml/mathql/mQueryTLexer.mll @@ -36,27 +36,29 @@ { open MQueryTParser - let debug = true + let debug = false let out s = if debug then prerr_endline s } let SPC = [' ' '\t' '\n']+ -let ALPHA = ['A'-'Z' 'a'-'z'] +let ALPHA = ['A'-'Z' 'a'-'z' '_'] let NUM = ['0'-'9'] let IDEN = ALPHA (NUM | ALPHA)* let QSTR = [^ '"' '\\']+ rule comm_token = parse - | "*)" { query_token lexbuf } - | [^ '*']* { comm_token lexbuf } + | "(*" { comm_token lexbuf; comm_token lexbuf } + | "*)" { () } + | ['*' '('] { comm_token lexbuf } + | [^ '*' '(']* { comm_token lexbuf } and string_token = parse | '"' { DQ } | '\\' _ { STR (String.sub (Lexing.lexeme lexbuf) 1 1) } - | QSTR { prerr_endline "STR"; STR (Lexing.lexeme lexbuf) } + | QSTR { STR (Lexing.lexeme lexbuf) } | eof { EOF } and query_token = parse - | "(*" { comm_token lexbuf } + | "(*" { comm_token lexbuf; query_token lexbuf } | SPC { query_token lexbuf } | '"' { let str = qstr string_token lexbuf in out ("STR " ^ str); STR str } @@ -87,7 +89,7 @@ and query_token = parse | "not" { out "NOT" ; NOT } | "or" { out "OR" ; OR } | "pattern" { out "PAT" ; PAT } - | "ptoperty" { out "PROP" ; PROP } + | "property" { out "PROP" ; PROP } | "ref" { out "REF" ; REF } | "refof" { out "REFOF" ; REFOF } | "relation" { out "REL" ; REL }