@@ -840,56 +840,66 @@ rule("nonEmptyArgumentList").branch().split(
840
840
841
841
rule ( "SQLMode" ) . split (
842
842
char ( { value : "/" , class : "special" } ) . call ( "CWTSpecial" ) . exit ( ) ,
843
- id ( { CI , value : "delete" , class : "keyword" } ) . whitespace ( )
844
- . call ( "SQLFrom" ) . whitespace ( )
845
- . id ( { CI , value : "where" , class : "keyword" } ) . whitespace ( ) . call ( "SQLExpression" )
846
- . whitespace ( ) ,
847
- id ( { CI , value : "update" , class : "keyword" } ) . whitespace ( )
848
- . call ( "SQLClassName" ) . whitespace ( )
849
- . id ( { CI , value : "set" , class : "keyword" } ) . whitespace ( ) . branch ( )
850
- . id ( { type : "sqlFieldName" , class : "variable" } ) . optWhitespace ( ) . char ( "=" ) . optWhitespace ( )
851
- . call ( "SQLExpression" ) . optWhitespace ( ) . split (
852
- char ( "," ) . optWhitespace ( ) . merge ( ) ,
853
- any ( )
854
- )
855
- . id ( { CI , value : "where" , class : "keyword" } ) . whitespace ( ) . call ( "SQLExpression" )
856
- . whitespace ( ) ,
857
- id ( { CI , value : "select" , class : "keyword" } ) . whitespace ( ) . split (
858
- id ( { CI , value : "top" , class : "keyword" } ) . whitespace ( ) . constant ( ) . whitespace ( ) ,
843
+ id ( { CI , value : "delete" , class : "keyword" } ) . whitespace ( ) . call ( "SQLDelete" ) ,
844
+ id ( { CI , value : "update" , class : "keyword" } ) . whitespace ( ) . call ( "SQLUpdate" ) ,
845
+ id ( { CI , value : "select" , class : "keyword" } ) . whitespace ( ) . call ( "SQLSelect" )
846
+ ) . exit ( ) . end ( ) ;
847
+
848
+ rule ( "SQLVar" ) . branch ( )
849
+ . id ( { class : "variable" , type : "sqlFieldName" } ) . split (
850
+ char ( "." ) . id ( { class : "variable" , type : "sqlFieldName" } ) ,
851
+ any ( )
852
+ ) . optWhitespace ( ) . branch ( ) . split (
853
+ char ( "-" ) . char ( ">" ) . optWhitespace ( )
854
+ . id ( { class : "variable" , type : "sqlFieldName" } ) . optWhitespace ( ) . merge ( ) ,
855
+ any ( )
856
+ ) . exit ( ) . end ( ) ;
857
+
858
+ rule ( "SQLSelect" ) . split (
859
+ id ( { CI , value : "top" , class : "keyword" } ) . whitespace ( ) . constant ( ) . whitespace ( ) ,
860
+ any ( )
861
+ ) . branch ( ) . split (
862
+ char ( { value : "*" , class : "special" } ) ,
863
+ call ( "SQLVar" ) . split (
864
+ id ( { CI , value : "as" , class : "keyword" } ) . whitespace ( ) . id ( { class : "variable" } )
865
+ . optWhitespace ( ) ,
859
866
any ( )
860
867
) . split (
861
- char ( { value : "*" , class : "special" } ) ,
862
- branch ( ) . id ( { class : "variable" , type : "sqlFieldName" } ) . optWhitespace ( ) . branch ( ) . split (
863
- char ( "-" ) . char ( ">" ) . optWhitespace ( )
864
- . id ( { class : "variable" , type : "sqlFieldName" } ) . optWhitespace ( ) . merge ( ) ,
865
- any ( )
866
- ) . split (
867
- id ( { CI , value : "as" , class : "keyword" } ) . whitespace ( ) . id ( { class : "variable" } )
868
- . optWhitespace ( ) ,
869
- any ( )
870
- ) . split (
871
- char ( "," ) . optWhitespace ( ) . merge ( ) ,
872
- any ( )
873
- )
874
- ) . whitespace ( ) . call ( "SQLFrom" ) . whitespace ( ) . split (
875
- id ( { CI , value : "where" , class : "keyword" } ) . whitespace ( ) . call ( "SQLExpression" )
876
- . whitespace ( ) ,
868
+ char ( "," ) . optWhitespace ( ) . merge ( ) ,
869
+ any ( )
870
+ )
871
+ ) . whitespace ( ) . call ( "SQLFrom" ) . optWhitespace ( ) . split (
872
+ id ( { CI , value : "where" , class : "keyword" } ) . whitespace ( ) . call ( "SQLExpression" ) ,
873
+ any ( )
874
+ ) . optWhitespace ( ) . split (
875
+ id ( { CI , value : "order" , class : "keyword" } ) . whitespace ( )
876
+ . id ( { CI , value : "by" , class : "keyword" } ) . whitespace ( )
877
+ . branch ( ) . id ( { class : "variable" , type : "sqlFieldName" } ) . optWhitespace ( ) . split (
878
+ id ( { CI , value : "desc" , class : "keyword" } ) . optWhitespace ( ) ,
879
+ id ( { CI , value : "asc" , class : "keyword" } ) . optWhitespace ( ) ,
877
880
any ( )
878
881
) . split (
879
- id ( { CI , value : "order" , class : "keyword" } ) . whitespace ( )
880
- . id ( { CI , value : "by" , class : "keyword" } ) . whitespace ( )
881
- . branch ( ) . id ( { class : "variable" , type : "sqlFieldName" } ) . optWhitespace ( ) . split (
882
- id ( { CI , value : "desc" , class : "keyword" } ) . optWhitespace ( ) ,
883
- id ( { CI , value : "asc" , class : "keyword" } ) . optWhitespace ( ) ,
884
- any ( )
885
- ) . split (
886
- char ( "," ) . optWhitespace ( ) . merge ( ) ,
887
- any ( )
888
- ) ,
882
+ char ( "," ) . optWhitespace ( ) . merge ( ) ,
889
883
any ( )
890
- )
884
+ ) ,
885
+ any ( )
891
886
) . exit ( ) . end ( ) ;
892
887
888
+ rule ( "SQLUpdate" ) . call ( "SQLClassName" ) . whitespace ( )
889
+ . id ( { CI , value : "set" , class : "keyword" } ) . whitespace ( )
890
+ . branch ( )
891
+ . id ( { type : "sqlFieldName" , class : "variable" } ) . optWhitespace ( ) . char ( "=" ) . optWhitespace ( )
892
+ . call ( "SQLExpression" ) . optWhitespace ( ) . split (
893
+ char ( "," ) . optWhitespace ( ) . merge ( ) ,
894
+ any ( )
895
+ )
896
+ . id ( { CI , value : "where" , class : "keyword" } )
897
+ . whitespace ( )
898
+ . call ( "SQLExpression" ) . exit ( ) . end ( ) ;
899
+
900
+ rule ( "SQLDelete" ) . call ( "SQLFrom" ) . whitespace ( )
901
+ . id ( { CI , value : "where" , class : "keyword" } ) . whitespace ( ) . call ( "SQLExpression" ) . exit ( ) . end ( ) ;
902
+
893
903
rule ( "SQLFrom" ) . id ( { CI , value : "from" , class : "keyword" } ) . whitespace ( ) . call ( "SQLClassName" )
894
904
. exit ( ) . end ( ) ;
895
905
@@ -906,9 +916,18 @@ rule("SQLClassName").split(
906
916
) ) . exit ( ) . end ( ) ;
907
917
908
918
rule ( "SQLExpression" ) . split (
919
+
909
920
constant ( ) ,
910
- char ( "(" ) . optWhitespace ( ) . call ( "SQLExpression" ) . optWhitespace ( ) . char ( ")" ) ,
921
+
922
+ char ( "(" ) . optWhitespace ( ) . split (
923
+ id ( { CI , value : "delete" , class : "keyword" } ) . whitespace ( ) . call ( "SQLDelete" ) . optWhitespace ( ) ,
924
+ id ( { CI , value : "update" , class : "keyword" } ) . whitespace ( ) . call ( "SQLUpdate" ) . optWhitespace ( ) ,
925
+ id ( { CI , value : "select" , class : "keyword" } ) . whitespace ( ) . call ( "SQLSelect" ) . optWhitespace ( ) ,
926
+ call ( "SQLExpression" ) . optWhitespace ( )
927
+ ) . char ( ")" ) ,
928
+
911
929
id ( { CI , value : "not" , class : "keyword" } ) . optWhitespace ( ) . call ( "SQLExpression" ) ,
930
+
912
931
char ( { value : "'" , class : "string" } ) . branch ( ) . split (
913
932
char ( { value : "'" , class : "string" } ) ,
914
933
split (
@@ -919,11 +938,13 @@ rule("SQLExpression").split(
919
938
whitespace ( )
920
939
) . merge ( )
921
940
) ,
941
+
922
942
id ( { class : "variable" , type : "sqlFieldName" } ) . split (
923
943
char ( { value : "_" , class : "variable" , type : "sqlFieldName" } )
924
944
. id ( { class : "variable" , type : "sqlFieldName" } ) ,
925
945
any ( )
926
946
)
947
+
927
948
) . optWhitespace ( ) . split (
928
949
split (
929
950
char ( "+" ) ,
0 commit comments