method string_of_desc_ele = function
Leaf l -> l.leaf
| Tag t ->
Printf.sprintf
"<%s %s>"
t.tag
(String.concat " "
(List.map
(fun (n,v) -> Printf.sprintf "%s=%s" n v)
t.atts
)
)
| List l -> Printf.sprintf "for %s in %s ()" l.var l.f
| Cond c -> Printf.sprintf "if %s ()" c.cond
| Sub s -> Printf.sprintf "sub: %s ()" s.sub_code
| Mark m -> Printf.sprintf "mark: id=%s name=%s" m.mark_id m.mark_name
| Then _ -> "then"
| Else _ -> "else"