1*46439007SCharles.ForsythHTML: module 2*46439007SCharles.Forsyth{ 3*46439007SCharles.Forsyth PATH: con "/dis/lib/html.dis"; 4*46439007SCharles.Forsyth 5*46439007SCharles.Forsyth Lex: adt 6*46439007SCharles.Forsyth { 7*46439007SCharles.Forsyth tag: int; 8*46439007SCharles.Forsyth text: string; # text in Data, attribute text in tag 9*46439007SCharles.Forsyth attr: list of Attr; 10*46439007SCharles.Forsyth }; 11*46439007SCharles.Forsyth 12*46439007SCharles.Forsyth Attr: adt 13*46439007SCharles.Forsyth { 14*46439007SCharles.Forsyth name: string; 15*46439007SCharles.Forsyth value: string; 16*46439007SCharles.Forsyth }; 17*46439007SCharles.Forsyth 18*46439007SCharles.Forsyth # sorted in lexical order; used as array indices 19*46439007SCharles.Forsyth Notfound, 20*46439007SCharles.Forsyth Ta, Taddress, Tapplet, Tarea, Tatt_footer, Tb, 21*46439007SCharles.Forsyth Tbase, Tbasefont, Tbig, Tblink, Tblockquote, Tbody, 22*46439007SCharles.Forsyth Tbq, Tbr, Tcaption, Tcenter, Tcite, Tcode, Tcol, Tcolgroup, 23*46439007SCharles.Forsyth Tdd, Tdfn, Tdir, Tdiv, Tdl, Tdt, Tem, 24*46439007SCharles.Forsyth Tfont, Tform, Tframe, Tframeset, 25*46439007SCharles.Forsyth Th1, Th2, Th3, Th4, Th5, Th6, Thead, Thr, Thtml, Ti, Timg, 26*46439007SCharles.Forsyth Tinput, Tisindex, Titem, Tkbd, Tli, Tlink, Tmap, Tmenu, 27*46439007SCharles.Forsyth Tmeta, Tnobr, Tnoframes, Tol, Toption, Tp, Tparam, Tpre, 28*46439007SCharles.Forsyth Tq, Tsamp, Tscript, Tselect, Tsmall, Tstrike, Tstrong, 29*46439007SCharles.Forsyth Tstyle, Tsub, Tsup, Tt, Ttable, Ttbody, Ttd, Ttextarea, Ttextflow, Ttfoot, Tth, 30*46439007SCharles.Forsyth Tthead, Ttitle, Ttr, Ttt, Tu, Tul, Tvar 31*46439007SCharles.Forsyth : con iota; 32*46439007SCharles.Forsyth RBRA: con 1000; 33*46439007SCharles.Forsyth Data: con 2000; 34*46439007SCharles.Forsyth Latin1, UTF8: con iota; # charsets 35*46439007SCharles.Forsyth 36*46439007SCharles.Forsyth lex: fn(b: array of byte, charset: int, keepnls: int): array of ref Lex; 37*46439007SCharles.Forsyth attrvalue: fn(attr: list of Attr, name: string): (int, string); 38*46439007SCharles.Forsyth globalattr: fn(html: array of ref Lex, tag: int, attr: string): (int, string); 39*46439007SCharles.Forsyth isbreak: fn(h: array of ref Lex, i: int): int; 40*46439007SCharles.Forsyth lex2string: fn(l: ref Lex): string; 41*46439007SCharles.Forsyth}; 42