Приведение грамматик. Устранение недостижимых символов, устранение бесполезных символов, страница 2

83.  p_cont -> p_cont text  

84.  list -> ul

85.  list -> ol

86.  ul -> '<' 'UL' '>' ul_cont '<' '/' 'UL' '>'

87.  ul_cont -> ul_cont ul_li  

88.  ul_li -> '<' 'LI' '>' flow  

89.  flow -> flow text

90.  flow -> flow block

91.  ol  -> '<' 'OL' '>' ol_cont '<' '/' 'OL' '>'  

92.  ol_cont -> ol_cont ol_li  

93.  ol_li  -> '<' 'LI' '>' flow  

94.  dl -> '<' 'DL' '>' dl_cont '<' '/' 'DL' '>'  

95.  dl_cont -> dl_cont dt  

96.  dl_cont -> dl_cont dd  

97.  dt -> '<' 'DT' '>' dt_cont  

98.  dt_cont -> dt_cont text  

99.  dd -> '<' 'DD' '>' flow   

100.  div -> '<DIV' 'ALIGN' '=' align_val '>' body_cont '</DIV' '>'  

101.  div -> '<' 'DIV' '>' body_cont '<' '/' 'DIV' '>'  

102.  center -> '<' 'CENTER' '>' body_cont '<' '/' 'CENTER' '>'  

103.  form  -> '<' 'FORM' form_attr '>' form_cont '<' '/' 'FORM' '>'  

104.  form_attr -> form_attr 'ACTION' '=' string

105.  form_attr -> form_attr 'METHOD' '=' httpmethod  

106.  form_attr -> form_attr 'ENCTYPE' '=' string  

107.  form_cont -> body_cont  

108.  hr  -> '<' 'HR' hr_attr '>'  

109.  hr_attr -> hr_attr 'ALIGN' '=' align_val  

110.  hr_attr -> hr_attr 'SIZE' '=' number  

111.  hr_attr -> hr_attr 'WIDTH' '=' number  

112.  hr_attr -> hr_attr 'WIDTH' '=' 'PERCENT'  

113.  table  -> '<' 'TABLE' table_attr '>' table_cont '<' '/' 'TABLE' '>'  

114.  table_attr -> table_attr 'WIDTH' '=' number  

115.  table_attr -> table_attr 'WIDTH' '=' 'PERCENT'  

116.  table_attr -> table_attr 'BORDER' '=' number  

117.  table_cont -> tr  

118.  table_cont -> table_cont tr  

119.  tr -> '<' 'TR' '>' tr_cont '<' '/' 'TR' '>'  

120.  tr -> '<' 'TR' '>' tr_cont  

121.  tr_cont -> tr_cont td  

122.  tr_cont -> tr_cont th  

123.  th -> '<' 'TH' th_td_attr '>' body_cont '<' '/' 'TH' '>'  

124.  th -> '<' 'TH' th_td_attr '>' body_cont  

125.  th_td_attr -> th_td_attr 'WIDTH' '=' number  

126.  th_td_attr -> th_td_attr 'HEIGHT' '=' number  

127.  td -> '<' 'TD' th_td_attr '>' body_cont '<' '/' 'TD' '>'  

128.  td -> '<' 'TD' th_td_attr '>' body_cont  

Устранение недостижимых символов

V0 = { <document> }

V1 = V0 È { 'DOCTYPE' <html>| <document> → 'DOCTYPE' <html>  Î P, <document>  Î V0} = { <document>, 'DOCTYPE', <html>}

V2 = V1 È {'<', '/', '>', 'HTML', <head>, <body>   | < html > → '<' 'HTML' '>' <head> <body> '<' '/' 'HTML' '>' Î P, <n> Î V1} = {< html > , '<', '/', 'HTML', '>', <head>, <body>}

V3 = V2 È {  '<', '/', '>', 'HEAD', <head_cont>| < head > → '<' 'HEAD' '>' <head_cont> '<' '/' 'HEAD' '>' Î P, <n> Î V2} = { < head >, '<', '/', '>', 'HEAD', <head_cont>}

V4 = V3 È { <title > | < head_cont > → < head_cont> <title > Î P, < head_cont > Î V3} = { < head_cont > , <title > }

V5 = V4 È { < script > | < head_cont > → < head_cont> < script > Î P, < head_cont > Î V4} = { < head_cont > , < script > }

V6 = V5 È { < style > | < head_cont > → < head_cont> < style > Î P, < head_cont > Î V4} = { < head_cont > , < style > }

V7 = V6 È { '<', '/', '>', <data> | < title > → '<' 'TITLE' '>' <data> '<' '/' 'TITLE' '>'  Î P, < title > Î V4} = { < title > , '<', '/', '>', <data> }