⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 html-gram.sml

📁 这是我们参加06年全国开源软件的竞赛作品
💻 SML
📖 第 1 页 / 共 5 页
字号:
 | TableCellList of  (HTML.table_cell list) | TableRow of  (HTML.tr) | TableRowList of  (HTML.tr list) | optCaption of  (HTML.caption option) | Preformatted of  (HTML.block) | Flow2 of  (blklist_item list) | Flow1 of  (blklist_item list) | DLItem of  (deflist_item) | DLItemList of  (deflist_item list) | ListItem of  (HTML.list_item) | ListItemList of  (HTML.list_item list) | List of  (HTML.block) | Paragraph of  (HTML.block) | Block of  (HTML.block) | BlockWOIndex of  (HTML.block) | AddressContent2 of  (blklist_item list) | AddressContent1 of  (blklist_item list) | BodyElement of  (HTML.block) | BodyContent2 of  (blklist_item list) | BodyContent1 of  (blklist_item list) | BodyContent0 of  (HTML.body) | BodyContent of  (HTML.block) | Body of  (HTML.body) | HeadElement of  (HTML.head_content) | HeadElements of  (HTML.head_content list) | HeadContents of  (HTML.head_content list) | Head of  (HTML.head_content list) | StartHTML of  (HTML.cdata option) | Document of  (HTML.html)endtype svalue = MlyValue.svaluetype result = HTML.htmlendstructure EC=structopen LrTableval is_keyword =fn _ => falseval preferred_change = nilval noShift = fn (T 0) => true | _ => falseval showTerminal =fn (T 0) => "EOF"  | (T 1) => "START_A"  | (T 2) => "END_A"  | (T 3) => "START_ADDRESS"  | (T 4) => "END_ADDRESS"  | (T 5) => "START_APPLET"  | (T 6) => "END_APPLET"  | (T 7) => "TAG_AREA"  | (T 8) => "START_B"  | (T 9) => "END_B"  | (T 10) => "TAG_BASE"  | (T 11) => "START_BIG"  | (T 12) => "END_BIG"  | (T 13) => "START_BLOCKQUOTE"  | (T 14) => "END_BLOCKQUOTE"  | (T 15) => "START_BODY"  | (T 16) => "END_BODY"  | (T 17) => "TAG_BR"  | (T 18) => "START_CAPTION"  | (T 19) => "END_CAPTION"  | (T 20) => "START_CENTER"  | (T 21) => "END_CENTER"  | (T 22) => "START_CITE"  | (T 23) => "END_CITE"  | (T 24) => "START_CODE"  | (T 25) => "END_CODE"  | (T 26) => "START_DD"  | (T 27) => "END_DD"  | (T 28) => "START_DFN"  | (T 29) => "END_DFN"  | (T 30) => "START_DIR"  | (T 31) => "END_DIR"  | (T 32) => "START_DIV"  | (T 33) => "END_DIV"  | (T 34) => "START_DL"  | (T 35) => "END_DL"  | (T 36) => "START_DT"  | (T 37) => "END_DT"  | (T 38) => "START_EM"  | (T 39) => "END_EM"  | (T 40) => "START_FONT"  | (T 41) => "END_FONT"  | (T 42) => "START_BASEFONT"  | (T 43) => "END_BASEFONT"  | (T 44) => "START_FORM"  | (T 45) => "END_FORM"  | (T 46) => "START_H1"  | (T 47) => "END_H1"  | (T 48) => "START_H2"  | (T 49) => "END_H2"  | (T 50) => "START_H3"  | (T 51) => "END_H3"  | (T 52) => "START_H4"  | (T 53) => "END_H4"  | (T 54) => "START_H5"  | (T 55) => "END_H5"  | (T 56) => "START_H6"  | (T 57) => "END_H6"  | (T 58) => "START_HEAD"  | (T 59) => "END_HEAD"  | (T 60) => "TAG_HR"  | (T 61) => "START_HTML"  | (T 62) => "END_HTML"  | (T 63) => "START_I"  | (T 64) => "END_I"  | (T 65) => "TAG_IMG"  | (T 66) => "TAG_INPUT"  | (T 67) => "TAG_ISINDEX"  | (T 68) => "START_KBD"  | (T 69) => "END_KBD"  | (T 70) => "START_LI"  | (T 71) => "END_LI"  | (T 72) => "TAG_LINK"  | (T 73) => "START_MAP"  | (T 74) => "END_MAP"  | (T 75) => "START_MENU"  | (T 76) => "END_MENU"  | (T 77) => "TAG_META"  | (T 78) => "START_OL"  | (T 79) => "END_OL"  | (T 80) => "START_OPTION"  | (T 81) => "END_OPTION"  | (T 82) => "START_P"  | (T 83) => "END_P"  | (T 84) => "TAG_PARAM"  | (T 85) => "START_PRE"  | (T 86) => "END_PRE"  | (T 87) => "START_SAMP"  | (T 88) => "END_SAMP"  | (T 89) => "START_SCRIPT"  | (T 90) => "END_SCRIPT"  | (T 91) => "START_SELECT"  | (T 92) => "END_SELECT"  | (T 93) => "START_SMALL"  | (T 94) => "END_SMALL"  | (T 95) => "START_STRIKE"  | (T 96) => "END_STRIKE"  | (T 97) => "START_STRONG"  | (T 98) => "END_STRONG"  | (T 99) => "START_STYLE"  | (T 100) => "END_STYLE"  | (T 101) => "START_SUB"  | (T 102) => "END_SUB"  | (T 103) => "START_SUP"  | (T 104) => "END_SUP"  | (T 105) => "START_TABLE"  | (T 106) => "END_TABLE"  | (T 107) => "START_TD"  | (T 108) => "END_TD"  | (T 109) => "START_TEXTAREA"  | (T 110) => "END_TEXTAREA"  | (T 111) => "START_TH"  | (T 112) => "END_TH"  | (T 113) => "START_TITLE"  | (T 114) => "END_TITLE"  | (T 115) => "START_TR"  | (T 116) => "END_TR"  | (T 117) => "START_TT"  | (T 118) => "END_TT"  | (T 119) => "START_U"  | (T 120) => "END_U"  | (T 121) => "START_UL"  | (T 122) => "END_UL"  | (T 123) => "START_VAR"  | (T 124) => "END_VAR"  | (T 125) => "PCDATA"  | (T 126) => "CHAR_REF"  | (T 127) => "ENTITY_REF"  | _ => "bogus-term"local open Header inval errtermvalue=fn (T 1) => MlyValue.START_A(([])) | (T 5) => MlyValue.START_APPLET(([    ("CODE", HTMLAttrs.NAME ""),    ("WIDTH", HTMLAttrs.NAME ""),    ("HEIGHT", HTMLAttrs.NAME "")  ])) | (T 7) => MlyValue.TAG_AREA(([("ALT", HTMLAttrs.NAME "")])) | (T 10) => MlyValue.TAG_BASE(([("URL", HTMLAttrs.NAME "")])) | (T 15) => MlyValue.START_BODY(([])) | (T 17) => MlyValue.TAG_BR(([])) | (T 18) => MlyValue.START_CAPTION(([])) | (T 30) => MlyValue.START_DIR(([])) | (T 32) => MlyValue.START_DIV(([])) | (T 34) => MlyValue.START_DL(([])) | (T 40) => MlyValue.START_FONT(([])) | (T 42) => MlyValue.START_BASEFONT(([])) | (T 44) => MlyValue.START_FORM(([])) | (T 46) => MlyValue.START_H1(([])) | (T 48) => MlyValue.START_H2(([])) | (T 50) => MlyValue.START_H3(([])) | (T 52) => MlyValue.START_H4(([])) | (T 54) => MlyValue.START_H5(([])) | (T 56) => MlyValue.START_H6(([])) | (T 60) => MlyValue.TAG_HR(([])) | (T 65) => MlyValue.TAG_IMG(([("SRC", HTMLAttrs.NAME "")])) | (T 66) => MlyValue.TAG_INPUT(([])) | (T 67) => MlyValue.TAG_ISINDEX(([])) | (T 72) => MlyValue.TAG_LINK(([])) | (T 73) => MlyValue.START_MAP(([])) | (T 75) => MlyValue.START_MENU(([])) | (T 77) => MlyValue.TAG_META(([("CONTENT", HTMLAttrs.NAME "")])) | (T 78) => MlyValue.START_OL(([])) | (T 80) => MlyValue.START_OPTION(([])) | (T 82) => MlyValue.START_P(([])) | (T 84) => MlyValue.TAG_PARAM(([("NAME", HTMLAttrs.NAME "")])) | (T 85) => MlyValue.START_PRE(([])) | (T 91) => MlyValue.START_SELECT(([("NAME", HTMLAttrs.NAME "")])) | (T 105) => MlyValue.START_TABLE(([])) | (T 107) => MlyValue.START_TD(([])) | (T 109) => MlyValue.START_TEXTAREA(([    ("NAME", HTMLAttrs.NAME ""),    ("ROWS", HTMLAttrs.NAME "0"),    ("COLS", HTMLAttrs.NAME "0")  ])) | (T 111) => MlyValue.START_TH(([])) | (T 115) => MlyValue.START_TR(([])) | (T 121) => MlyValue.START_UL(([])) | _ => MlyValue.VOIDendval terms = (T 0) :: (T 2) :: (T 3) :: (T 4) :: (T 6) :: (T 8) :: (T 9) :: (T 11) :: (T 12) :: (T 13) :: (T 14) :: (T 16) :: (T 19) :: (T 20) :: (T 21) :: (T 22) :: (T 23) :: (T 24) :: (T 25) :: (T 26) :: (T 27) :: (T 28) :: (T 29) :: (T 31) :: (T 33) :: (T 35) :: (T 36) :: (T 37) :: (T 38) :: (T 39) :: (T 41) :: (T 43) :: (T 45) :: (T 47) :: (T 49) :: (T 51) :: (T 53) :: (T 55) :: (T 57) :: (T 58) :: (T 59) :: (T 61) :: (T 62) :: (T 63) :: (T 64) :: (T 68) :: (T 69) :: (T 71) :: (T 74) :: (T 76) :: (T 79) :: (T 81) :: (T 83) :: (T 86) :: (T 87) :: (T 88) :: (T 89) :: (T 90) :: (T 92) :: (T 93) :: (T 94) :: (T 95) :: (T 96) :: (T 97) :: (T 98) :: (T 99) :: (T 100) :: (T 101) :: (T 102) :: (T 103) :: (T 104) :: (T 106) :: (T 108) :: (T 110) :: (T 112) :: (T 113) :: (T 114) :: (T 116) :: (T 117) :: (T 118) :: (T 119) :: (T 120) :: (T 122) :: (T 123) :: (T 124) :: nilendstructure Actions =struct exception mlyAction of intlocal open Header inval actions = fn (i392,defaultPos,stack,    (ctx):arg) =>case (i392,stack)of (0,(_,(_,_,EndHTML1right))::(_,(MlyValue.Body Body,_,_))::(_,(MlyValue.Head Head,_,_))::(_,(MlyValue.StartHTML StartHTML,StartHTML1left,_))::rest671) => let val result=MlyValue.Document((HTML.HTML{version=StartHTML, head=Head, body=Body})) in (LrTable.NT 0,(result,StartHTML1left,EndHTML1right),rest671) end| (1,rest671) => let val result=MlyValue.StartHTML((NONE)) in (LrTable.NT 1,(result,defaultPos,defaultPos),rest671) end| (2,(_,(_,START_HTML1left,START_HTML1right))::rest671) => let val result=MlyValue.StartHTML((NONE)) in (LrTable.NT 1,(result,START_HTML1left,START_HTML1right),rest671) end| (3,rest671) => let val result=MlyValue.ntVOID(()) in (LrTable.NT 2,(result,defaultPos,defaultPos),rest671) end| (4,(_,(_,END_HTML1left,END_HTML1right))::rest671) => let val result=MlyValue.ntVOID(()) in (LrTable.NT 2,(result,END_HTML1left,END_HTML1right),rest671) end| (5,(_,(_,_,EndHEAD1right))::(_,(MlyValue.HeadContents HeadContents,_,_))::(_,(_,StartHEAD1left,_))::rest671) => let val result=MlyValue.Head((HeadContents)) in (LrTable.NT 3,(result,StartHEAD1left,EndHEAD1right),rest671) end| (6,rest671) => let val result=MlyValue.ntVOID(()) in (LrTable.NT 4,(result,defaultPos,defaultPos),rest671) end| (7,(_,(_,START_HEAD1left,START_HEAD1right))::rest671) => let val result=MlyValue.ntVOID(()) in (LrTable.NT 4,(result,START_HEAD1left,START_HEAD1right),rest671) end| (8,rest671) => let val result=MlyValue.ntVOID(()) in (LrTable.NT 5,(result,defaultPos,defaultPos),rest671) end| (9,(_,(_,END_HEAD1left,END_HEAD1right))::rest671) => let val result=MlyValue.ntVOID(()) in (LrTable.NT 5,(result,END_HEAD1left,END_HEAD1right),rest671) end| (10,(_,(MlyValue.HeadElements HeadElements2,_,HeadElements2right))::_::(_,(MlyValue.PCData PCData,_,_))::_::(_,(MlyValue.HeadElements HeadElements1,HeadElements1left,_))::rest671) => let val result=MlyValue.HeadContents((HeadElements1 @ (HTML.Head_TITLE PCData :: HeadElements2))) in (LrTable.NT 6,(result,HeadElements1left,HeadElements2right),rest671) end| (11,rest671) => let val result=MlyValue.HeadElements(([])) in (LrTable.NT 7,(result,defaultPos,defaultPos),rest671) end| (12,(_,(MlyValue.HeadElements HeadElements,_,HeadElements1right))::(_,(MlyValue.HeadElement HeadElement,HeadElement1left,_))::rest671) => let val result=MlyValue.HeadElements((HeadElement :: HeadElements)) in (LrTable.NT 7,(result,HeadElement1left,HeadElements1right),rest671) end| (13,(_,(MlyValue.TAG_META TAG_META,TAG_METAleft as TAG_META1left,TAG_META1right))::rest671) => let val result=MlyValue.HeadElement((HTMLAttrs.mkMETA(ctx TAG_METAleft, TAG_META))) in (LrTable.NT 8,(result,TAG_META1left,TAG_META1right),rest671) end| (14,(_,(MlyValue.TAG_LINK TAG_LINK,TAG_LINKleft as TAG_LINK1left,TAG_LINK1right))::rest671) => let val result=MlyValue.HeadElement((HTMLAttrs.mkLINK(ctx TAG_LINKleft, TAG_LINK))) in (LrTable.NT 8,(result,TAG_LINK1left,TAG_LINK1right),rest671) end| (15,(_,(MlyValue.TAG_ISINDEX TAG_ISINDEX,TAG_ISINDEXleft as TAG_ISINDEX1left,TAG_ISINDEX1right))::rest671) => let val result=MlyValue.HeadElement((let val stuff =		    HTMLAttrs.mkISINDEX (ctx TAG_ISINDEXleft, TAG_ISINDEX)		  in HTML.Head_ISINDEX stuff end		)) in (LrTable.NT 8,(result,TAG_ISINDEX1left,TAG_ISINDEX1right),rest671) end| (16,(_,(MlyValue.TAG_BASE TAG_BASE,TAG_BASEleft as TAG_BASE1left,TAG_BASE1right))::rest671) => let val result=MlyValue.HeadElement((HTMLAttrs.mkBASE(ctx TAG_BASEleft, TAG_BASE))) in (LrTable.NT 8,(result,TAG_BASE1left,TAG_BASE1right),rest671) end| (17,(_,(_,_,END_STYLE1right))::(_,(MlyValue.PCData PCData,_,_))::(_,(_,START_STYLE1left,_))::rest671) => let val result=MlyValue.HeadElement((HTML.Head_STYLE(PCData))) in (LrTable.NT 8,(result,START_STYLE1left,END_STYLE1right),rest671) end| (18,(_,(_,_,END_SCRIPT1right))::(_,(MlyValue.PCData PCData,_,_))::(_,(_,START_SCRIPT1left,_))::rest671) => let val result=MlyValue.HeadElement((HTML.Head_SCRIPT(PCData))) in (LrTable.NT 8,(result,START_SCRIPT1left,END_SCRIPT1right),rest671) end| (19,(_,(_,_,EndBODY1right))::(_,(MlyValue.BodyContent0 BodyContent0,BodyContent01left,_))::rest671) => let val result=MlyValue.Body((BodyContent0)) in (LrTable.NT 9,(result,BodyContent01left,EndBODY1right),rest671) end| (20,rest671) => let val result=MlyValue.ntVOID(()) in (LrTable.NT 11,(result,defaultPos,defaultPos),rest671) end| (21,(_,(_,END_BODY1left,END_BODY1right))::rest671) => let val result=MlyValue.ntVOID(()) in (LrTable.NT 11,(result,END_BODY1left,END_BODY1right),rest671) end| (22,(_,(MlyValue.BodyContent1 BodyContent1,BodyContent11left,BodyContent11right))::rest671) => let val result=MlyValue.BodyContent((mkBlock BodyContent1)) in (LrTable.NT 12,(result,BodyContent11left,BodyContent11right),

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -