Нормальная форма Бэкуса-Наура, страница 3

<br> ::= '<BR' 'CLEAR' '=' <clear_val> '>' | '<BR' '>'   <clear_val> ::= 'LEFT' | 'RIGHT' | 'ALL' | 'NONE'

<map> ::= '<MAP' 'NAME' '=' <string> '>' <map_cont> '</MAP' '>' | '<MAP' '>' <map_cont> '</MAP' '>'

<map_cont> ::= ‘ ‘  | <map_cont> <area>

<area>  ::= '<AREA' <area_attrs> '>'   <area_attrs> ::= <area_attr> <area_attr> ::= <area_attr> 'SHAPE' '=' <shape_val> | <area_attr> 'COORDS' '=' <string> | <area_attr> 'NOHREF' | <area_attr> 'NOHREF' '=' 'NOHREF' |

<area_attr> 'HREF' '=' <string> | <area_attr> 'ALT' '=' <string> | ‘ ‘

<shape_val> ::= 'RECT' | 'CIRCLE' | 'POLY' | 'DEFAULT'

 

<input>  ::= '<INPUT' <input_attrs> '>' <input_attrs> ::= <input_attr> | <input_attr> 'TYPE' '=' <type_input_val> | <input_attr> 'NAME' '=' <string> | <input_attr> 'VALUE' '=' <string> | <input_attr> 'CHECKED' '=' 'CHECKED' | <input_attr> 'CHECKED' | <input_attr> 'SIZE' '=' <number> |

<input_attr> 'MAXLENGTH' '=' <number> | <input_attr> 'SRC' '=' <string> |

<input_attr> 'ALIGN' '=' <align_special_val> | ‘ ‘

<type_input_val> ::= 'TEXT' | 'PASSWORD' | 'CHECKBOX' | 'RADIO' | 'SUBMIT' | 'RESET' |

'FILE' |  'HIDDEN' | 'IMAGE'

<select>  ::= '<SELECT' <select_attrs> '>' <select_cont> '</SELECT' '>' <select_attrs> ::= <select_attr>   <select_attr> ::= <select_attr> 'NAME' '=' <string> | <select_attr> 'SIZE' '=' <number> | <select_attr> 'MULTIPLE' '=' 'MULTIPLE' | <select_attr> 'MULTIPLE' | ‘ ‘ 

<select_cont> ::= <select_cont> <option> | <option>

<option> ::= '<OPTION' <option_attr> '>' <data> '</OPTION' '>' | '<OPTION' <option_attr> '>' <data>

<option_attr> ::= 'VALUE' '=' <string> <option_attr_selected> |

<option_attr_selected> 'VALUE' '=' <string> | <option_attr_selected>  

<option_attr_selected> ::= 'SELECTED' | 'SELECTED' '=' 'SELECTED'

<textarea> ::= '<TEXTAREA' <textarea_attr> '>' <data> '</TEXTAREA' '>' <textarea_attr> ::= 'NAME' '=' <string> 'ROWS' '=' <number> 'COLS' '=' <number> | <'NAME' '=' <string> 'COLS' '=' <number> 'ROWS' '=' <number> |

<'ROWS' '=' <number> 'NAME' '=' <string> 'COLS' '=' <number> |

<'ROWS' '=' <number> 'COLS' '=' <number> 'NAME' '=' <string> |

<'COLS' '=' <number> 'NAME' '=' <string> 'ROWS' '=' <number> |

<'COLS' '=' <number> 'ROWS' '=' <number> 'NAME' '=' <string>  

<block> ::= <p> | <list> | <preformatted> | <dl> | <div> | <center> | <blockquote> | <form> | <isindex> | <hr> | <table>  

//<p> ::= '<P' <p_attr> '>' <p_cont> <p> ::= '<P' <p_attr> '>' <p_cont> '</P' '>'

<p_attr> ::= 'ALIGN' '=' <align_val> | ‘ ‘

<p_cont> ::= <p_cont> <text> | <text>   //bylo empty

<list> ::= <ul> | <ol> | <dir> | <menu>

<ul> ::= '<UL' <ul_attr> '>' <ul_cont> '</UL' '>'

< ul_attr> ::=  <ul_attr_compact> <ul_attr_type> | <ul_attr_type> <ul_attr_compact> | <ul_attr_compact> | <ul_attr_type> | ‘ ‘

<ul_attr_type> ::= 'TYPE' '=' <ulstyle> <ul_attr_compact> ::= 'COMPACT' '=' 'COMPACT' | 'COMPACT'

 

<ulstyle> ::= 'DISC' | 'SQUARE' | 'CIRCLE'

 

<ul_cont> ::= <ul_cont> <ul_li> | ‘ ‘