comparison src/urweb.grm @ 717:e28637743279

URLs
author Adam Chlipala <adamc@hcoop.net>
date Thu, 09 Apr 2009 16:36:50 -0400
parents 0f42461273cf
children f152f215a02c
comparison
equal deleted inserted replaced
716:a6941960f459 717:e28637743279
1278 | tagHead LBRACE cexp RBRACE (#1 tagHead, (ECApp (#2 tagHead, cexp), s (tagHeadleft, RBRACEright))) 1278 | tagHead LBRACE cexp RBRACE (#1 tagHead, (ECApp (#2 tagHead, cexp), s (tagHeadleft, RBRACEright)))
1279 1279
1280 attrs : ([]) 1280 attrs : ([])
1281 | attr attrs (attr :: attrs) 1281 | attr attrs (attr :: attrs)
1282 1282
1283 attr : SYMBOL EQ attrv ((CName (capitalize SYMBOL), s (SYMBOLleft, SYMBOLright)), attrv) 1283 attr : SYMBOL EQ attrv ((CName (capitalize SYMBOL), s (SYMBOLleft, SYMBOLright)),
1284 if (SYMBOL = "href" orelse SYMBOL = "src")
1285 andalso (case #1 attrv of
1286 EPrim _ => true
1287 | _ => false) then
1288 let
1289 val loc = s (attrvleft, attrvright)
1290 in
1291 (EApp ((EVar (["Basis"], "bless", Infer), loc),
1292 attrv), loc)
1293 end
1294 else
1295 attrv)
1284 1296
1285 attrv : INT (EPrim (Prim.Int INT), s (INTleft, INTright)) 1297 attrv : INT (EPrim (Prim.Int INT), s (INTleft, INTright))
1286 | FLOAT (EPrim (Prim.Float FLOAT), s (FLOATleft, FLOATright)) 1298 | FLOAT (EPrim (Prim.Float FLOAT), s (FLOATleft, FLOATright))
1287 | STRING (EPrim (Prim.String STRING), s (STRINGleft, STRINGright)) 1299 | STRING (EPrim (Prim.String STRING), s (STRINGleft, STRINGright))
1288 | LBRACE eexp RBRACE (eexp) 1300 | LBRACE eexp RBRACE (eexp)