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

            | ‘<' 'I' '>' font_phrase_cont '<' '/' 'I' '>'  

| '<' 'B' '>' font_phrase_cont '<' '/' 'B' '>'

| '<' 'U' '>' font_phrase_cont '<' '/' 'U' '>'

| '<' 'A' a_attr '>' a_cont '<' '/' 'A' '>'  

| '<' 'IMG' img_attr '>'

| '<' 'FONT' font_attr '>' font_cont '<' '/' 'FONT' '>'

| '<' 'BR' '>'

| '<' 'SCRIPT' '>' data '<' '/' 'SCRIPT' '>'

| input

list -> ul

list -> ol

block -> p

block -> list

block -> dl

block -> div

block -> center

block -> form

block -> hr

block -> table  

block -> '<' 'P' '>' p_cont '<' '/' 'P' '>'

            | ‘<' 'UL' '>' ul_cont '<' '/' 'UL' '>'

            | '<' 'OL' '>' ol_cont '<' '/' 'OL' '>'

| '<' 'DL' '>' dl_cont '<' '/' 'DL' '>'  

| ‘<’’DIV' 'ALIGN' '=' align_val '>' body_cont '</DIV' '>'

| ‘<’’DIV' '>' body_cont '</DIV' '>'

| '<' 'CENTER' '>' body_cont '<' '/' 'CENTER' '>'

| '<' 'FORM' form_attr '>' form_cont '<' '/' 'FORM' '>'

| '<' 'HR' hr_attr '>'

| '<' 'TABLE' table_attr '>' table_cont '<' '/' 'TABLE' '>'

Оставшиеся правила:

1.  document -> 'DOCTYPE' html  

2.  html -> '<' 'HTML' '>' head body '<' '/' 'HTML' '>'

3.  head -> '<' 'HEAD' '>' head_cont '<' '/' 'HEAD' '>'

4.  head_cont -> head_cont title

5.  head_cont -> head_cont script

6.  head_cont -> head_cont style

7.  title -> '<' 'TITLE' '>' data '<' '/' 'TITLE' '>'

8.  script -> '<' 'SCRIPT' '>' data '<' '/' 'SCRIPT' '>'

9.  style -> '<' 'STYLE' '>' data '<' '/' 'STYLE' '>'

10.  body ->  '<' 'BODY' body_attr '>' body_cont '<' '/' 'BODY' '>'

11.  body_attr -> body_attr 'BACKGROUND' '=' string

12.  body_attr -> body_attr 'BGCOLOR' '=' color

13.  body_attr -> body_attr 'TEXT' '=' color

14.  body_cont -> body_cont heading  

15.  body_cont -> body_cont text  

16.  body_cont -> body_cont block  

17.  heading -> <' 'H1' h_attr '>' h_cont '<' '/' 'H1' '>'

18.  heading -> '<' 'H2' h_attr '>' h_cont '<' '/' 'H2' '>'

19.  heading -> '<' 'H3' h_attr '>' h_cont '<' '/' 'H3' '>'

20.  heading -> '<' 'H4' h_attr '>' h_cont '<' '/' 'H4' '>'

21.  heading -> '<' 'H5' h_attr '>' h_cont '<' '/' 'H5' '>'

22.  heading -> '<' 'H6' h_attr '>' h_cont '<' '/' 'H6' '>'

23.  h_attr -> 'ALIGN' '=' align_val

24.  h_cont -> h_cont text

25.  text -> data

26.  text -> ‘<' 'I' '>' font_phrase_cont '<' '/' 'I' '>'

27.  text -> '<' 'B' '>' font_phrase_cont '<' '/' 'B' '>'

28.  text -> '<' 'U' '>' font_phrase_cont '<' '/' 'U' '>'

29.  text ->  '<' 'A' a_attr '>' a_cont '<' '/' 'A' '>'

30.  text -> '<' 'IMG' img_attr '>'

31.  text -> '<' 'FONT' font_attr '>' font_cont '<' '/' 'FONT' '>'

32.  text -> '<' 'BR' '>'

33.  text -> '<' 'SCRIPT' '>' data '<' '/' 'SCRIPT' '>'

34.  text -> input

35.  font_phrase_cont -> font_phrase_cont text

36.  a  -> '<' 'A' a_attr '>' a_cont '<' '/' 'A' '>'  

37.  a_attr -> a_attr 'HREF' '=' string  

38.  a_attr -> a_attr 'NAME' '=' string  

39.  a_attr -> a_attr 'TITLE' '=' string  

40.  a_cont -> a_cont text

41.  img  -> '<' 'IMG' img_attr '>'

42.  img_attr -> img_attr 'SRC' '=' string  

43.  img_attr -> img_attr 'ALT' '=' string  

44.  img_attr -> img_attr 'ALIGN' '=' align_special_val