diff src/urweb.grm @ 718:f152f215a02c

style declarations
author Adam Chlipala <adamc@hcoop.net>
date Sun, 12 Apr 2009 10:08:11 -0400
parents e28637743279
children 5c099b1308ae
line wrap: on
line diff
--- a/src/urweb.grm	Thu Apr 09 16:36:50 2009 -0400
+++ b/src/urweb.grm	Sun Apr 12 10:08:11 2009 -0400
@@ -194,7 +194,7 @@
  | LET | IN
  | STRUCTURE | SIGNATURE | STRUCT | SIG | END | FUNCTOR | WHERE | EXTERN | SQL
  | INCLUDE | OPEN | CONSTRAINT | CONSTRAINTS | EXPORT | TABLE | SEQUENCE
- | COOKIE
+ | COOKIE | STYLE
  | CASE | IF | THEN | ELSE
 
  | XML_BEGIN of string | XML_END | XML_BEGIN_END of string
@@ -451,6 +451,7 @@
                                              [(DClass (SYMBOL1, kind, c), s (CLASSleft, cexpright))]
                                          end)
        | COOKIE SYMBOL COLON cexp       ([(DCookie (SYMBOL, cexp), s (COOKIEleft, cexpright))])
+       | STYLE SYMBOL COLON cexp        ([(DStyle (SYMBOL, cexp), s (STYLEleft, cexpright))])
 
 kopt   :                                (NONE)
        | DCOLON kind                    (SOME kind)
@@ -707,6 +708,13 @@
                                          in
                                              (SgiVal (SYMBOL, t), loc)
                                          end)
+       | STYLE SYMBOL COLON cexp        (let
+                                             val loc = s (STYLEleft, cexpright)
+                                             val t = (CApp ((CVar (["Basis"], "css_class"), loc),
+                                                            cexp), loc)
+                                         in
+                                             (SgiVal (SYMBOL, t), loc)
+                                         end)
 
 sgis   :                                ([])
        | sgi sgis                       (sgi :: sgis)