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 PS EOF
21 %type <(string * Table.table * Css.atoms) list> script
30 | text PS texts { $1 :: $3 }
36 | NUM { T.Glue (Some $1) }
41 | CSS TEXT { split $2 }
45 | css key { T.mk_key $2 $1 }
46 | css OC tables CC { T.mk_line false $3 $1 }
47 | css OB tables CB { T.mk_line true $3 $1 }
52 | table tables { $1 :: $2 }
61 | NUM { Some $1, Some $1 }
63 | NUM NUM { Some $1, Some $2 }
64 | NUM SR { Some $1, None }
65 | SR NUM { None, Some $2 }
66 | SR SR { None, None }
70 | OB interval CB { true, $2 }
71 | OC interval CC { false, $2 }
76 | range ranges { $1 :: $2 }
80 | CSS TEXT ranges { mk_atom $2 $3 }
85 | atom atoms { $1 @ $2 }
89 | name TABLE table atoms { $1, $3, $4 }
94 | directive script { $1 :: $2 }