From de26f0fa770c3a1afa19795488ac74db67d02690 Mon Sep 17 00:00:00 2001 From: ygrek Date: Sat, 16 May 2009 22:19:51 +0300 Subject: [PATCH] support @name as shortcut for [sqlgg] name=... --- sql_lexer.mll | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sql_lexer.mll b/sql_lexer.mll index 8225844..aeaee92 100644 --- a/sql_lexer.mll +++ b/sql_lexer.mll @@ -90,7 +90,7 @@ let keywords = "cross",CROSS; ] in let all token l = k := !k @ List.map (fun x -> x,token) l in - all (FUNCTION (Some T.Int)) ["max"; "min"; "length"; "random";"count"]; + all (FUNCTION (Some T.Int)) ["max"; "min"; "length"; "random";"count";"sum"]; all (FUNCTION (Some T.Text)) ["concat";]; all CONFLICT_ALGO ["ignore"; "replace"; "abort"; "fail"; "rollback";]; all JOIN_TYPE1 ["left";"right";"full"]; @@ -114,10 +114,14 @@ let wsp = [' ' '\r' '\t'] rule ruleStatement props = parse | ['\n' ' ' '\r' '\t']+ { ruleStatement props lexbuf } (* fixme strings *) - | "--" wsp* "[sqlgg]" wsp+ (ident+ as n) wsp* "=" wsp* ([^'\n']* as v) '\n' - { + | "--" wsp* "[sqlgg]" wsp+ (ident+ as n) wsp* "=" wsp* ([^'\n']* as v) '\n' + { ruleStatement (Props.set props n v) lexbuf } + | "--" wsp* "@" (ident+ as name) [^'\n']* '\n' + { + ruleStatement (Props.set props "name" name) lexbuf + } | "--" { store ""; ignore (ruleComment lexbuf); ruleStatement props lexbuf } | alpha [^ ';']+ as stmt ';' { Some (stmt,props) } | _ { None } -- 2.11.4.GIT