8 S.split (S.regexp "[ \r\n\t]+") s
11 let map c (b, (x1, x2)) = c, b, x1, x2 in
12 L.map (map (split s)) rs
18 %token NAME TABLE CSS SR OC CC OB CB EOF
21 %type <(string * Table.table * Css.atoms) list> script
28 | NUM { T.Glue (Some $1) }
33 | CSS TEXT { split $2 }
37 | css key { T.mk_key $2 $1 }
38 | css OC tables CC { T.mk_line false $3 $1 }
39 | css OB tables CB { T.mk_line true $3 $1 }
44 | table tables { $1 :: $2 }
53 | NUM { Some $1, Some $1 }
55 | NUM NUM { Some $1, Some $2 }
56 | NUM SR { Some $1, None }
57 | SR NUM { None, Some $2 }
58 | SR SR { None, None }
62 | OB interval CB { true, $2 }
63 | OC interval CC { false, $2 }
68 | range ranges { $1 :: $2 }
72 | CSS TEXT ranges { mk_atom $2 $3 }
77 | atom atoms { $1 @ $2 }
81 | name TABLE table atoms { $1, $3, $4 }
86 | directive script { $1 :: $2 }