type line = int type fname = string (* filename *) type name = string type attrib = name * string type node = | Tag of name * (attrib list) * (node list) * line * fname | CloseTag of name * line * fname | STag of name * (attrib list) * line * fname | Text of string * line * fname | Comment of string * line * fname type opt = name * string type macro = name * ((opt list) * (node list)) let lineNum = ref 1 let curFile = ref ""