diff src/lacweb.grm @ 235:0608a0cfd32a

COUNT
author Adam Chlipala <adamc@hcoop.net>
date Thu, 28 Aug 2008 11:59:46 -0400
parents 82409ef72019
children f5732dc1316c
line wrap: on
line diff
--- a/src/lacweb.grm	Thu Aug 28 11:49:38 2008 -0400
+++ b/src/lacweb.grm	Thu Aug 28 11:59:46 2008 -0400
@@ -169,6 +169,7 @@
  | UNION | INTERSECT | EXCEPT
  | LIMIT | OFFSET | ALL
  | TRUE | FALSE | CAND | OR | NOT
+ | COUNT
  | NE | LT | LE | GT | GE
 
 %nonterm
@@ -824,6 +825,13 @@
                                                      s (LBRACEleft, RBRACEright)))
        | LPAREN sqlexp RPAREN           (sqlexp)
 
+       | COUNT LPAREN STAR RPAREN       (let
+                                             val loc = s (COUNTleft, RPARENright)
+                                         in
+                                             (EApp ((EVar (["Basis"], "sql_count"), loc),
+                                                    (ERecord [], loc)), loc)
+                                         end)
+
 wopt   :                                (sql_inject (EVar (["Basis"], "True"),
                                                      EVar (["Basis"], "sql_bool"),
                                                      dummy))