- From: Daniel W. Connolly <connolly@hal.com>
- Date: Mon, 9 Jan 1995 21:48:38 +0100
- To: Multiple recipients of list <www-html@www0.cern.ch>
I just finished cooking up something of a yacc grammar for HTML. It's not perfect (and I haven't done the tedious part of hammering out the lexical analyzer yet) but I've had a lot of motivation lately to cook it up: * folks ask me point blank "Is there a lex/yacc description of html"? * folks ask me little syntax questions that can be answered by sgmls or the html validation service, but I can't point them to a place in the HTML spec that will answer their question. I can point them to chapter and verse in the SGML standard, but they probably don't have a copy of that. * It's bothersome that the HTML spec, a freely available IETF document, will depend on the SGML standard, which is not readily available to most consumers of this spec. * HTML itself is somewhat simpler than SGML in general -- it seems silly that folks should have to go through the painful process of learning how to read the SGML standard and related literature, just to build WWW clients. Anyway... having done this, I realize that HTML is not so simple after all. The grammar has 3893 productions! (there's a simpler one that doesn't take inclusions/exclusions into account, but it's still 825 productions.) And there are still some subtleties that I didn't yet capture (for example, by this grammar, you could write <a href="xxx" href="yyy">). This grammar is built from the standard/liberal version of the HTML DTD, not the strict/recommended version. Hmmm... I bet it will get simpler if I turned the strict switch on... hmmm... not much: down to 3181 productions. Ah... I'm using bison. The version of yacc around here craps out at 600 rules. Anyway, for what it's worth, here it is: I used Earl Hood's perlSGML[1] library to slurp up the HTML DTD, and then I wrote some perl code to write out a yacc grammar. The grammar lists all the terminal symbols, and I'm pretty confident of my design for the accompanying lexical analyzer, though I haven't lex'd it up just yet. Many thanks also to the TEI folks for some inspiring ideas[2] on how to deal with SGML reasonably in a lex/yacc fashion. Enclosed are the perl code, the simple html-noexc.y, and the full html-rec.y (the recomended grammar version with inclusions/exclusions). Note that the output of dtd2yacc.pl was hand-edited a little bit because I didn't have time to code up all the details of translationg SGML content models like (HEAD, BODY, PLAINTEXT?) to yacc. [1] http://www.uci.edu/indiv/ehood/dtd2html.doc.html [2] http://etext.virginia.edu/tei-tocs8.html #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of shell archive." # Contents: dtd2yacc.pl html-noexc.y html-rec.y # Wrapped by connolly@ulua on Wed Jan 4 17:54:24 1995 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f dtd2yacc.pl -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"dtd2yacc.pl\" else echo shar: Extracting \"dtd2yacc.pl\" \(6306 characters\) sed "s/^X//" >dtd2yacc.pl <<'END_OF_dtd2yacc.pl' X#!/usr/tools/bin/perl X Xunshift(@INC, '/u/connolly/contrib/perlSGML/lib'); #@@ X$| = 1; #@@ during debugging X Xrequire 'dtd.pl'; X X&DTDread_dtd(STDIN); X Xprint <<EOF; X%token TAGC /* > */ X%token VI /* = */ X%token DATA /* characters */ X X /* attribute values, ala TEI guidelines */ X%token NUMBER /* [0-9]+ */ X%token NAME /* [a-z][a-z0-9.-]* */ X%token NMTOKEN /* [a-z0-9.-]+ */ X%token LITERAL /* anything, in quotes */ X XEOF X Xforeach $elt (&DTDget_elements()){ X do tokensForElement($elt); X} X Xprint <<EOF; X X%% X XEOF X X Xforeach $root (&DTDget_top_elements()){ X print STDERR "@@root: $root\n"; X do productionsForElement($root); X} X X Xprint <<EOF; Xdata : DATA X | data DATA X ; X Xattrval_cdata : LITERAL | NMTOKEN | NAME | NUMBER ; Xattrval_number : NUMBER X | LITERAL /* @@ check quoted stuff for NUMBER syntax */ X ; Xattrval_numbers : NUMBER X | LITERAL /* @@ check quoted stuff for NUMBERS syntax */ X ; Xattrval_name : NAME X | LITERAL /* @@ check quoted stuff for NAME syntax */ X ; Xattrval_names : NAME X | LITERAL /* @@ check quoted stuff for NAMES syntax */ X ; X XEOF X X X############################## X X Xsub tokensForElement{ X local($elt) = @_; X X print "%token START_$elt\n"; X print "%token END_$elt\n" unless X (&DTDget_base_children($elt))[0] eq 'EMPTY'; X X X %attrs = &DTDget_elem_attr($elt); X X # filter out #FIXED attributes X X foreach $attr (sort keys %attrs){ X local($def, @vals) = split(/$;/, $attrs{$attr}); X X next if $def eq '#FIXED'; X X $attr =~ s/-/__/g; #@ yacc can't handle - in identifiers X print "%token NAME_$attr\n" unless $Token{"NAME_$attr"}++; X X foreach $val (@vals){ X next if $val eq 'CDATA' X || val eq 'NUMBER' X || val eq 'NUMBERS' X || val eq 'NAMES' X || val eq 'NAME'; X X $val =~ tr/A-Z/a-z/; #@ why is perlSGML inconsistent? X X print "%token NAME_$val\n" unless $Token{"NAME_$val"}++; X } X } X X} X X Xsub productionsForElement{ X local($elt) = @_; X X return if $Productions{$elt . $Context}++; X X print STDERR "@@... doing $elt $Context\n"; X X local($anyattrs); X local(@children) = &DTDget_base_children($elt); X X if($children[0] eq 'EMPTY'){ X print "elt_$elt$Context : start_$elt\n"; X $anyattrs = &attributes($elt); X do startEnd($elt, 'EMPTY', $anyattrs); X print "\n"; X X }else{ X print "elt_$elt$Context : start_$elt content_$elt$Context end_$elt;\n"; X X $anyattrs = &attributes($elt); X do startEnd($elt, '', $anyattrs); X X local(@Exclusions) = @Exclusions; X local(@Inclusions) = @Inclusions; X local($Context) = $Context; X X local(@excl, @incl, $cont); X @excl = &DTDget_exc_children($elt); X @incl = &DTDget_inc_children($elt); X $cont = $Context; X X# print STDERR "@@ incl for $elt: @incl\n"; X# print STDERR "@@ excl for $elt: @excl\n"; X X @Exclusions = (@excl, @Exclusions) if $#excl >= 0; X @Inclusions = (@incl, @Inclusions) if $#incl >= 0; X X if($#excl >= 0 || $#incl >= 0){ X#@@ kill context processing for now... see if we can get the grammar manageable X $Context = "_$elt" . "_" . $Context unless $Context =~ /_$elt[_]/; X } X X do content($elt, $cont); X X print "\n"; X X foreach $child (@children, @Inclusions){ X# print STDERR "@@child: $child\n"; X next if $child =~ /^\#/; X X next if grep($_ eq $child, @Exclusions); X X #@ bug in perlSGML? X next if $child eq 'cdata' || $child eq 'rcdata'; X X do productionsForElement($child); X } X } X} X X Xsub attributes{ X local($elt) = @_; X local(%attrs, @names); X X return if $StartEnd{$elt}; X X %attrs = &DTDget_elem_attr($elt); X X # filter out #FIXED attributes X X foreach $attr (sort keys %attrs){ X local(@vals) = split(/$;/, $attrs{$attr}); X X next if $vals[0] eq '#FIXED'; X X# print STDERR "@@attr vals ($elt,$attr) = @vals\n"; X push(@names, $attr); X } X X if(@names){ X print "attrs_$elt :\n"; X X foreach $attr (@names){ X local(@vals) = split(/$;/, $attrs{$attr}); X X $attr =~ s/-/__/g; #@ yacc can't handle - in identifiers X X #@@ attributes aren't really repeatable like this... X print "\t| attrs_$elt attr_$elt" . "_$attr"; X X if($vals[0] eq '#REQUIRED'){ X print " /* REQUIRED */\n"; X }else{ X print "\n"; X } X } X X print "\t;\n\n"; X X foreach $attr (@names){ X do attribute($elt, $attr, split(/$;/, $attrs{$attr})); X } X X } X X return @names; X} X Xsub attribute{ X local($elt, $attr, $def, @values) = @_; X X $attr =~ s/-/__/g; #@ yacc can't handle - in identifiers X X local($lhs); X $lhs = "attr_$elt" . "_$attr"; X X if($values[0] eq 'CDATA'){ X print "$lhs : NAME_$attr VI attrval_cdata;\n"; X } X elsif($values[0] eq 'NUMBER'){ X print "$lhs : NAME_$attr VI attrval_number;\n"; X } X elsif($values[0] eq 'NAME'){ X print "$lhs : NAME_$attr VI attrval_name;\n"; X } X elsif($values[0] eq 'NAMES'){ X print "$lhs : NAME_$attr VI attrval_names;\n"; X } X else{ X local($val); X X print "$lhs : NAME_$attr VI LITERAL /*@@ check literal: @values*/\n"; X foreach $val (@values){ X X $val =~ tr/A-Z/a-z/; #@ why is perlSGML inconsistent? X X print "\t| NAME_$attr VI NAME_$val\n"; X print "\t| NAME_$val\n"; X } X print "\t;\n"; X X } X} X X Xsub startEnd{ X local($elt, $empty, $anyattrs) = @_; X X return if $StartEnd{$elt}++; X X local($s, $e); X X ($s, $e) = $dtd'ElemTag{$elt} =~ /(\S)\s+(\S)/; #' X X# print STDERR "@@ attrs for $elt: ", &DTDget_elem_attr($elt), "\n"; X X if($anyattrs){ X print "start_$elt : START_$elt attrs_$elt TAGC\n"; X }else{ X print "start_$elt : START_$elt TAGC\n"; X } X X #@@ NET tags X #@@ empty start tags X X if ($s eq 'O'){ X print "\t| /* omitted start tag */\n"; X } X print "\t;\n"; X X if($empty ne 'EMPTY'){ X print "end_$elt : END_$elt TAGC\n"; X X #@@ empty end tags X X if ($e eq 'O'){ X print "\t| /* omitted end tag */\n"; X } X print "\t;\n"; X } X X print "\n"; X} X X Xsub content{ X local($elt, $context) = @_; X X #@@ IGNORING CONNECTIVES!!! X X local(@children) = &DTDget_base_children($elt); X X print "content_$elt$context : /* @@ connectives */\n"; X X #@@ ANY, RCDATA X if($children[0] eq 'cdata'){ X print "\t data\n"; X }else{ X foreach $child (@children, @Inclusions){ X next if grep($_ eq $child, @Exclusions); X X if($child eq '#pcdata'){ X print "\t| content_$elt$context data\n"; X }else{ X print "\t| content_$elt$context elt_$child$Context\n"; X } X } X } X X print "\t;\n"; X} END_OF_dtd2yacc.pl if test 6306 -ne `wc -c <dtd2yacc.pl`; then echo shar: \"dtd2yacc.pl\" unpacked with wrong size! fi # end of overwriting check fi if test -f html-noexc.y -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"html-noexc.y\" else echo shar: Extracting \"html-noexc.y\" \(25998 characters\) sed "s/^X//" >html-noexc.y <<'END_OF_html-noexc.y' X%token TAGC /* > */ X%token VI /* = */ X%token DATA /* characters */ X X /* attribute values, ala TEI guidelines */ X%token NUMBER /* [0-9]+ */ X%token NAME /* [a-z][a-z0-9.-]* */ X%token NMTOKEN /* [a-z0-9.-]+ */ X%token LITERAL /* anything, in quotes */ X X%token START_a X%token END_a X%token NAME_href X%token NAME_methods X%token NAME_names X%token NAME_name X%token NAME_rel X%token NAME_rev X%token NAME_title X%token NAME_urn X%token START_address X%token END_address X%token START_b X%token END_b X%token START_base X%token START_blockquote X%token END_blockquote X%token START_body X%token END_body X%token START_br X%token START_cite X%token END_cite X%token START_code X%token END_code X%token START_dd X%token END_dd X%token START_dir X%token END_dir X%token NAME_compact X%token START_dl X%token END_dl X%token START_dt X%token END_dt X%token START_em X%token END_em X%token START_form X%token END_form X%token NAME_action X%token NAME_enctype X%token NAME_method X%token NAME_get X%token NAME_post X%token START_h1 X%token END_h1 X%token START_h2 X%token END_h2 X%token START_h3 X%token END_h3 X%token START_h4 X%token END_h4 X%token START_h5 X%token END_h5 X%token START_h6 X%token END_h6 X%token START_head X%token END_head X%token START_hr X%token START_html X%token END_html X%token START_i X%token END_i X%token START_img X%token NAME_align X%token NAME_top X%token NAME_middle X%token NAME_bottom X%token NAME_alt X%token NAME_ismap X%token NAME_src X%token START_input X%token NAME_checked X%token NAME_maxlength X%token NAME_number X%token NAME_size X%token NAME_type X%token NAME_text X%token NAME_password X%token NAME_checkbox X%token NAME_radio X%token NAME_submit X%token NAME_reset X%token NAME_image X%token NAME_hidden X%token NAME_value X%token START_isindex X%token START_kbd X%token END_kbd X%token START_li X%token END_li X%token START_link X%token START_listing X%token END_listing X%token START_menu X%token END_menu X%token START_meta X%token NAME_content X%token NAME_http__equiv X%token START_nextid X%token NAME_n X%token START_ol X%token END_ol X%token START_option X%token END_option X%token NAME_selected X%token START_p X%token END_p X%token START_plaintext X%token END_plaintext X%token START_pre X%token END_pre X%token NAME_width X%token START_samp X%token END_samp X%token START_select X%token END_select X%token NAME_multiple X%token START_strong X%token END_strong X%token START_textarea X%token END_textarea X%token NAME_cols X%token NAME_rows X%token START_title X%token END_title X%token START_tt X%token END_tt X%token START_ul X%token END_ul X%token START_var X%token END_var X%token START_xmp X%token END_xmp X X%% X Xelt_html : start_html content_html end_html; Xstart_html : START_html TAGC X | /* omitted start tag */ X ; Xend_html : END_html TAGC X | /* omitted end tag */ X ; X Xcontent_html : elt_head elt_body X | elt_head elt_body elt_plaintext X ; X Xelt_head : start_head content_head end_head; Xstart_head : START_head TAGC X | /* omitted start tag */ X ; Xend_head : END_head TAGC X | /* omitted end tag */ X ; X Xcontent_head : elt_title /* @@ connectives */ X | content_head elt_isindex X | content_head elt_base X | content_head elt_nextid X | content_head elt_meta X | content_head elt_link X ; X Xelt_title : start_title content_title end_title; Xstart_title : START_title TAGC X ; Xend_title : END_title TAGC X ; X Xcontent_title : /* @@ connectives */ X | content_title data X ; X Xelt_isindex : start_isindex Xstart_isindex : START_isindex TAGC X ; X X Xelt_base : start_base Xattrs_base : X | attrs_base attr_base_href /* REQUIRED */ X ; X Xattr_base_href : NAME_href VI attrval_cdata; Xstart_base : START_base attrs_base TAGC X ; X X Xelt_nextid : start_nextid Xattrs_nextid : X | attrs_nextid attr_nextid_n /* REQUIRED */ X ; X Xattr_nextid_n : NAME_n VI attrval_cdata; Xstart_nextid : START_nextid attrs_nextid TAGC X ; X X Xelt_meta : start_meta Xattrs_meta : X | attrs_meta attr_meta_content /* REQUIRED */ X | attrs_meta attr_meta_http__equiv X | attrs_meta attr_meta_name X ; X Xattr_meta_content : NAME_content VI attrval_cdata; Xattr_meta_http__equiv : NAME_http__equiv VI LITERAL /*@@ check literal: */ X ; Xattr_meta_name : NAME_name VI attrval_name; Xstart_meta : START_meta attrs_meta TAGC X ; X X Xelt_link : start_link Xattrs_link : X | attrs_link attr_link_href /* REQUIRED */ X | attrs_link attr_link_methods X | attrs_link attr_link_rel X | attrs_link attr_link_rev X | attrs_link attr_link_title X | attrs_link attr_link_urn X ; X Xattr_link_href : NAME_href VI attrval_cdata; Xattr_link_methods : NAME_methods VI attrval_names; Xattr_link_rel : NAME_rel VI attrval_name; Xattr_link_rev : NAME_rev VI attrval_name; Xattr_link_title : NAME_title VI attrval_cdata; Xattr_link_urn : NAME_urn VI attrval_cdata; Xstart_link : START_link attrs_link TAGC X ; X X Xelt_body : start_body content_body end_body; Xstart_body : START_body TAGC X | /* omitted start tag */ X ; Xend_body : END_body TAGC X | /* omitted end tag */ X ; X Xcontent_body : /* @@ connectives */ X | content_body elt_h1 X | content_body elt_h2 X | content_body elt_h3 X | content_body elt_h4 X | content_body elt_h5 X | content_body elt_h6 X | content_body data X | content_body elt_a X | content_body elt_img X | content_body elt_br X | content_body elt_em X | content_body elt_strong X | content_body elt_code X | content_body elt_samp X | content_body elt_kbd X | content_body elt_var X | content_body elt_cite X | content_body elt_tt X | content_body elt_b X | content_body elt_i X | content_body elt_p X | content_body elt_ul X | content_body elt_ol X | content_body elt_dir X | content_body elt_menu X | content_body elt_dl X | content_body elt_pre X | content_body elt_xmp X | content_body elt_listing X | content_body elt_blockquote X | content_body elt_form X | content_body elt_isindex X | content_body elt_hr X | content_body elt_address X ; X Xelt_h1 : start_h1 content_h1 end_h1; Xstart_h1 : START_h1 TAGC X ; Xend_h1 : END_h1 TAGC X ; X Xcontent_h1 : /* @@ connectives */ X | content_h1 data X | content_h1 elt_a X | content_h1 elt_img X | content_h1 elt_br X | content_h1 elt_em X | content_h1 elt_strong X | content_h1 elt_code X | content_h1 elt_samp X | content_h1 elt_kbd X | content_h1 elt_var X | content_h1 elt_cite X | content_h1 elt_tt X | content_h1 elt_b X | content_h1 elt_i X ; X Xelt_a : start_a content_a end_a; Xattrs_a : X | attrs_a attr_a_href X | attrs_a attr_a_methods X | attrs_a attr_a_name X | attrs_a attr_a_rel X | attrs_a attr_a_rev X | attrs_a attr_a_title X | attrs_a attr_a_urn X ; X Xattr_a_href : NAME_href VI attrval_cdata; Xattr_a_methods : NAME_methods VI attrval_names; Xattr_a_name : NAME_name VI attrval_cdata; Xattr_a_rel : NAME_rel VI attrval_name; Xattr_a_rev : NAME_rev VI attrval_name; Xattr_a_title : NAME_title VI attrval_cdata; Xattr_a_urn : NAME_urn VI attrval_cdata; Xstart_a : START_a attrs_a TAGC X ; Xend_a : END_a TAGC X ; X Xcontent_a : /* @@ connectives */ X | content_a elt_h1 X | content_a elt_h2 X | content_a elt_h3 X | content_a elt_h4 X | content_a elt_h5 X | content_a elt_h6 X | content_a data X | content_a elt_img X | content_a elt_br X | content_a elt_em X | content_a elt_strong X | content_a elt_code X | content_a elt_samp X | content_a elt_kbd X | content_a elt_var X | content_a elt_cite X | content_a elt_tt X | content_a elt_b X | content_a elt_i X ; X Xelt_h2 : start_h2 content_h2 end_h2; Xstart_h2 : START_h2 TAGC X ; Xend_h2 : END_h2 TAGC X ; X Xcontent_h2 : /* @@ connectives */ X | content_h2 data X | content_h2 elt_img X | content_h2 elt_br X | content_h2 elt_em X | content_h2 elt_strong X | content_h2 elt_code X | content_h2 elt_samp X | content_h2 elt_kbd X | content_h2 elt_var X | content_h2 elt_cite X | content_h2 elt_tt X | content_h2 elt_b X | content_h2 elt_i X ; X Xelt_img : start_img Xattrs_img : X | attrs_img attr_img_align X | attrs_img attr_img_alt X | attrs_img attr_img_ismap X | attrs_img attr_img_src /* REQUIRED */ X ; X Xattr_img_align : NAME_align VI LITERAL /*@@ check literal: top middle bottom*/ X | NAME_align VI NAME_top X | NAME_top X | NAME_align VI NAME_middle X | NAME_middle X | NAME_align VI NAME_bottom X | NAME_bottom X ; Xattr_img_alt : NAME_alt VI attrval_cdata; Xattr_img_ismap : NAME_ismap VI LITERAL /*@@ check literal: ISMAP*/ X | NAME_ismap VI NAME_ismap X | NAME_ismap X ; Xattr_img_src : NAME_src VI attrval_cdata; Xstart_img : START_img attrs_img TAGC X ; X X Xelt_br : start_br Xstart_br : START_br TAGC X ; X X Xelt_em : start_em content_em end_em; Xstart_em : START_em TAGC X ; Xend_em : END_em TAGC X ; X Xcontent_em : /* @@ connectives */ X | content_em data X | content_em elt_img X | content_em elt_br X | content_em elt_em X | content_em elt_strong X | content_em elt_code X | content_em elt_samp X | content_em elt_kbd X | content_em elt_var X | content_em elt_cite X | content_em elt_tt X | content_em elt_b X | content_em elt_i X ; X Xelt_strong : start_strong content_strong end_strong; Xstart_strong : START_strong TAGC X ; Xend_strong : END_strong TAGC X ; X Xcontent_strong : /* @@ connectives */ X | content_strong data X | content_strong elt_img X | content_strong elt_br X | content_strong elt_em X | content_strong elt_strong X | content_strong elt_code X | content_strong elt_samp X | content_strong elt_kbd X | content_strong elt_var X | content_strong elt_cite X | content_strong elt_tt X | content_strong elt_b X | content_strong elt_i X ; X Xelt_code : start_code content_code end_code; Xstart_code : START_code TAGC X ; Xend_code : END_code TAGC X ; X Xcontent_code : /* @@ connectives */ X | content_code data X | content_code elt_img X | content_code elt_br X | content_code elt_em X | content_code elt_strong X | content_code elt_code X | content_code elt_samp X | content_code elt_kbd X | content_code elt_var X | content_code elt_cite X | content_code elt_tt X | content_code elt_b X | content_code elt_i X ; X Xelt_samp : start_samp content_samp end_samp; Xstart_samp : START_samp TAGC X ; Xend_samp : END_samp TAGC X ; X Xcontent_samp : /* @@ connectives */ X | content_samp data X | content_samp elt_img X | content_samp elt_br X | content_samp elt_em X | content_samp elt_strong X | content_samp elt_code X | content_samp elt_samp X | content_samp elt_kbd X | content_samp elt_var X | content_samp elt_cite X | content_samp elt_tt X | content_samp elt_b X | content_samp elt_i X ; X Xelt_kbd : start_kbd content_kbd end_kbd; Xstart_kbd : START_kbd TAGC X ; Xend_kbd : END_kbd TAGC X ; X Xcontent_kbd : /* @@ connectives */ X | content_kbd data X | content_kbd elt_img X | content_kbd elt_br X | content_kbd elt_em X | content_kbd elt_strong X | content_kbd elt_code X | content_kbd elt_samp X | content_kbd elt_kbd X | content_kbd elt_var X | content_kbd elt_cite X | content_kbd elt_tt X | content_kbd elt_b X | content_kbd elt_i X ; X Xelt_var : start_var content_var end_var; Xstart_var : START_var TAGC X ; Xend_var : END_var TAGC X ; X Xcontent_var : /* @@ connectives */ X | content_var data X | content_var elt_img X | content_var elt_br X | content_var elt_em X | content_var elt_strong X | content_var elt_code X | content_var elt_samp X | content_var elt_kbd X | content_var elt_var X | content_var elt_cite X | content_var elt_tt X | content_var elt_b X | content_var elt_i X ; X Xelt_cite : start_cite content_cite end_cite; Xstart_cite : START_cite TAGC X ; Xend_cite : END_cite TAGC X ; X Xcontent_cite : /* @@ connectives */ X | content_cite data X | content_cite elt_img X | content_cite elt_br X | content_cite elt_em X | content_cite elt_strong X | content_cite elt_code X | content_cite elt_samp X | content_cite elt_kbd X | content_cite elt_var X | content_cite elt_cite X | content_cite elt_tt X | content_cite elt_b X | content_cite elt_i X ; X Xelt_tt : start_tt content_tt end_tt; Xstart_tt : START_tt TAGC X ; Xend_tt : END_tt TAGC X ; X Xcontent_tt : /* @@ connectives */ X | content_tt data X | content_tt elt_img X | content_tt elt_br X | content_tt elt_em X | content_tt elt_strong X | content_tt elt_code X | content_tt elt_samp X | content_tt elt_kbd X | content_tt elt_var X | content_tt elt_cite X | content_tt elt_tt X | content_tt elt_b X | content_tt elt_i X ; X Xelt_b : start_b content_b end_b; Xstart_b : START_b TAGC X ; Xend_b : END_b TAGC X ; X Xcontent_b : /* @@ connectives */ X | content_b data X | content_b elt_img X | content_b elt_br X | content_b elt_em X | content_b elt_strong X | content_b elt_code X | content_b elt_samp X | content_b elt_kbd X | content_b elt_var X | content_b elt_cite X | content_b elt_tt X | content_b elt_b X | content_b elt_i X ; X Xelt_i : start_i content_i end_i; Xstart_i : START_i TAGC X ; Xend_i : END_i TAGC X ; X Xcontent_i : /* @@ connectives */ X | content_i data X | content_i elt_img X | content_i elt_br X | content_i elt_em X | content_i elt_strong X | content_i elt_code X | content_i elt_samp X | content_i elt_kbd X | content_i elt_var X | content_i elt_cite X | content_i elt_tt X | content_i elt_b X | content_i elt_i X ; X Xelt_h3 : start_h3 content_h3 end_h3; Xstart_h3 : START_h3 TAGC X ; Xend_h3 : END_h3 TAGC X ; X Xcontent_h3 : /* @@ connectives */ X | content_h3 data X | content_h3 elt_img X | content_h3 elt_br X | content_h3 elt_em X | content_h3 elt_strong X | content_h3 elt_code X | content_h3 elt_samp X | content_h3 elt_kbd X | content_h3 elt_var X | content_h3 elt_cite X | content_h3 elt_tt X | content_h3 elt_b X | content_h3 elt_i X ; X Xelt_h4 : start_h4 content_h4 end_h4; Xstart_h4 : START_h4 TAGC X ; Xend_h4 : END_h4 TAGC X ; X Xcontent_h4 : /* @@ connectives */ X | content_h4 data X | content_h4 elt_img X | content_h4 elt_br X | content_h4 elt_em X | content_h4 elt_strong X | content_h4 elt_code X | content_h4 elt_samp X | content_h4 elt_kbd X | content_h4 elt_var X | content_h4 elt_cite X | content_h4 elt_tt X | content_h4 elt_b X | content_h4 elt_i X ; X Xelt_h5 : start_h5 content_h5 end_h5; Xstart_h5 : START_h5 TAGC X ; Xend_h5 : END_h5 TAGC X ; X Xcontent_h5 : /* @@ connectives */ X | content_h5 data X | content_h5 elt_img X | content_h5 elt_br X | content_h5 elt_em X | content_h5 elt_strong X | content_h5 elt_code X | content_h5 elt_samp X | content_h5 elt_kbd X | content_h5 elt_var X | content_h5 elt_cite X | content_h5 elt_tt X | content_h5 elt_b X | content_h5 elt_i X ; X Xelt_h6 : start_h6 content_h6 end_h6; Xstart_h6 : START_h6 TAGC X ; Xend_h6 : END_h6 TAGC X ; X Xcontent_h6 : /* @@ connectives */ X | content_h6 data X | content_h6 elt_img X | content_h6 elt_br X | content_h6 elt_em X | content_h6 elt_strong X | content_h6 elt_code X | content_h6 elt_samp X | content_h6 elt_kbd X | content_h6 elt_var X | content_h6 elt_cite X | content_h6 elt_tt X | content_h6 elt_b X | content_h6 elt_i X ; X Xelt_p : start_p content_p end_p; Xstart_p : START_p TAGC X ; Xend_p : END_p TAGC X | /* omitted end tag */ X ; X Xcontent_p : /* @@ connectives */ X | content_p data X | content_p elt_a X | content_p elt_img X | content_p elt_br X | content_p elt_em X | content_p elt_strong X | content_p elt_code X | content_p elt_samp X | content_p elt_kbd X | content_p elt_var X | content_p elt_cite X | content_p elt_tt X | content_p elt_b X | content_p elt_i X ; X Xelt_ul : start_ul content_ul end_ul; Xattrs_ul : X | attrs_ul attr_ul_compact X ; X Xattr_ul_compact : NAME_compact VI LITERAL /*@@ check literal: COMPACT*/ X | NAME_compact VI NAME_compact X | NAME_compact X ; Xstart_ul : START_ul attrs_ul TAGC X ; Xend_ul : END_ul TAGC X ; X Xcontent_ul : /* @@ connectives */ X | content_ul elt_li X ; X Xelt_li : start_li content_li end_li; Xstart_li : START_li TAGC X ; Xend_li : END_li TAGC X | /* omitted end tag */ X ; X Xcontent_li : /* @@ connectives */ X | content_li data X | content_li elt_a X | content_li elt_img X | content_li elt_br X | content_li elt_em X | content_li elt_strong X | content_li elt_code X | content_li elt_samp X | content_li elt_kbd X | content_li elt_var X | content_li elt_cite X | content_li elt_tt X | content_li elt_b X | content_li elt_i X | content_li elt_p X | content_li elt_ul X | content_li elt_ol X | content_li elt_dir X | content_li elt_menu X | content_li elt_dl X | content_li elt_pre X | content_li elt_xmp X | content_li elt_listing X | content_li elt_blockquote X | content_li elt_form X | content_li elt_isindex X ; X Xelt_ol : start_ol content_ol end_ol; Xattrs_ol : X | attrs_ol attr_ol_compact X ; X Xattr_ol_compact : NAME_compact VI LITERAL /*@@ check literal: COMPACT*/ X | NAME_compact VI NAME_compact X | NAME_compact X ; Xstart_ol : START_ol attrs_ol TAGC X ; Xend_ol : END_ol TAGC X ; X Xcontent_ol : /* @@ connectives */ X | content_ol elt_li X ; X Xelt_dir : start_dir content_dir end_dir; Xattrs_dir : X | attrs_dir attr_dir_compact X ; X Xattr_dir_compact : NAME_compact VI LITERAL /*@@ check literal: COMPACT*/ X | NAME_compact VI NAME_compact X | NAME_compact X ; Xstart_dir : START_dir attrs_dir TAGC X ; Xend_dir : END_dir TAGC X ; X Xcontent_dir : /* @@ connectives */ X | content_dir elt_li X ; X Xelt_menu : start_menu content_menu end_menu; Xattrs_menu : X | attrs_menu attr_menu_compact X ; X Xattr_menu_compact : NAME_compact VI LITERAL /*@@ check literal: COMPACT*/ X | NAME_compact VI NAME_compact X | NAME_compact X ; Xstart_menu : START_menu attrs_menu TAGC X ; Xend_menu : END_menu TAGC X ; X Xcontent_menu : /* @@ connectives */ X | content_menu elt_li X ; X Xelt_dl : start_dl content_dl end_dl; Xattrs_dl : X | attrs_dl attr_dl_compact X ; X Xattr_dl_compact : NAME_compact VI LITERAL /*@@ check literal: COMPACT*/ X | NAME_compact VI NAME_compact X | NAME_compact X ; Xstart_dl : START_dl attrs_dl TAGC X ; Xend_dl : END_dl TAGC X ; X Xcontent_dl : /* @@ connectives */ X | content_dl elt_dt X | content_dl elt_dd X ; X Xelt_dt : start_dt content_dt end_dt; Xstart_dt : START_dt TAGC X ; Xend_dt : END_dt TAGC X | /* omitted end tag */ X ; X Xcontent_dt : /* @@ connectives */ X | content_dt data X | content_dt elt_a X | content_dt elt_img X | content_dt elt_br X | content_dt elt_em X | content_dt elt_strong X | content_dt elt_code X | content_dt elt_samp X | content_dt elt_kbd X | content_dt elt_var X | content_dt elt_cite X | content_dt elt_tt X | content_dt elt_b X | content_dt elt_i X ; X Xelt_dd : start_dd content_dd end_dd; Xstart_dd : START_dd TAGC X ; Xend_dd : END_dd TAGC X | /* omitted end tag */ X ; X Xcontent_dd : /* @@ connectives */ X | content_dd data X | content_dd elt_a X | content_dd elt_img X | content_dd elt_br X | content_dd elt_em X | content_dd elt_strong X | content_dd elt_code X | content_dd elt_samp X | content_dd elt_kbd X | content_dd elt_var X | content_dd elt_cite X | content_dd elt_tt X | content_dd elt_b X | content_dd elt_i X | content_dd elt_p X | content_dd elt_ul X | content_dd elt_ol X | content_dd elt_dir X | content_dd elt_menu X | content_dd elt_dl X | content_dd elt_pre X | content_dd elt_xmp X | content_dd elt_listing X | content_dd elt_blockquote X | content_dd elt_form X | content_dd elt_isindex X ; X Xelt_pre : start_pre content_pre end_pre; Xattrs_pre : X | attrs_pre attr_pre_width X ; X Xattr_pre_width : NAME_width VI attrval_number; Xstart_pre : START_pre attrs_pre TAGC X ; Xend_pre : END_pre TAGC X ; X Xcontent_pre : /* @@ connectives */ X | content_pre data X | content_pre elt_a X | content_pre elt_hr X | content_pre elt_br X | content_pre elt_tt X | content_pre elt_b X | content_pre elt_i X | content_pre elt_em X | content_pre elt_strong X | content_pre elt_code X | content_pre elt_samp X | content_pre elt_kbd X | content_pre elt_var X | content_pre elt_cite X ; X Xelt_hr : start_hr Xstart_hr : START_hr TAGC X ; X X Xelt_xmp : start_xmp content_xmp end_xmp; Xstart_xmp : START_xmp TAGC X ; Xend_xmp : END_xmp TAGC X ; X Xcontent_xmp : /* @@ connectives */ X data X ; X Xelt_listing : start_listing content_listing end_listing; Xstart_listing : START_listing TAGC X ; Xend_listing : END_listing TAGC X ; X Xcontent_listing : /* @@ connectives */ X data X ; X Xelt_blockquote : start_blockquote content_blockquote end_blockquote; Xstart_blockquote : START_blockquote TAGC X ; Xend_blockquote : END_blockquote TAGC X ; X Xcontent_blockquote : /* @@ connectives */ X | content_blockquote elt_h1 X | content_blockquote elt_h2 X | content_blockquote elt_h3 X | content_blockquote elt_h4 X | content_blockquote elt_h5 X | content_blockquote elt_h6 X | content_blockquote data X | content_blockquote elt_a X | content_blockquote elt_img X | content_blockquote elt_br X | content_blockquote elt_em X | content_blockquote elt_strong X | content_blockquote elt_code X | content_blockquote elt_samp X | content_blockquote elt_kbd X | content_blockquote elt_var X | content_blockquote elt_cite X | content_blockquote elt_tt X | content_blockquote elt_b X | content_blockquote elt_i X | content_blockquote elt_p X | content_blockquote elt_ul X | content_blockquote elt_ol X | content_blockquote elt_dir X | content_blockquote elt_menu X | content_blockquote elt_dl X | content_blockquote elt_pre X | content_blockquote elt_xmp X | content_blockquote elt_listing X | content_blockquote elt_blockquote X | content_blockquote elt_form X | content_blockquote elt_isindex X | content_blockquote elt_hr X | content_blockquote elt_address X ; X Xelt_form : start_form content_form end_form; Xattrs_form : X | attrs_form attr_form_action X | attrs_form attr_form_enctype X | attrs_form attr_form_method X ; X Xattr_form_action : NAME_action VI attrval_cdata; Xattr_form_enctype : NAME_enctype VI attrval_cdata; Xattr_form_method : NAME_method VI LITERAL /*@@ check literal: GET POST*/ X | NAME_method VI NAME_get X | NAME_get X | NAME_method VI NAME_post X | NAME_post X ; Xstart_form : START_form attrs_form TAGC X ; Xend_form : END_form TAGC X ; X Xcontent_form : /* @@ connectives */ X | content_form elt_h1 X | content_form elt_h2 X | content_form elt_h3 X | content_form elt_h4 X | content_form elt_h5 X | content_form elt_h6 X | content_form data X | content_form elt_a X | content_form elt_img X | content_form elt_br X | content_form elt_em X | content_form elt_strong X | content_form elt_code X | content_form elt_samp X | content_form elt_kbd X | content_form elt_var X | content_form elt_cite X | content_form elt_tt X | content_form elt_b X | content_form elt_i X | content_form elt_p X | content_form elt_ul X | content_form elt_ol X | content_form elt_dir X | content_form elt_menu X | content_form elt_dl X | content_form elt_pre X | content_form elt_xmp X | content_form elt_listing X | content_form elt_blockquote X | content_form elt_isindex X | content_form elt_hr X | content_form elt_address X | content_form elt_input X | content_form elt_select X | content_form elt_textarea X ; X Xelt_address : start_address content_address end_address; Xstart_address : START_address TAGC X ; Xend_address : END_address TAGC X ; X Xcontent_address : /* @@ connectives */ X | content_address data X | content_address elt_a X | content_address elt_img X | content_address elt_br X | content_address elt_em X | content_address elt_strong X | content_address elt_code X | content_address elt_samp X | content_address elt_kbd X | content_address elt_var X | content_address elt_cite X | content_address elt_tt X | content_address elt_b X | content_address elt_i X | content_address elt_p X | content_address elt_input X | content_address elt_select X | content_address elt_textarea X ; X Xelt_input : start_input Xattrs_input : X | attrs_input attr_input_align X | attrs_input attr_input_checked X | attrs_input attr_input_maxlength X | attrs_input attr_input_name X | attrs_input attr_input_size X | attrs_input attr_input_src X | attrs_input attr_input_type X | attrs_input attr_input_value X ; X Xattr_input_align : NAME_align VI LITERAL /*@@ check literal: top middle bottom*/ X | NAME_align VI NAME_top X | NAME_top X | NAME_align VI NAME_middle X | NAME_middle X | NAME_align VI NAME_bottom X | NAME_bottom X ; Xattr_input_checked : NAME_checked VI LITERAL /*@@ check literal: CHECKED*/ X | NAME_checked VI NAME_checked X | NAME_checked X ; Xattr_input_maxlength : NAME_maxlength VI attrval_number; Xattr_input_name : NAME_name VI attrval_cdata; Xattr_input_size : NAME_size VI attrval_cdata; Xattr_input_src : NAME_src VI attrval_cdata; Xattr_input_type : NAME_type VI LITERAL /*@@ check literal: TEXT PASSWORD CHECKBOX RADIO SUBMIT RESET IMAGE HIDDEN*/ X | NAME_type VI NAME_text X | NAME_text X | NAME_type VI NAME_password X | NAME_password X | NAME_type VI NAME_checkbox X | NAME_checkbox X | NAME_type VI NAME_radio X | NAME_radio X | NAME_type VI NAME_submit X | NAME_submit X | NAME_type VI NAME_reset X | NAME_reset X | NAME_type VI NAME_image X | NAME_image X | NAME_type VI NAME_hidden X | NAME_hidden X ; Xattr_input_value : NAME_value VI attrval_cdata; Xstart_input : START_input attrs_input TAGC X ; X X Xelt_select : start_select content_select end_select; Xattrs_select : X | attrs_select attr_select_multiple X | attrs_select attr_select_name /* REQUIRED */ X | attrs_select attr_select_size X ; X Xattr_select_multiple : NAME_multiple VI LITERAL /*@@ check literal: MULTIPLE*/ X | NAME_multiple VI NAME_multiple X | NAME_multiple X ; Xattr_select_name : NAME_name VI attrval_cdata; Xattr_select_size : NAME_size VI attrval_number; Xstart_select : START_select attrs_select TAGC X ; Xend_select : END_select TAGC X ; X Xcontent_select : /* @@ connectives */ X | content_select elt_option X ; X Xelt_option : start_option content_option end_option; Xattrs_option : X | attrs_option attr_option_selected X | attrs_option attr_option_value X ; X Xattr_option_selected : NAME_selected VI LITERAL /*@@ check literal: SELECTED*/ X | NAME_selected VI NAME_selected X | NAME_selected X ; Xattr_option_value : NAME_value VI attrval_cdata; Xstart_option : START_option attrs_option TAGC X ; Xend_option : END_option TAGC X | /* omitted end tag */ X ; X Xcontent_option : /* @@ connectives */ X | content_option data X ; X Xelt_textarea : start_textarea content_textarea end_textarea; Xattrs_textarea : X | attrs_textarea attr_textarea_cols /* REQUIRED */ X | attrs_textarea attr_textarea_name /* REQUIRED */ X | attrs_textarea attr_textarea_rows /* REQUIRED */ X ; X Xattr_textarea_cols : NAME_cols VI attrval_number; Xattr_textarea_name : NAME_name VI attrval_cdata; Xattr_textarea_rows : NAME_rows VI attrval_number; Xstart_textarea : START_textarea attrs_textarea TAGC X ; Xend_textarea : END_textarea TAGC X ; X Xcontent_textarea : /* @@ connectives */ X | content_textarea data X ; X Xelt_plaintext : start_plaintext content_plaintext end_plaintext; Xstart_plaintext : START_plaintext TAGC X ; Xend_plaintext : END_plaintext TAGC X | /* omitted end tag */ X ; X Xcontent_plaintext : /* @@ connectives */ X data X ; X Xdata : DATA X | data DATA X ; X Xattrval_cdata : LITERAL | NMTOKEN | NAME | NUMBER ; Xattrval_number : NUMBER X | LITERAL /* @@ check quoted stuff for NUMBER syntax */ X ; Xattrval_numbers : NUMBER X | LITERAL /* @@ check quoted stuff for NUMBERS syntax */ X ; Xattrval_name : NAME X | LITERAL /* @@ check quoted stuff for NAME syntax */ X ; Xattrval_names : NAME X | LITERAL /* @@ check quoted stuff for NAMES syntax */ X ; X END_OF_html-noexc.y if test 25998 -ne `wc -c <html-noexc.y`; then echo shar: \"html-noexc.y\" unpacked with wrong size! fi # end of overwriting check fi if test -f html-rec.y -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"html-rec.y\" else echo shar: Extracting \"html-rec.y\" \(124924 characters\) sed "s/^X//" >html-rec.y <<'END_OF_html-rec.y' X%token TAGC /* > */ X%token VI /* = */ X%token DATA /* characters */ X X /* attribute values, ala TEI guidelines */ X%token NUMBER /* [0-9]+ */ X%token NAME /* [a-z][a-z0-9.-]* */ X%token NMTOKEN /* [a-z0-9.-]+ */ X%token LITERAL /* anything, in quotes */ X X%token START_a X%token END_a X%token NAME_href X%token NAME_methods X%token NAME_names X%token NAME_name X%token NAME_id X%token NAME_rel X%token NAME_rev X%token NAME_title X%token NAME_urn X%token START_address X%token END_address X%token START_b X%token END_b X%token START_base X%token START_blockquote X%token END_blockquote X%token START_body X%token END_body X%token START_br X%token START_cite X%token END_cite X%token START_code X%token END_code X%token START_dd X%token END_dd X%token START_dir X%token END_dir X%token NAME_compact X%token START_dl X%token END_dl X%token START_dt X%token END_dt X%token START_em X%token END_em X%token START_form X%token END_form X%token NAME_action X%token NAME_enctype X%token NAME_method X%token NAME_get X%token NAME_post X%token START_h1 X%token END_h1 X%token START_h2 X%token END_h2 X%token START_h3 X%token END_h3 X%token START_h4 X%token END_h4 X%token START_h5 X%token END_h5 X%token START_h6 X%token END_h6 X%token START_head X%token END_head X%token START_hr X%token START_html X%token END_html X%token START_i X%token END_i X%token START_img X%token NAME_align X%token NAME_top X%token NAME_middle X%token NAME_bottom X%token NAME_alt X%token NAME_ismap X%token NAME_src X%token START_input X%token NAME_checked X%token NAME_maxlength X%token NAME_number X%token NAME_size X%token NAME_type X%token NAME_text X%token NAME_password X%token NAME_checkbox X%token NAME_radio X%token NAME_submit X%token NAME_reset X%token NAME_image X%token NAME_hidden X%token NAME_value X%token START_isindex X%token START_kbd X%token END_kbd X%token START_li X%token END_li X%token START_link X%token START_menu X%token END_menu X%token START_meta X%token NAME_content X%token NAME_http__equiv X%token START_nextid X%token NAME_n X%token START_ol X%token END_ol X%token START_option X%token END_option X%token NAME_selected X%token START_p X%token END_p X%token START_pre X%token END_pre X%token NAME_width X%token START_samp X%token END_samp X%token START_select X%token END_select X%token NAME_multiple X%token START_strong X%token END_strong X%token START_textarea X%token END_textarea X%token NAME_cols X%token NAME_rows X%token START_title X%token END_title X%token START_tt X%token END_tt X%token START_ul X%token END_ul X%token START_var X%token END_var X X%% X Xelt_html : start_html content_html end_html; Xstart_html : START_html TAGC X | /* omitted start tag */ X ; Xend_html : END_html TAGC X | /* omitted end tag */ X ; X Xcontent_html : elt_head elt_body X ; X Xelt_head : start_head content_head end_head; Xstart_head : START_head TAGC X | /* omitted start tag */ X ; Xend_head : END_head TAGC X | /* omitted end tag */ X ; X Xcontent_head : elt_title /* @@ connectives */ X | content_head elt_isindex X | content_head elt_base X | content_head elt_meta X | content_head elt_link X ; X Xelt_title : start_title content_title end_title; Xstart_title : START_title TAGC X ; Xend_title : END_title TAGC X ; X Xcontent_title : /* @@ connectives */ X | content_title data X ; X Xelt_isindex : start_isindex Xstart_isindex : START_isindex TAGC X ; X X Xelt_base : start_base Xattrs_base : X | attrs_base attr_base_href /* REQUIRED */ X ; X Xattr_base_href : NAME_href VI attrval_cdata; Xstart_base : START_base attrs_base TAGC X ; X X Xelt_meta : start_meta Xattrs_meta : X | attrs_meta attr_meta_content /* REQUIRED */ X | attrs_meta attr_meta_http__equiv X | attrs_meta attr_meta_name X ; X Xattr_meta_content : NAME_content VI attrval_cdata; Xattr_meta_http__equiv : NAME_http__equiv VI LITERAL /*@@ check literal: */ X ; Xattr_meta_name : NAME_name VI attrval_name; Xstart_meta : START_meta attrs_meta TAGC X ; X X Xelt_link : start_link Xattrs_link : X | attrs_link attr_link_href /* REQUIRED */ X | attrs_link attr_link_methods X | attrs_link attr_link_rel X | attrs_link attr_link_rev X | attrs_link attr_link_title X | attrs_link attr_link_urn X ; X Xattr_link_href : NAME_href VI attrval_cdata; Xattr_link_methods : NAME_methods VI attrval_names; Xattr_link_rel : NAME_rel VI attrval_name; Xattr_link_rev : NAME_rev VI attrval_name; Xattr_link_title : NAME_title VI attrval_cdata; Xattr_link_urn : NAME_urn VI attrval_cdata; Xstart_link : START_link attrs_link TAGC X ; X X Xelt_body : start_body content_body end_body; Xstart_body : START_body TAGC X | /* omitted start tag */ X ; Xend_body : END_body TAGC X | /* omitted end tag */ X ; X Xcontent_body : /* @@ connectives */ X | content_body elt_h1 X | content_body elt_h2 X | content_body elt_h3 X | content_body elt_h4 X | content_body elt_h5 X | content_body elt_h6 X | content_body elt_p X | content_body elt_ul X | content_body elt_ol X | content_body elt_dir X | content_body elt_menu X | content_body elt_dl X | content_body elt_pre X | content_body elt_blockquote X | content_body elt_form X | content_body elt_isindex X | content_body elt_hr X | content_body elt_address X | content_body elt_img X ; X Xelt_h1 : start_h1 content_h1 end_h1; Xstart_h1 : START_h1 TAGC X ; Xend_h1 : END_h1 TAGC X ; X Xcontent_h1 : /* @@ connectives */ X | content_h1 data X | content_h1 elt_a X | content_h1 elt_img X | content_h1 elt_br X | content_h1 elt_em X | content_h1 elt_strong X | content_h1 elt_code X | content_h1 elt_samp X | content_h1 elt_kbd X | content_h1 elt_var X | content_h1 elt_cite X | content_h1 elt_tt X | content_h1 elt_b X | content_h1 elt_i X ; X Xelt_a : start_a content_a end_a; Xattrs_a : X | attrs_a attr_a_href X | attrs_a attr_a_methods X | attrs_a attr_a_name X | attrs_a attr_a_rel X | attrs_a attr_a_rev X | attrs_a attr_a_title X | attrs_a attr_a_urn X ; X Xattr_a_href : NAME_href VI attrval_cdata; Xattr_a_methods : NAME_methods VI attrval_names; Xattr_a_name : NAME_name VI LITERAL /*@@ check literal: ID*/ X | NAME_name VI NAME_id X | NAME_id X ; Xattr_a_rel : NAME_rel VI attrval_name; Xattr_a_rev : NAME_rev VI attrval_name; Xattr_a_title : NAME_title VI attrval_cdata; Xattr_a_urn : NAME_urn VI attrval_cdata; Xstart_a : START_a attrs_a TAGC X ; Xend_a : END_a TAGC X ; X Xcontent_a : /* @@ connectives */ X | content_a data X | content_a elt_img_a_ X | content_a elt_br_a_ X | content_a elt_em_a_ X | content_a elt_strong_a_ X | content_a elt_code_a_ X | content_a elt_samp_a_ X | content_a elt_kbd_a_ X | content_a elt_var_a_ X | content_a elt_cite_a_ X | content_a elt_tt_a_ X | content_a elt_b_a_ X | content_a elt_i_a_ X ; X Xelt_img_a_ : start_img Xattrs_img : X | attrs_img attr_img_align X | attrs_img attr_img_alt X | attrs_img attr_img_ismap X | attrs_img attr_img_src /* REQUIRED */ X ; X Xattr_img_align : NAME_align VI LITERAL /*@@ check literal: top middle bottom*/ X | NAME_align VI NAME_top X | NAME_top X | NAME_align VI NAME_middle X | NAME_middle X | NAME_align VI NAME_bottom X | NAME_bottom X ; Xattr_img_alt : NAME_alt VI attrval_cdata; Xattr_img_ismap : NAME_ismap VI LITERAL /*@@ check literal: ISMAP*/ X | NAME_ismap VI NAME_ismap X | NAME_ismap X ; Xattr_img_src : NAME_src VI attrval_cdata; Xstart_img : START_img attrs_img TAGC X ; X X Xelt_br_a_ : start_br Xstart_br : START_br TAGC X ; X X Xelt_em_a_ : start_em content_em_a_ end_em; Xstart_em : START_em TAGC X ; Xend_em : END_em TAGC X ; X Xcontent_em_a_ : /* @@ connectives */ X | content_em_a_ data X | content_em_a_ elt_img_a_ X | content_em_a_ elt_br_a_ X | content_em_a_ elt_em_a_ X | content_em_a_ elt_strong_a_ X | content_em_a_ elt_code_a_ X | content_em_a_ elt_samp_a_ X | content_em_a_ elt_kbd_a_ X | content_em_a_ elt_var_a_ X | content_em_a_ elt_cite_a_ X | content_em_a_ elt_tt_a_ X | content_em_a_ elt_b_a_ X | content_em_a_ elt_i_a_ X ; X Xelt_strong_a_ : start_strong content_strong_a_ end_strong; Xstart_strong : START_strong TAGC X ; Xend_strong : END_strong TAGC X ; X Xcontent_strong_a_ : /* @@ connectives */ X | content_strong_a_ data X | content_strong_a_ elt_img_a_ X | content_strong_a_ elt_br_a_ X | content_strong_a_ elt_em_a_ X | content_strong_a_ elt_strong_a_ X | content_strong_a_ elt_code_a_ X | content_strong_a_ elt_samp_a_ X | content_strong_a_ elt_kbd_a_ X | content_strong_a_ elt_var_a_ X | content_strong_a_ elt_cite_a_ X | content_strong_a_ elt_tt_a_ X | content_strong_a_ elt_b_a_ X | content_strong_a_ elt_i_a_ X ; X Xelt_code_a_ : start_code content_code_a_ end_code; Xstart_code : START_code TAGC X ; Xend_code : END_code TAGC X ; X Xcontent_code_a_ : /* @@ connectives */ X | content_code_a_ data X | content_code_a_ elt_img_a_ X | content_code_a_ elt_br_a_ X | content_code_a_ elt_em_a_ X | content_code_a_ elt_strong_a_ X | content_code_a_ elt_code_a_ X | content_code_a_ elt_samp_a_ X | content_code_a_ elt_kbd_a_ X | content_code_a_ elt_var_a_ X | content_code_a_ elt_cite_a_ X | content_code_a_ elt_tt_a_ X | content_code_a_ elt_b_a_ X | content_code_a_ elt_i_a_ X ; X Xelt_samp_a_ : start_samp content_samp_a_ end_samp; Xstart_samp : START_samp TAGC X ; Xend_samp : END_samp TAGC X ; X Xcontent_samp_a_ : /* @@ connectives */ X | content_samp_a_ data X | content_samp_a_ elt_img_a_ X | content_samp_a_ elt_br_a_ X | content_samp_a_ elt_em_a_ X | content_samp_a_ elt_strong_a_ X | content_samp_a_ elt_code_a_ X | content_samp_a_ elt_samp_a_ X | content_samp_a_ elt_kbd_a_ X | content_samp_a_ elt_var_a_ X | content_samp_a_ elt_cite_a_ X | content_samp_a_ elt_tt_a_ X | content_samp_a_ elt_b_a_ X | content_samp_a_ elt_i_a_ X ; X Xelt_kbd_a_ : start_kbd content_kbd_a_ end_kbd; Xstart_kbd : START_kbd TAGC X ; Xend_kbd : END_kbd TAGC X ; X Xcontent_kbd_a_ : /* @@ connectives */ X | content_kbd_a_ data X | content_kbd_a_ elt_img_a_ X | content_kbd_a_ elt_br_a_ X | content_kbd_a_ elt_em_a_ X | content_kbd_a_ elt_strong_a_ X | content_kbd_a_ elt_code_a_ X | content_kbd_a_ elt_samp_a_ X | content_kbd_a_ elt_kbd_a_ X | content_kbd_a_ elt_var_a_ X | content_kbd_a_ elt_cite_a_ X | content_kbd_a_ elt_tt_a_ X | content_kbd_a_ elt_b_a_ X | content_kbd_a_ elt_i_a_ X ; X Xelt_var_a_ : start_var content_var_a_ end_var; Xstart_var : START_var TAGC X ; Xend_var : END_var TAGC X ; X Xcontent_var_a_ : /* @@ connectives */ X | content_var_a_ data X | content_var_a_ elt_img_a_ X | content_var_a_ elt_br_a_ X | content_var_a_ elt_em_a_ X | content_var_a_ elt_strong_a_ X | content_var_a_ elt_code_a_ X | content_var_a_ elt_samp_a_ X | content_var_a_ elt_kbd_a_ X | content_var_a_ elt_var_a_ X | content_var_a_ elt_cite_a_ X | content_var_a_ elt_tt_a_ X | content_var_a_ elt_b_a_ X | content_var_a_ elt_i_a_ X ; X Xelt_cite_a_ : start_cite content_cite_a_ end_cite; Xstart_cite : START_cite TAGC X ; Xend_cite : END_cite TAGC X ; X Xcontent_cite_a_ : /* @@ connectives */ X | content_cite_a_ data X | content_cite_a_ elt_img_a_ X | content_cite_a_ elt_br_a_ X | content_cite_a_ elt_em_a_ X | content_cite_a_ elt_strong_a_ X | content_cite_a_ elt_code_a_ X | content_cite_a_ elt_samp_a_ X | content_cite_a_ elt_kbd_a_ X | content_cite_a_ elt_var_a_ X | content_cite_a_ elt_cite_a_ X | content_cite_a_ elt_tt_a_ X | content_cite_a_ elt_b_a_ X | content_cite_a_ elt_i_a_ X ; X Xelt_tt_a_ : start_tt content_tt_a_ end_tt; Xstart_tt : START_tt TAGC X ; Xend_tt : END_tt TAGC X ; X Xcontent_tt_a_ : /* @@ connectives */ X | content_tt_a_ data X | content_tt_a_ elt_img_a_ X | content_tt_a_ elt_br_a_ X | content_tt_a_ elt_em_a_ X | content_tt_a_ elt_strong_a_ X | content_tt_a_ elt_code_a_ X | content_tt_a_ elt_samp_a_ X | content_tt_a_ elt_kbd_a_ X | content_tt_a_ elt_var_a_ X | content_tt_a_ elt_cite_a_ X | content_tt_a_ elt_tt_a_ X | content_tt_a_ elt_b_a_ X | content_tt_a_ elt_i_a_ X ; X Xelt_b_a_ : start_b content_b_a_ end_b; Xstart_b : START_b TAGC X ; Xend_b : END_b TAGC X ; X Xcontent_b_a_ : /* @@ connectives */ X | content_b_a_ data X | content_b_a_ elt_img_a_ X | content_b_a_ elt_br_a_ X | content_b_a_ elt_em_a_ X | content_b_a_ elt_strong_a_ X | content_b_a_ elt_code_a_ X | content_b_a_ elt_samp_a_ X | content_b_a_ elt_kbd_a_ X | content_b_a_ elt_var_a_ X | content_b_a_ elt_cite_a_ X | content_b_a_ elt_tt_a_ X | content_b_a_ elt_b_a_ X | content_b_a_ elt_i_a_ X ; X Xelt_i_a_ : start_i content_i_a_ end_i; Xstart_i : START_i TAGC X ; Xend_i : END_i TAGC X ; X Xcontent_i_a_ : /* @@ connectives */ X | content_i_a_ data X | content_i_a_ elt_img_a_ X | content_i_a_ elt_br_a_ X | content_i_a_ elt_em_a_ X | content_i_a_ elt_strong_a_ X | content_i_a_ elt_code_a_ X | content_i_a_ elt_samp_a_ X | content_i_a_ elt_kbd_a_ X | content_i_a_ elt_var_a_ X | content_i_a_ elt_cite_a_ X | content_i_a_ elt_tt_a_ X | content_i_a_ elt_b_a_ X | content_i_a_ elt_i_a_ X ; X Xelt_img : start_img X Xelt_br : start_br X Xelt_em : start_em content_em end_em; Xcontent_em : /* @@ connectives */ X | content_em data X | content_em elt_a X | content_em elt_img X | content_em elt_br X | content_em elt_em X | content_em elt_strong X | content_em elt_code X | content_em elt_samp X | content_em elt_kbd X | content_em elt_var X | content_em elt_cite X | content_em elt_tt X | content_em elt_b X | content_em elt_i X ; X Xelt_strong : start_strong content_strong end_strong; Xcontent_strong : /* @@ connectives */ X | content_strong data X | content_strong elt_a X | content_strong elt_img X | content_strong elt_br X | content_strong elt_em X | content_strong elt_strong X | content_strong elt_code X | content_strong elt_samp X | content_strong elt_kbd X | content_strong elt_var X | content_strong elt_cite X | content_strong elt_tt X | content_strong elt_b X | content_strong elt_i X ; X Xelt_code : start_code content_code end_code; Xcontent_code : /* @@ connectives */ X | content_code data X | content_code elt_a X | content_code elt_img X | content_code elt_br X | content_code elt_em X | content_code elt_strong X | content_code elt_code X | content_code elt_samp X | content_code elt_kbd X | content_code elt_var X | content_code elt_cite X | content_code elt_tt X | content_code elt_b X | content_code elt_i X ; X Xelt_samp : start_samp content_samp end_samp; Xcontent_samp : /* @@ connectives */ X | content_samp data X | content_samp elt_a X | content_samp elt_img X | content_samp elt_br X | content_samp elt_em X | content_samp elt_strong X | content_samp elt_code X | content_samp elt_samp X | content_samp elt_kbd X | content_samp elt_var X | content_samp elt_cite X | content_samp elt_tt X | content_samp elt_b X | content_samp elt_i X ; X Xelt_kbd : start_kbd content_kbd end_kbd; Xcontent_kbd : /* @@ connectives */ X | content_kbd data X | content_kbd elt_a X | content_kbd elt_img X | content_kbd elt_br X | content_kbd elt_em X | content_kbd elt_strong X | content_kbd elt_code X | content_kbd elt_samp X | content_kbd elt_kbd X | content_kbd elt_var X | content_kbd elt_cite X | content_kbd elt_tt X | content_kbd elt_b X | content_kbd elt_i X ; X Xelt_var : start_var content_var end_var; Xcontent_var : /* @@ connectives */ X | content_var data X | content_var elt_a X | content_var elt_img X | content_var elt_br X | content_var elt_em X | content_var elt_strong X | content_var elt_code X | content_var elt_samp X | content_var elt_kbd X | content_var elt_var X | content_var elt_cite X | content_var elt_tt X | content_var elt_b X | content_var elt_i X ; X Xelt_cite : start_cite content_cite end_cite; Xcontent_cite : /* @@ connectives */ X | content_cite data X | content_cite elt_a X | content_cite elt_img X | content_cite elt_br X | content_cite elt_em X | content_cite elt_strong X | content_cite elt_code X | content_cite elt_samp X | content_cite elt_kbd X | content_cite elt_var X | content_cite elt_cite X | content_cite elt_tt X | content_cite elt_b X | content_cite elt_i X ; X Xelt_tt : start_tt content_tt end_tt; Xcontent_tt : /* @@ connectives */ X | content_tt data X | content_tt elt_a X | content_tt elt_img X | content_tt elt_br X | content_tt elt_em X | content_tt elt_strong X | content_tt elt_code X | content_tt elt_samp X | content_tt elt_kbd X | content_tt elt_var X | content_tt elt_cite X | content_tt elt_tt X | content_tt elt_b X | content_tt elt_i X ; X Xelt_b : start_b content_b end_b; Xcontent_b : /* @@ connectives */ X | content_b data X | content_b elt_a X | content_b elt_img X | content_b elt_br X | content_b elt_em X | content_b elt_strong X | content_b elt_code X | content_b elt_samp X | content_b elt_kbd X | content_b elt_var X | content_b elt_cite X | content_b elt_tt X | content_b elt_b X | content_b elt_i X ; X Xelt_i : start_i content_i end_i; Xcontent_i : /* @@ connectives */ X | content_i data X | content_i elt_a X | content_i elt_img X | content_i elt_br X | content_i elt_em X | content_i elt_strong X | content_i elt_code X | content_i elt_samp X | content_i elt_kbd X | content_i elt_var X | content_i elt_cite X | content_i elt_tt X | content_i elt_b X | content_i elt_i X ; X Xelt_h2 : start_h2 content_h2 end_h2; Xstart_h2 : START_h2 TAGC X ; Xend_h2 : END_h2 TAGC X ; X Xcontent_h2 : /* @@ connectives */ X | content_h2 data X | content_h2 elt_a X | content_h2 elt_img X | content_h2 elt_br X | content_h2 elt_em X | content_h2 elt_strong X | content_h2 elt_code X | content_h2 elt_samp X | content_h2 elt_kbd X | content_h2 elt_var X | content_h2 elt_cite X | content_h2 elt_tt X | content_h2 elt_b X | content_h2 elt_i X ; X Xelt_h3 : start_h3 content_h3 end_h3; Xstart_h3 : START_h3 TAGC X ; Xend_h3 : END_h3 TAGC X ; X Xcontent_h3 : /* @@ connectives */ X | content_h3 data X | content_h3 elt_a X | content_h3 elt_img X | content_h3 elt_br X | content_h3 elt_em X | content_h3 elt_strong X | content_h3 elt_code X | content_h3 elt_samp X | content_h3 elt_kbd X | content_h3 elt_var X | content_h3 elt_cite X | content_h3 elt_tt X | content_h3 elt_b X | content_h3 elt_i X ; X Xelt_h4 : start_h4 content_h4 end_h4; Xstart_h4 : START_h4 TAGC X ; Xend_h4 : END_h4 TAGC X ; X Xcontent_h4 : /* @@ connectives */ X | content_h4 data X | content_h4 elt_a X | content_h4 elt_img X | content_h4 elt_br X | content_h4 elt_em X | content_h4 elt_strong X | content_h4 elt_code X | content_h4 elt_samp X | content_h4 elt_kbd X | content_h4 elt_var X | content_h4 elt_cite X | content_h4 elt_tt X | content_h4 elt_b X | content_h4 elt_i X ; X Xelt_h5 : start_h5 content_h5 end_h5; Xstart_h5 : START_h5 TAGC X ; Xend_h5 : END_h5 TAGC X ; X Xcontent_h5 : /* @@ connectives */ X | content_h5 data X | content_h5 elt_a X | content_h5 elt_img X | content_h5 elt_br X | content_h5 elt_em X | content_h5 elt_strong X | content_h5 elt_code X | content_h5 elt_samp X | content_h5 elt_kbd X | content_h5 elt_var X | content_h5 elt_cite X | content_h5 elt_tt X | content_h5 elt_b X | content_h5 elt_i X ; X Xelt_h6 : start_h6 content_h6 end_h6; Xstart_h6 : START_h6 TAGC X ; Xend_h6 : END_h6 TAGC X ; X Xcontent_h6 : /* @@ connectives */ X | content_h6 data X | content_h6 elt_a X | content_h6 elt_img X | content_h6 elt_br X | content_h6 elt_em X | content_h6 elt_strong X | content_h6 elt_code X | content_h6 elt_samp X | content_h6 elt_kbd X | content_h6 elt_var X | content_h6 elt_cite X | content_h6 elt_tt X | content_h6 elt_b X | content_h6 elt_i X ; X Xelt_p : start_p content_p end_p; Xstart_p : START_p TAGC X ; Xend_p : END_p TAGC X | /* omitted end tag */ X ; X Xcontent_p : /* @@ connectives */ X | content_p data X | content_p elt_a X | content_p elt_img X | content_p elt_br X | content_p elt_em X | content_p elt_strong X | content_p elt_code X | content_p elt_samp X | content_p elt_kbd X | content_p elt_var X | content_p elt_cite X | content_p elt_tt X | content_p elt_b X | content_p elt_i X ; X Xelt_ul : start_ul content_ul end_ul; Xattrs_ul : X | attrs_ul attr_ul_compact X ; X Xattr_ul_compact : NAME_compact VI LITERAL /*@@ check literal: COMPACT*/ X | NAME_compact VI NAME_compact X | NAME_compact X ; Xstart_ul : START_ul attrs_ul TAGC X ; Xend_ul : END_ul TAGC X ; X Xcontent_ul : /* @@ connectives */ X | content_ul elt_li X ; X Xelt_li : start_li content_li end_li; Xstart_li : START_li TAGC X ; Xend_li : END_li TAGC X | /* omitted end tag */ X ; X Xcontent_li : /* @@ connectives */ X | content_li data X | content_li elt_a X | content_li elt_img X | content_li elt_br X | content_li elt_em X | content_li elt_strong X | content_li elt_code X | content_li elt_samp X | content_li elt_kbd X | content_li elt_var X | content_li elt_cite X | content_li elt_tt X | content_li elt_b X | content_li elt_i X | content_li elt_p X | content_li elt_ul X | content_li elt_ol X | content_li elt_dir X | content_li elt_menu X | content_li elt_dl X | content_li elt_pre X | content_li elt_blockquote X | content_li elt_form X | content_li elt_isindex X ; X Xelt_ol : start_ol content_ol end_ol; Xattrs_ol : X | attrs_ol attr_ol_compact X ; X Xattr_ol_compact : NAME_compact VI LITERAL /*@@ check literal: COMPACT*/ X | NAME_compact VI NAME_compact X | NAME_compact X ; Xstart_ol : START_ol attrs_ol TAGC X ; Xend_ol : END_ol TAGC X ; X Xcontent_ol : /* @@ connectives */ X | content_ol elt_li X ; X Xelt_dir : start_dir content_dir end_dir; Xattrs_dir : X | attrs_dir attr_dir_compact X ; X Xattr_dir_compact : NAME_compact VI LITERAL /*@@ check literal: COMPACT*/ X | NAME_compact VI NAME_compact X | NAME_compact X ; Xstart_dir : START_dir attrs_dir TAGC X ; Xend_dir : END_dir TAGC X ; X Xcontent_dir : /* @@ connectives */ X | content_dir elt_li_dir_ X ; X Xelt_li_dir_ : start_li content_li_dir_ end_li; Xcontent_li_dir_ : /* @@ connectives */ X | content_li_dir_ data X | content_li_dir_ elt_a_dir_ X | content_li_dir_ elt_img_dir_ X | content_li_dir_ elt_br_dir_ X | content_li_dir_ elt_em_dir_ X | content_li_dir_ elt_strong_dir_ X | content_li_dir_ elt_code_dir_ X | content_li_dir_ elt_samp_dir_ X | content_li_dir_ elt_kbd_dir_ X | content_li_dir_ elt_var_dir_ X | content_li_dir_ elt_cite_dir_ X | content_li_dir_ elt_tt_dir_ X | content_li_dir_ elt_b_dir_ X | content_li_dir_ elt_i_dir_ X ; X Xelt_a_dir_ : start_a content_a_dir_ end_a; Xcontent_a_dir_ : /* @@ connectives */ X | content_a_dir_ data X | content_a_dir_ elt_img_a__dir_ X | content_a_dir_ elt_br_a__dir_ X | content_a_dir_ elt_em_a__dir_ X | content_a_dir_ elt_strong_a__dir_ X | content_a_dir_ elt_code_a__dir_ X | content_a_dir_ elt_samp_a__dir_ X | content_a_dir_ elt_kbd_a__dir_ X | content_a_dir_ elt_var_a__dir_ X | content_a_dir_ elt_cite_a__dir_ X | content_a_dir_ elt_tt_a__dir_ X | content_a_dir_ elt_b_a__dir_ X | content_a_dir_ elt_i_a__dir_ X ; X Xelt_img_a__dir_ : start_img X Xelt_br_a__dir_ : start_br X Xelt_em_a__dir_ : start_em content_em_a__dir_ end_em; Xcontent_em_a__dir_ : /* @@ connectives */ X | content_em_a__dir_ data X | content_em_a__dir_ elt_img_a__dir_ X | content_em_a__dir_ elt_br_a__dir_ X | content_em_a__dir_ elt_em_a__dir_ X | content_em_a__dir_ elt_strong_a__dir_ X | content_em_a__dir_ elt_code_a__dir_ X | content_em_a__dir_ elt_samp_a__dir_ X | content_em_a__dir_ elt_kbd_a__dir_ X | content_em_a__dir_ elt_var_a__dir_ X | content_em_a__dir_ elt_cite_a__dir_ X | content_em_a__dir_ elt_tt_a__dir_ X | content_em_a__dir_ elt_b_a__dir_ X | content_em_a__dir_ elt_i_a__dir_ X ; X Xelt_strong_a__dir_ : start_strong content_strong_a__dir_ end_strong; Xcontent_strong_a__dir_ : /* @@ connectives */ X | content_strong_a__dir_ data X | content_strong_a__dir_ elt_img_a__dir_ X | content_strong_a__dir_ elt_br_a__dir_ X | content_strong_a__dir_ elt_em_a__dir_ X | content_strong_a__dir_ elt_strong_a__dir_ X | content_strong_a__dir_ elt_code_a__dir_ X | content_strong_a__dir_ elt_samp_a__dir_ X | content_strong_a__dir_ elt_kbd_a__dir_ X | content_strong_a__dir_ elt_var_a__dir_ X | content_strong_a__dir_ elt_cite_a__dir_ X | content_strong_a__dir_ elt_tt_a__dir_ X | content_strong_a__dir_ elt_b_a__dir_ X | content_strong_a__dir_ elt_i_a__dir_ X ; X Xelt_code_a__dir_ : start_code content_code_a__dir_ end_code; Xcontent_code_a__dir_ : /* @@ connectives */ X | content_code_a__dir_ data X | content_code_a__dir_ elt_img_a__dir_ X | content_code_a__dir_ elt_br_a__dir_ X | content_code_a__dir_ elt_em_a__dir_ X | content_code_a__dir_ elt_strong_a__dir_ X | content_code_a__dir_ elt_code_a__dir_ X | content_code_a__dir_ elt_samp_a__dir_ X | content_code_a__dir_ elt_kbd_a__dir_ X | content_code_a__dir_ elt_var_a__dir_ X | content_code_a__dir_ elt_cite_a__dir_ X | content_code_a__dir_ elt_tt_a__dir_ X | content_code_a__dir_ elt_b_a__dir_ X | content_code_a__dir_ elt_i_a__dir_ X ; X Xelt_samp_a__dir_ : start_samp content_samp_a__dir_ end_samp; Xcontent_samp_a__dir_ : /* @@ connectives */ X | content_samp_a__dir_ data X | content_samp_a__dir_ elt_img_a__dir_ X | content_samp_a__dir_ elt_br_a__dir_ X | content_samp_a__dir_ elt_em_a__dir_ X | content_samp_a__dir_ elt_strong_a__dir_ X | content_samp_a__dir_ elt_code_a__dir_ X | content_samp_a__dir_ elt_samp_a__dir_ X | content_samp_a__dir_ elt_kbd_a__dir_ X | content_samp_a__dir_ elt_var_a__dir_ X | content_samp_a__dir_ elt_cite_a__dir_ X | content_samp_a__dir_ elt_tt_a__dir_ X | content_samp_a__dir_ elt_b_a__dir_ X | content_samp_a__dir_ elt_i_a__dir_ X ; X Xelt_kbd_a__dir_ : start_kbd content_kbd_a__dir_ end_kbd; Xcontent_kbd_a__dir_ : /* @@ connectives */ X | content_kbd_a__dir_ data X | content_kbd_a__dir_ elt_img_a__dir_ X | content_kbd_a__dir_ elt_br_a__dir_ X | content_kbd_a__dir_ elt_em_a__dir_ X | content_kbd_a__dir_ elt_strong_a__dir_ X | content_kbd_a__dir_ elt_code_a__dir_ X | content_kbd_a__dir_ elt_samp_a__dir_ X | content_kbd_a__dir_ elt_kbd_a__dir_ X | content_kbd_a__dir_ elt_var_a__dir_ X | content_kbd_a__dir_ elt_cite_a__dir_ X | content_kbd_a__dir_ elt_tt_a__dir_ X | content_kbd_a__dir_ elt_b_a__dir_ X | content_kbd_a__dir_ elt_i_a__dir_ X ; X Xelt_var_a__dir_ : start_var content_var_a__dir_ end_var; Xcontent_var_a__dir_ : /* @@ connectives */ X | content_var_a__dir_ data X | content_var_a__dir_ elt_img_a__dir_ X | content_var_a__dir_ elt_br_a__dir_ X | content_var_a__dir_ elt_em_a__dir_ X | content_var_a__dir_ elt_strong_a__dir_ X | content_var_a__dir_ elt_code_a__dir_ X | content_var_a__dir_ elt_samp_a__dir_ X | content_var_a__dir_ elt_kbd_a__dir_ X | content_var_a__dir_ elt_var_a__dir_ X | content_var_a__dir_ elt_cite_a__dir_ X | content_var_a__dir_ elt_tt_a__dir_ X | content_var_a__dir_ elt_b_a__dir_ X | content_var_a__dir_ elt_i_a__dir_ X ; X Xelt_cite_a__dir_ : start_cite content_cite_a__dir_ end_cite; Xcontent_cite_a__dir_ : /* @@ connectives */ X | content_cite_a__dir_ data X | content_cite_a__dir_ elt_img_a__dir_ X | content_cite_a__dir_ elt_br_a__dir_ X | content_cite_a__dir_ elt_em_a__dir_ X | content_cite_a__dir_ elt_strong_a__dir_ X | content_cite_a__dir_ elt_code_a__dir_ X | content_cite_a__dir_ elt_samp_a__dir_ X | content_cite_a__dir_ elt_kbd_a__dir_ X | content_cite_a__dir_ elt_var_a__dir_ X | content_cite_a__dir_ elt_cite_a__dir_ X | content_cite_a__dir_ elt_tt_a__dir_ X | content_cite_a__dir_ elt_b_a__dir_ X | content_cite_a__dir_ elt_i_a__dir_ X ; X Xelt_tt_a__dir_ : start_tt content_tt_a__dir_ end_tt; Xcontent_tt_a__dir_ : /* @@ connectives */ X | content_tt_a__dir_ data X | content_tt_a__dir_ elt_img_a__dir_ X | content_tt_a__dir_ elt_br_a__dir_ X | content_tt_a__dir_ elt_em_a__dir_ X | content_tt_a__dir_ elt_strong_a__dir_ X | content_tt_a__dir_ elt_code_a__dir_ X | content_tt_a__dir_ elt_samp_a__dir_ X | content_tt_a__dir_ elt_kbd_a__dir_ X | content_tt_a__dir_ elt_var_a__dir_ X | content_tt_a__dir_ elt_cite_a__dir_ X | content_tt_a__dir_ elt_tt_a__dir_ X | content_tt_a__dir_ elt_b_a__dir_ X | content_tt_a__dir_ elt_i_a__dir_ X ; X Xelt_b_a__dir_ : start_b content_b_a__dir_ end_b; Xcontent_b_a__dir_ : /* @@ connectives */ X | content_b_a__dir_ data X | content_b_a__dir_ elt_img_a__dir_ X | content_b_a__dir_ elt_br_a__dir_ X | content_b_a__dir_ elt_em_a__dir_ X | content_b_a__dir_ elt_strong_a__dir_ X | content_b_a__dir_ elt_code_a__dir_ X | content_b_a__dir_ elt_samp_a__dir_ X | content_b_a__dir_ elt_kbd_a__dir_ X | content_b_a__dir_ elt_var_a__dir_ X | content_b_a__dir_ elt_cite_a__dir_ X | content_b_a__dir_ elt_tt_a__dir_ X | content_b_a__dir_ elt_b_a__dir_ X | content_b_a__dir_ elt_i_a__dir_ X ; X Xelt_i_a__dir_ : start_i content_i_a__dir_ end_i; Xcontent_i_a__dir_ : /* @@ connectives */ X | content_i_a__dir_ data X | content_i_a__dir_ elt_img_a__dir_ X | content_i_a__dir_ elt_br_a__dir_ X | content_i_a__dir_ elt_em_a__dir_ X | content_i_a__dir_ elt_strong_a__dir_ X | content_i_a__dir_ elt_code_a__dir_ X | content_i_a__dir_ elt_samp_a__dir_ X | content_i_a__dir_ elt_kbd_a__dir_ X | content_i_a__dir_ elt_var_a__dir_ X | content_i_a__dir_ elt_cite_a__dir_ X | content_i_a__dir_ elt_tt_a__dir_ X | content_i_a__dir_ elt_b_a__dir_ X | content_i_a__dir_ elt_i_a__dir_ X ; X Xelt_img_dir_ : start_img X Xelt_br_dir_ : start_br X Xelt_em_dir_ : start_em content_em_dir_ end_em; Xcontent_em_dir_ : /* @@ connectives */ X | content_em_dir_ data X | content_em_dir_ elt_a_dir_ X | content_em_dir_ elt_img_dir_ X | content_em_dir_ elt_br_dir_ X | content_em_dir_ elt_em_dir_ X | content_em_dir_ elt_strong_dir_ X | content_em_dir_ elt_code_dir_ X | content_em_dir_ elt_samp_dir_ X | content_em_dir_ elt_kbd_dir_ X | content_em_dir_ elt_var_dir_ X | content_em_dir_ elt_cite_dir_ X | content_em_dir_ elt_tt_dir_ X | content_em_dir_ elt_b_dir_ X | content_em_dir_ elt_i_dir_ X ; X Xelt_strong_dir_ : start_strong content_strong_dir_ end_strong; Xcontent_strong_dir_ : /* @@ connectives */ X | content_strong_dir_ data X | content_strong_dir_ elt_a_dir_ X | content_strong_dir_ elt_img_dir_ X | content_strong_dir_ elt_br_dir_ X | content_strong_dir_ elt_em_dir_ X | content_strong_dir_ elt_strong_dir_ X | content_strong_dir_ elt_code_dir_ X | content_strong_dir_ elt_samp_dir_ X | content_strong_dir_ elt_kbd_dir_ X | content_strong_dir_ elt_var_dir_ X | content_strong_dir_ elt_cite_dir_ X | content_strong_dir_ elt_tt_dir_ X | content_strong_dir_ elt_b_dir_ X | content_strong_dir_ elt_i_dir_ X ; X Xelt_code_dir_ : start_code content_code_dir_ end_code; Xcontent_code_dir_ : /* @@ connectives */ X | content_code_dir_ data X | content_code_dir_ elt_a_dir_ X | content_code_dir_ elt_img_dir_ X | content_code_dir_ elt_br_dir_ X | content_code_dir_ elt_em_dir_ X | content_code_dir_ elt_strong_dir_ X | content_code_dir_ elt_code_dir_ X | content_code_dir_ elt_samp_dir_ X | content_code_dir_ elt_kbd_dir_ X | content_code_dir_ elt_var_dir_ X | content_code_dir_ elt_cite_dir_ X | content_code_dir_ elt_tt_dir_ X | content_code_dir_ elt_b_dir_ X | content_code_dir_ elt_i_dir_ X ; X Xelt_samp_dir_ : start_samp content_samp_dir_ end_samp; Xcontent_samp_dir_ : /* @@ connectives */ X | content_samp_dir_ data X | content_samp_dir_ elt_a_dir_ X | content_samp_dir_ elt_img_dir_ X | content_samp_dir_ elt_br_dir_ X | content_samp_dir_ elt_em_dir_ X | content_samp_dir_ elt_strong_dir_ X | content_samp_dir_ elt_code_dir_ X | content_samp_dir_ elt_samp_dir_ X | content_samp_dir_ elt_kbd_dir_ X | content_samp_dir_ elt_var_dir_ X | content_samp_dir_ elt_cite_dir_ X | content_samp_dir_ elt_tt_dir_ X | content_samp_dir_ elt_b_dir_ X | content_samp_dir_ elt_i_dir_ X ; X Xelt_kbd_dir_ : start_kbd content_kbd_dir_ end_kbd; Xcontent_kbd_dir_ : /* @@ connectives */ X | content_kbd_dir_ data X | content_kbd_dir_ elt_a_dir_ X | content_kbd_dir_ elt_img_dir_ X | content_kbd_dir_ elt_br_dir_ X | content_kbd_dir_ elt_em_dir_ X | content_kbd_dir_ elt_strong_dir_ X | content_kbd_dir_ elt_code_dir_ X | content_kbd_dir_ elt_samp_dir_ X | content_kbd_dir_ elt_kbd_dir_ X | content_kbd_dir_ elt_var_dir_ X | content_kbd_dir_ elt_cite_dir_ X | content_kbd_dir_ elt_tt_dir_ X | content_kbd_dir_ elt_b_dir_ X | content_kbd_dir_ elt_i_dir_ X ; X Xelt_var_dir_ : start_var content_var_dir_ end_var; Xcontent_var_dir_ : /* @@ connectives */ X | content_var_dir_ data X | content_var_dir_ elt_a_dir_ X | content_var_dir_ elt_img_dir_ X | content_var_dir_ elt_br_dir_ X | content_var_dir_ elt_em_dir_ X | content_var_dir_ elt_strong_dir_ X | content_var_dir_ elt_code_dir_ X | content_var_dir_ elt_samp_dir_ X | content_var_dir_ elt_kbd_dir_ X | content_var_dir_ elt_var_dir_ X | content_var_dir_ elt_cite_dir_ X | content_var_dir_ elt_tt_dir_ X | content_var_dir_ elt_b_dir_ X | content_var_dir_ elt_i_dir_ X ; X Xelt_cite_dir_ : start_cite content_cite_dir_ end_cite; Xcontent_cite_dir_ : /* @@ connectives */ X | content_cite_dir_ data X | content_cite_dir_ elt_a_dir_ X | content_cite_dir_ elt_img_dir_ X | content_cite_dir_ elt_br_dir_ X | content_cite_dir_ elt_em_dir_ X | content_cite_dir_ elt_strong_dir_ X | content_cite_dir_ elt_code_dir_ X | content_cite_dir_ elt_samp_dir_ X | content_cite_dir_ elt_kbd_dir_ X | content_cite_dir_ elt_var_dir_ X | content_cite_dir_ elt_cite_dir_ X | content_cite_dir_ elt_tt_dir_ X | content_cite_dir_ elt_b_dir_ X | content_cite_dir_ elt_i_dir_ X ; X Xelt_tt_dir_ : start_tt content_tt_dir_ end_tt; Xcontent_tt_dir_ : /* @@ connectives */ X | content_tt_dir_ data X | content_tt_dir_ elt_a_dir_ X | content_tt_dir_ elt_img_dir_ X | content_tt_dir_ elt_br_dir_ X | content_tt_dir_ elt_em_dir_ X | content_tt_dir_ elt_strong_dir_ X | content_tt_dir_ elt_code_dir_ X | content_tt_dir_ elt_samp_dir_ X | content_tt_dir_ elt_kbd_dir_ X | content_tt_dir_ elt_var_dir_ X | content_tt_dir_ elt_cite_dir_ X | content_tt_dir_ elt_tt_dir_ X | content_tt_dir_ elt_b_dir_ X | content_tt_dir_ elt_i_dir_ X ; X Xelt_b_dir_ : start_b content_b_dir_ end_b; Xcontent_b_dir_ : /* @@ connectives */ X | content_b_dir_ data X | content_b_dir_ elt_a_dir_ X | content_b_dir_ elt_img_dir_ X | content_b_dir_ elt_br_dir_ X | content_b_dir_ elt_em_dir_ X | content_b_dir_ elt_strong_dir_ X | content_b_dir_ elt_code_dir_ X | content_b_dir_ elt_samp_dir_ X | content_b_dir_ elt_kbd_dir_ X | content_b_dir_ elt_var_dir_ X | content_b_dir_ elt_cite_dir_ X | content_b_dir_ elt_tt_dir_ X | content_b_dir_ elt_b_dir_ X | content_b_dir_ elt_i_dir_ X ; X Xelt_i_dir_ : start_i content_i_dir_ end_i; Xcontent_i_dir_ : /* @@ connectives */ X | content_i_dir_ data X | content_i_dir_ elt_a_dir_ X | content_i_dir_ elt_img_dir_ X | content_i_dir_ elt_br_dir_ X | content_i_dir_ elt_em_dir_ X | content_i_dir_ elt_strong_dir_ X | content_i_dir_ elt_code_dir_ X | content_i_dir_ elt_samp_dir_ X | content_i_dir_ elt_kbd_dir_ X | content_i_dir_ elt_var_dir_ X | content_i_dir_ elt_cite_dir_ X | content_i_dir_ elt_tt_dir_ X | content_i_dir_ elt_b_dir_ X | content_i_dir_ elt_i_dir_ X ; X Xelt_menu : start_menu content_menu end_menu; Xattrs_menu : X | attrs_menu attr_menu_compact X ; X Xattr_menu_compact : NAME_compact VI LITERAL /*@@ check literal: COMPACT*/ X | NAME_compact VI NAME_compact X | NAME_compact X ; Xstart_menu : START_menu attrs_menu TAGC X ; Xend_menu : END_menu TAGC X ; X Xcontent_menu : /* @@ connectives */ X | content_menu elt_li_menu_ X ; X Xelt_li_menu_ : start_li content_li_menu_ end_li; Xcontent_li_menu_ : /* @@ connectives */ X | content_li_menu_ data X | content_li_menu_ elt_a_menu_ X | content_li_menu_ elt_img_menu_ X | content_li_menu_ elt_br_menu_ X | content_li_menu_ elt_em_menu_ X | content_li_menu_ elt_strong_menu_ X | content_li_menu_ elt_code_menu_ X | content_li_menu_ elt_samp_menu_ X | content_li_menu_ elt_kbd_menu_ X | content_li_menu_ elt_var_menu_ X | content_li_menu_ elt_cite_menu_ X | content_li_menu_ elt_tt_menu_ X | content_li_menu_ elt_b_menu_ X | content_li_menu_ elt_i_menu_ X ; X Xelt_a_menu_ : start_a content_a_menu_ end_a; Xcontent_a_menu_ : /* @@ connectives */ X | content_a_menu_ data X | content_a_menu_ elt_img_a__menu_ X | content_a_menu_ elt_br_a__menu_ X | content_a_menu_ elt_em_a__menu_ X | content_a_menu_ elt_strong_a__menu_ X | content_a_menu_ elt_code_a__menu_ X | content_a_menu_ elt_samp_a__menu_ X | content_a_menu_ elt_kbd_a__menu_ X | content_a_menu_ elt_var_a__menu_ X | content_a_menu_ elt_cite_a__menu_ X | content_a_menu_ elt_tt_a__menu_ X | content_a_menu_ elt_b_a__menu_ X | content_a_menu_ elt_i_a__menu_ X ; X Xelt_img_a__menu_ : start_img X Xelt_br_a__menu_ : start_br X Xelt_em_a__menu_ : start_em content_em_a__menu_ end_em; Xcontent_em_a__menu_ : /* @@ connectives */ X | content_em_a__menu_ data X | content_em_a__menu_ elt_img_a__menu_ X | content_em_a__menu_ elt_br_a__menu_ X | content_em_a__menu_ elt_em_a__menu_ X | content_em_a__menu_ elt_strong_a__menu_ X | content_em_a__menu_ elt_code_a__menu_ X | content_em_a__menu_ elt_samp_a__menu_ X | content_em_a__menu_ elt_kbd_a__menu_ X | content_em_a__menu_ elt_var_a__menu_ X | content_em_a__menu_ elt_cite_a__menu_ X | content_em_a__menu_ elt_tt_a__menu_ X | content_em_a__menu_ elt_b_a__menu_ X | content_em_a__menu_ elt_i_a__menu_ X ; X Xelt_strong_a__menu_ : start_strong content_strong_a__menu_ end_strong; Xcontent_strong_a__menu_ : /* @@ connectives */ X | content_strong_a__menu_ data X | content_strong_a__menu_ elt_img_a__menu_ X | content_strong_a__menu_ elt_br_a__menu_ X | content_strong_a__menu_ elt_em_a__menu_ X | content_strong_a__menu_ elt_strong_a__menu_ X | content_strong_a__menu_ elt_code_a__menu_ X | content_strong_a__menu_ elt_samp_a__menu_ X | content_strong_a__menu_ elt_kbd_a__menu_ X | content_strong_a__menu_ elt_var_a__menu_ X | content_strong_a__menu_ elt_cite_a__menu_ X | content_strong_a__menu_ elt_tt_a__menu_ X | content_strong_a__menu_ elt_b_a__menu_ X | content_strong_a__menu_ elt_i_a__menu_ X ; X Xelt_code_a__menu_ : start_code content_code_a__menu_ end_code; Xcontent_code_a__menu_ : /* @@ connectives */ X | content_code_a__menu_ data X | content_code_a__menu_ elt_img_a__menu_ X | content_code_a__menu_ elt_br_a__menu_ X | content_code_a__menu_ elt_em_a__menu_ X | content_code_a__menu_ elt_strong_a__menu_ X | content_code_a__menu_ elt_code_a__menu_ X | content_code_a__menu_ elt_samp_a__menu_ X | content_code_a__menu_ elt_kbd_a__menu_ X | content_code_a__menu_ elt_var_a__menu_ X | content_code_a__menu_ elt_cite_a__menu_ X | content_code_a__menu_ elt_tt_a__menu_ X | content_code_a__menu_ elt_b_a__menu_ X | content_code_a__menu_ elt_i_a__menu_ X ; X Xelt_samp_a__menu_ : start_samp content_samp_a__menu_ end_samp; Xcontent_samp_a__menu_ : /* @@ connectives */ X | content_samp_a__menu_ data X | content_samp_a__menu_ elt_img_a__menu_ X | content_samp_a__menu_ elt_br_a__menu_ X | content_samp_a__menu_ elt_em_a__menu_ X | content_samp_a__menu_ elt_strong_a__menu_ X | content_samp_a__menu_ elt_code_a__menu_ X | content_samp_a__menu_ elt_samp_a__menu_ X | content_samp_a__menu_ elt_kbd_a__menu_ X | content_samp_a__menu_ elt_var_a__menu_ X | content_samp_a__menu_ elt_cite_a__menu_ X | content_samp_a__menu_ elt_tt_a__menu_ X | content_samp_a__menu_ elt_b_a__menu_ X | content_samp_a__menu_ elt_i_a__menu_ X ; X Xelt_kbd_a__menu_ : start_kbd content_kbd_a__menu_ end_kbd; Xcontent_kbd_a__menu_ : /* @@ connectives */ X | content_kbd_a__menu_ data X | content_kbd_a__menu_ elt_img_a__menu_ X | content_kbd_a__menu_ elt_br_a__menu_ X | content_kbd_a__menu_ elt_em_a__menu_ X | content_kbd_a__menu_ elt_strong_a__menu_ X | content_kbd_a__menu_ elt_code_a__menu_ X | content_kbd_a__menu_ elt_samp_a__menu_ X | content_kbd_a__menu_ elt_kbd_a__menu_ X | content_kbd_a__menu_ elt_var_a__menu_ X | content_kbd_a__menu_ elt_cite_a__menu_ X | content_kbd_a__menu_ elt_tt_a__menu_ X | content_kbd_a__menu_ elt_b_a__menu_ X | content_kbd_a__menu_ elt_i_a__menu_ X ; X Xelt_var_a__menu_ : start_var content_var_a__menu_ end_var; Xcontent_var_a__menu_ : /* @@ connectives */ X | content_var_a__menu_ data X | content_var_a__menu_ elt_img_a__menu_ X | content_var_a__menu_ elt_br_a__menu_ X | content_var_a__menu_ elt_em_a__menu_ X | content_var_a__menu_ elt_strong_a__menu_ X | content_var_a__menu_ elt_code_a__menu_ X | content_var_a__menu_ elt_samp_a__menu_ X | content_var_a__menu_ elt_kbd_a__menu_ X | content_var_a__menu_ elt_var_a__menu_ X | content_var_a__menu_ elt_cite_a__menu_ X | content_var_a__menu_ elt_tt_a__menu_ X | content_var_a__menu_ elt_b_a__menu_ X | content_var_a__menu_ elt_i_a__menu_ X ; X Xelt_cite_a__menu_ : start_cite content_cite_a__menu_ end_cite; Xcontent_cite_a__menu_ : /* @@ connectives */ X | content_cite_a__menu_ data X | content_cite_a__menu_ elt_img_a__menu_ X | content_cite_a__menu_ elt_br_a__menu_ X | content_cite_a__menu_ elt_em_a__menu_ X | content_cite_a__menu_ elt_strong_a__menu_ X | content_cite_a__menu_ elt_code_a__menu_ X | content_cite_a__menu_ elt_samp_a__menu_ X | content_cite_a__menu_ elt_kbd_a__menu_ X | content_cite_a__menu_ elt_var_a__menu_ X | content_cite_a__menu_ elt_cite_a__menu_ X | content_cite_a__menu_ elt_tt_a__menu_ X | content_cite_a__menu_ elt_b_a__menu_ X | content_cite_a__menu_ elt_i_a__menu_ X ; X Xelt_tt_a__menu_ : start_tt content_tt_a__menu_ end_tt; Xcontent_tt_a__menu_ : /* @@ connectives */ X | content_tt_a__menu_ data X | content_tt_a__menu_ elt_img_a__menu_ X | content_tt_a__menu_ elt_br_a__menu_ X | content_tt_a__menu_ elt_em_a__menu_ X | content_tt_a__menu_ elt_strong_a__menu_ X | content_tt_a__menu_ elt_code_a__menu_ X | content_tt_a__menu_ elt_samp_a__menu_ X | content_tt_a__menu_ elt_kbd_a__menu_ X | content_tt_a__menu_ elt_var_a__menu_ X | content_tt_a__menu_ elt_cite_a__menu_ X | content_tt_a__menu_ elt_tt_a__menu_ X | content_tt_a__menu_ elt_b_a__menu_ X | content_tt_a__menu_ elt_i_a__menu_ X ; X Xelt_b_a__menu_ : start_b content_b_a__menu_ end_b; Xcontent_b_a__menu_ : /* @@ connectives */ X | content_b_a__menu_ data X | content_b_a__menu_ elt_img_a__menu_ X | content_b_a__menu_ elt_br_a__menu_ X | content_b_a__menu_ elt_em_a__menu_ X | content_b_a__menu_ elt_strong_a__menu_ X | content_b_a__menu_ elt_code_a__menu_ X | content_b_a__menu_ elt_samp_a__menu_ X | content_b_a__menu_ elt_kbd_a__menu_ X | content_b_a__menu_ elt_var_a__menu_ X | content_b_a__menu_ elt_cite_a__menu_ X | content_b_a__menu_ elt_tt_a__menu_ X | content_b_a__menu_ elt_b_a__menu_ X | content_b_a__menu_ elt_i_a__menu_ X ; X Xelt_i_a__menu_ : start_i content_i_a__menu_ end_i; Xcontent_i_a__menu_ : /* @@ connectives */ X | content_i_a__menu_ data X | content_i_a__menu_ elt_img_a__menu_ X | content_i_a__menu_ elt_br_a__menu_ X | content_i_a__menu_ elt_em_a__menu_ X | content_i_a__menu_ elt_strong_a__menu_ X | content_i_a__menu_ elt_code_a__menu_ X | content_i_a__menu_ elt_samp_a__menu_ X | content_i_a__menu_ elt_kbd_a__menu_ X | content_i_a__menu_ elt_var_a__menu_ X | content_i_a__menu_ elt_cite_a__menu_ X | content_i_a__menu_ elt_tt_a__menu_ X | content_i_a__menu_ elt_b_a__menu_ X | content_i_a__menu_ elt_i_a__menu_ X ; X Xelt_img_menu_ : start_img X Xelt_br_menu_ : start_br X Xelt_em_menu_ : start_em content_em_menu_ end_em; Xcontent_em_menu_ : /* @@ connectives */ X | content_em_menu_ data X | content_em_menu_ elt_a_menu_ X | content_em_menu_ elt_img_menu_ X | content_em_menu_ elt_br_menu_ X | content_em_menu_ elt_em_menu_ X | content_em_menu_ elt_strong_menu_ X | content_em_menu_ elt_code_menu_ X | content_em_menu_ elt_samp_menu_ X | content_em_menu_ elt_kbd_menu_ X | content_em_menu_ elt_var_menu_ X | content_em_menu_ elt_cite_menu_ X | content_em_menu_ elt_tt_menu_ X | content_em_menu_ elt_b_menu_ X | content_em_menu_ elt_i_menu_ X ; X Xelt_strong_menu_ : start_strong content_strong_menu_ end_strong; Xcontent_strong_menu_ : /* @@ connectives */ X | content_strong_menu_ data X | content_strong_menu_ elt_a_menu_ X | content_strong_menu_ elt_img_menu_ X | content_strong_menu_ elt_br_menu_ X | content_strong_menu_ elt_em_menu_ X | content_strong_menu_ elt_strong_menu_ X | content_strong_menu_ elt_code_menu_ X | content_strong_menu_ elt_samp_menu_ X | content_strong_menu_ elt_kbd_menu_ X | content_strong_menu_ elt_var_menu_ X | content_strong_menu_ elt_cite_menu_ X | content_strong_menu_ elt_tt_menu_ X | content_strong_menu_ elt_b_menu_ X | content_strong_menu_ elt_i_menu_ X ; X Xelt_code_menu_ : start_code content_code_menu_ end_code; Xcontent_code_menu_ : /* @@ connectives */ X | content_code_menu_ data X | content_code_menu_ elt_a_menu_ X | content_code_menu_ elt_img_menu_ X | content_code_menu_ elt_br_menu_ X | content_code_menu_ elt_em_menu_ X | content_code_menu_ elt_strong_menu_ X | content_code_menu_ elt_code_menu_ X | content_code_menu_ elt_samp_menu_ X | content_code_menu_ elt_kbd_menu_ X | content_code_menu_ elt_var_menu_ X | content_code_menu_ elt_cite_menu_ X | content_code_menu_ elt_tt_menu_ X | content_code_menu_ elt_b_menu_ X | content_code_menu_ elt_i_menu_ X ; X Xelt_samp_menu_ : start_samp content_samp_menu_ end_samp; Xcontent_samp_menu_ : /* @@ connectives */ X | content_samp_menu_ data X | content_samp_menu_ elt_a_menu_ X | content_samp_menu_ elt_img_menu_ X | content_samp_menu_ elt_br_menu_ X | content_samp_menu_ elt_em_menu_ X | content_samp_menu_ elt_strong_menu_ X | content_samp_menu_ elt_code_menu_ X | content_samp_menu_ elt_samp_menu_ X | content_samp_menu_ elt_kbd_menu_ X | content_samp_menu_ elt_var_menu_ X | content_samp_menu_ elt_cite_menu_ X | content_samp_menu_ elt_tt_menu_ X | content_samp_menu_ elt_b_menu_ X | content_samp_menu_ elt_i_menu_ X ; X Xelt_kbd_menu_ : start_kbd content_kbd_menu_ end_kbd; Xcontent_kbd_menu_ : /* @@ connectives */ X | content_kbd_menu_ data X | content_kbd_menu_ elt_a_menu_ X | content_kbd_menu_ elt_img_menu_ X | content_kbd_menu_ elt_br_menu_ X | content_kbd_menu_ elt_em_menu_ X | content_kbd_menu_ elt_strong_menu_ X | content_kbd_menu_ elt_code_menu_ X | content_kbd_menu_ elt_samp_menu_ X | content_kbd_menu_ elt_kbd_menu_ X | content_kbd_menu_ elt_var_menu_ X | content_kbd_menu_ elt_cite_menu_ X | content_kbd_menu_ elt_tt_menu_ X | content_kbd_menu_ elt_b_menu_ X | content_kbd_menu_ elt_i_menu_ X ; X Xelt_var_menu_ : start_var content_var_menu_ end_var; Xcontent_var_menu_ : /* @@ connectives */ X | content_var_menu_ data X | content_var_menu_ elt_a_menu_ X | content_var_menu_ elt_img_menu_ X | content_var_menu_ elt_br_menu_ X | content_var_menu_ elt_em_menu_ X | content_var_menu_ elt_strong_menu_ X | content_var_menu_ elt_code_menu_ X | content_var_menu_ elt_samp_menu_ X | content_var_menu_ elt_kbd_menu_ X | content_var_menu_ elt_var_menu_ X | content_var_menu_ elt_cite_menu_ X | content_var_menu_ elt_tt_menu_ X | content_var_menu_ elt_b_menu_ X | content_var_menu_ elt_i_menu_ X ; X Xelt_cite_menu_ : start_cite content_cite_menu_ end_cite; Xcontent_cite_menu_ : /* @@ connectives */ X | content_cite_menu_ data X | content_cite_menu_ elt_a_menu_ X | content_cite_menu_ elt_img_menu_ X | content_cite_menu_ elt_br_menu_ X | content_cite_menu_ elt_em_menu_ X | content_cite_menu_ elt_strong_menu_ X | content_cite_menu_ elt_code_menu_ X | content_cite_menu_ elt_samp_menu_ X | content_cite_menu_ elt_kbd_menu_ X | content_cite_menu_ elt_var_menu_ X | content_cite_menu_ elt_cite_menu_ X | content_cite_menu_ elt_tt_menu_ X | content_cite_menu_ elt_b_menu_ X | content_cite_menu_ elt_i_menu_ X ; X Xelt_tt_menu_ : start_tt content_tt_menu_ end_tt; Xcontent_tt_menu_ : /* @@ connectives */ X | content_tt_menu_ data X | content_tt_menu_ elt_a_menu_ X | content_tt_menu_ elt_img_menu_ X | content_tt_menu_ elt_br_menu_ X | content_tt_menu_ elt_em_menu_ X | content_tt_menu_ elt_strong_menu_ X | content_tt_menu_ elt_code_menu_ X | content_tt_menu_ elt_samp_menu_ X | content_tt_menu_ elt_kbd_menu_ X | content_tt_menu_ elt_var_menu_ X | content_tt_menu_ elt_cite_menu_ X | content_tt_menu_ elt_tt_menu_ X | content_tt_menu_ elt_b_menu_ X | content_tt_menu_ elt_i_menu_ X ; X Xelt_b_menu_ : start_b content_b_menu_ end_b; Xcontent_b_menu_ : /* @@ connectives */ X | content_b_menu_ data X | content_b_menu_ elt_a_menu_ X | content_b_menu_ elt_img_menu_ X | content_b_menu_ elt_br_menu_ X | content_b_menu_ elt_em_menu_ X | content_b_menu_ elt_strong_menu_ X | content_b_menu_ elt_code_menu_ X | content_b_menu_ elt_samp_menu_ X | content_b_menu_ elt_kbd_menu_ X | content_b_menu_ elt_var_menu_ X | content_b_menu_ elt_cite_menu_ X | content_b_menu_ elt_tt_menu_ X | content_b_menu_ elt_b_menu_ X | content_b_menu_ elt_i_menu_ X ; X Xelt_i_menu_ : start_i content_i_menu_ end_i; Xcontent_i_menu_ : /* @@ connectives */ X | content_i_menu_ data X | content_i_menu_ elt_a_menu_ X | content_i_menu_ elt_img_menu_ X | content_i_menu_ elt_br_menu_ X | content_i_menu_ elt_em_menu_ X | content_i_menu_ elt_strong_menu_ X | content_i_menu_ elt_code_menu_ X | content_i_menu_ elt_samp_menu_ X | content_i_menu_ elt_kbd_menu_ X | content_i_menu_ elt_var_menu_ X | content_i_menu_ elt_cite_menu_ X | content_i_menu_ elt_tt_menu_ X | content_i_menu_ elt_b_menu_ X | content_i_menu_ elt_i_menu_ X ; X Xelt_dl : start_dl content_dl end_dl; Xattrs_dl : X | attrs_dl attr_dl_compact X ; X Xattr_dl_compact : NAME_compact VI LITERAL /*@@ check literal: COMPACT*/ X | NAME_compact VI NAME_compact X | NAME_compact X ; Xstart_dl : START_dl attrs_dl TAGC X ; Xend_dl : END_dl TAGC X ; X Xcontent_dl : /* @@ connectives */ X | content_dl elt_dt X | content_dl elt_dd X ; X Xelt_dt : start_dt content_dt end_dt; Xstart_dt : START_dt TAGC X ; Xend_dt : END_dt TAGC X | /* omitted end tag */ X ; X Xcontent_dt : /* @@ connectives */ X | content_dt data X | content_dt elt_a X | content_dt elt_img X | content_dt elt_br X | content_dt elt_em X | content_dt elt_strong X | content_dt elt_code X | content_dt elt_samp X | content_dt elt_kbd X | content_dt elt_var X | content_dt elt_cite X | content_dt elt_tt X | content_dt elt_b X | content_dt elt_i X ; X Xelt_dd : start_dd content_dd end_dd; Xstart_dd : START_dd TAGC X ; Xend_dd : END_dd TAGC X | /* omitted end tag */ X ; X Xcontent_dd : /* @@ connectives */ X | content_dd data X | content_dd elt_a X | content_dd elt_img X | content_dd elt_br X | content_dd elt_em X | content_dd elt_strong X | content_dd elt_code X | content_dd elt_samp X | content_dd elt_kbd X | content_dd elt_var X | content_dd elt_cite X | content_dd elt_tt X | content_dd elt_b X | content_dd elt_i X | content_dd elt_p X | content_dd elt_ul X | content_dd elt_ol X | content_dd elt_dir X | content_dd elt_menu X | content_dd elt_dl X | content_dd elt_pre X | content_dd elt_blockquote X | content_dd elt_form X | content_dd elt_isindex X ; X Xelt_pre : start_pre content_pre end_pre; Xattrs_pre : X | attrs_pre attr_pre_width X ; X Xattr_pre_width : NAME_width VI attrval_number; Xstart_pre : START_pre attrs_pre TAGC X ; Xend_pre : END_pre TAGC X ; X Xcontent_pre : /* @@ connectives */ X | content_pre data X | content_pre elt_a X | content_pre elt_hr X | content_pre elt_br X | content_pre elt_tt X | content_pre elt_b X | content_pre elt_i X | content_pre elt_em X | content_pre elt_strong X | content_pre elt_code X | content_pre elt_samp X | content_pre elt_kbd X | content_pre elt_var X | content_pre elt_cite X ; X Xelt_hr : start_hr Xstart_hr : START_hr TAGC X ; X X Xelt_blockquote : start_blockquote content_blockquote end_blockquote; Xstart_blockquote : START_blockquote TAGC X ; Xend_blockquote : END_blockquote TAGC X ; X Xcontent_blockquote : /* @@ connectives */ X | content_blockquote elt_h1 X | content_blockquote elt_h2 X | content_blockquote elt_h3 X | content_blockquote elt_h4 X | content_blockquote elt_h5 X | content_blockquote elt_h6 X | content_blockquote elt_p X | content_blockquote elt_ul X | content_blockquote elt_ol X | content_blockquote elt_dir X | content_blockquote elt_menu X | content_blockquote elt_dl X | content_blockquote elt_pre X | content_blockquote elt_blockquote X | content_blockquote elt_form X | content_blockquote elt_isindex X | content_blockquote elt_hr X | content_blockquote elt_address X | content_blockquote elt_img X ; X Xelt_form : start_form content_form end_form; Xattrs_form : X | attrs_form attr_form_action X | attrs_form attr_form_enctype X | attrs_form attr_form_method X ; X Xattr_form_action : NAME_action VI attrval_cdata; Xattr_form_enctype : NAME_enctype VI attrval_cdata; Xattr_form_method : NAME_method VI LITERAL /*@@ check literal: GET POST*/ X | NAME_method VI NAME_get X | NAME_get X | NAME_method VI NAME_post X | NAME_post X ; Xstart_form : START_form attrs_form TAGC X ; Xend_form : END_form TAGC X ; X Xcontent_form : /* @@ connectives */ X | content_form elt_h1_form_ X | content_form elt_h2_form_ X | content_form elt_h3_form_ X | content_form elt_h4_form_ X | content_form elt_h5_form_ X | content_form elt_h6_form_ X | content_form elt_p_form_ X | content_form elt_ul_form_ X | content_form elt_ol_form_ X | content_form elt_dir_form_ X | content_form elt_menu_form_ X | content_form elt_dl_form_ X | content_form elt_pre_form_ X | content_form elt_blockquote_form_ X | content_form elt_isindex_form_ X | content_form elt_hr_form_ X | content_form elt_address_form_ X | content_form elt_img_form_ X | content_form elt_input_form_ X | content_form elt_select_form_ X | content_form elt_textarea_form_ X ; X Xelt_h1_form_ : start_h1 content_h1_form_ end_h1; Xcontent_h1_form_ : /* @@ connectives */ X | content_h1_form_ data X | content_h1_form_ elt_a_form_ X | content_h1_form_ elt_img_form_ X | content_h1_form_ elt_br_form_ X | content_h1_form_ elt_em_form_ X | content_h1_form_ elt_strong_form_ X | content_h1_form_ elt_code_form_ X | content_h1_form_ elt_samp_form_ X | content_h1_form_ elt_kbd_form_ X | content_h1_form_ elt_var_form_ X | content_h1_form_ elt_cite_form_ X | content_h1_form_ elt_tt_form_ X | content_h1_form_ elt_b_form_ X | content_h1_form_ elt_i_form_ X | content_h1_form_ elt_input_form_ X | content_h1_form_ elt_select_form_ X | content_h1_form_ elt_textarea_form_ X ; X Xelt_a_form_ : start_a content_a_form_ end_a; Xcontent_a_form_ : /* @@ connectives */ X | content_a_form_ data X | content_a_form_ elt_img_a__form_ X | content_a_form_ elt_br_a__form_ X | content_a_form_ elt_em_a__form_ X | content_a_form_ elt_strong_a__form_ X | content_a_form_ elt_code_a__form_ X | content_a_form_ elt_samp_a__form_ X | content_a_form_ elt_kbd_a__form_ X | content_a_form_ elt_var_a__form_ X | content_a_form_ elt_cite_a__form_ X | content_a_form_ elt_tt_a__form_ X | content_a_form_ elt_b_a__form_ X | content_a_form_ elt_i_a__form_ X | content_a_form_ elt_input_a__form_ X | content_a_form_ elt_select_a__form_ X | content_a_form_ elt_textarea_a__form_ X ; X Xelt_img_a__form_ : start_img X Xelt_br_a__form_ : start_br X Xelt_em_a__form_ : start_em content_em_a__form_ end_em; Xcontent_em_a__form_ : /* @@ connectives */ X | content_em_a__form_ data X | content_em_a__form_ elt_img_a__form_ X | content_em_a__form_ elt_br_a__form_ X | content_em_a__form_ elt_em_a__form_ X | content_em_a__form_ elt_strong_a__form_ X | content_em_a__form_ elt_code_a__form_ X | content_em_a__form_ elt_samp_a__form_ X | content_em_a__form_ elt_kbd_a__form_ X | content_em_a__form_ elt_var_a__form_ X | content_em_a__form_ elt_cite_a__form_ X | content_em_a__form_ elt_tt_a__form_ X | content_em_a__form_ elt_b_a__form_ X | content_em_a__form_ elt_i_a__form_ X | content_em_a__form_ elt_input_a__form_ X | content_em_a__form_ elt_select_a__form_ X | content_em_a__form_ elt_textarea_a__form_ X ; X Xelt_strong_a__form_ : start_strong content_strong_a__form_ end_strong; Xcontent_strong_a__form_ : /* @@ connectives */ X | content_strong_a__form_ data X | content_strong_a__form_ elt_img_a__form_ X | content_strong_a__form_ elt_br_a__form_ X | content_strong_a__form_ elt_em_a__form_ X | content_strong_a__form_ elt_strong_a__form_ X | content_strong_a__form_ elt_code_a__form_ X | content_strong_a__form_ elt_samp_a__form_ X | content_strong_a__form_ elt_kbd_a__form_ X | content_strong_a__form_ elt_var_a__form_ X | content_strong_a__form_ elt_cite_a__form_ X | content_strong_a__form_ elt_tt_a__form_ X | content_strong_a__form_ elt_b_a__form_ X | content_strong_a__form_ elt_i_a__form_ X | content_strong_a__form_ elt_input_a__form_ X | content_strong_a__form_ elt_select_a__form_ X | content_strong_a__form_ elt_textarea_a__form_ X ; X Xelt_code_a__form_ : start_code content_code_a__form_ end_code; Xcontent_code_a__form_ : /* @@ connectives */ X | content_code_a__form_ data X | content_code_a__form_ elt_img_a__form_ X | content_code_a__form_ elt_br_a__form_ X | content_code_a__form_ elt_em_a__form_ X | content_code_a__form_ elt_strong_a__form_ X | content_code_a__form_ elt_code_a__form_ X | content_code_a__form_ elt_samp_a__form_ X | content_code_a__form_ elt_kbd_a__form_ X | content_code_a__form_ elt_var_a__form_ X | content_code_a__form_ elt_cite_a__form_ X | content_code_a__form_ elt_tt_a__form_ X | content_code_a__form_ elt_b_a__form_ X | content_code_a__form_ elt_i_a__form_ X | content_code_a__form_ elt_input_a__form_ X | content_code_a__form_ elt_select_a__form_ X | content_code_a__form_ elt_textarea_a__form_ X ; X Xelt_samp_a__form_ : start_samp content_samp_a__form_ end_samp; Xcontent_samp_a__form_ : /* @@ connectives */ X | content_samp_a__form_ data X | content_samp_a__form_ elt_img_a__form_ X | content_samp_a__form_ elt_br_a__form_ X | content_samp_a__form_ elt_em_a__form_ X | content_samp_a__form_ elt_strong_a__form_ X | content_samp_a__form_ elt_code_a__form_ X | content_samp_a__form_ elt_samp_a__form_ X | content_samp_a__form_ elt_kbd_a__form_ X | content_samp_a__form_ elt_var_a__form_ X | content_samp_a__form_ elt_cite_a__form_ X | content_samp_a__form_ elt_tt_a__form_ X | content_samp_a__form_ elt_b_a__form_ X | content_samp_a__form_ elt_i_a__form_ X | content_samp_a__form_ elt_input_a__form_ X | content_samp_a__form_ elt_select_a__form_ X | content_samp_a__form_ elt_textarea_a__form_ X ; X Xelt_kbd_a__form_ : start_kbd content_kbd_a__form_ end_kbd; Xcontent_kbd_a__form_ : /* @@ connectives */ X | content_kbd_a__form_ data X | content_kbd_a__form_ elt_img_a__form_ X | content_kbd_a__form_ elt_br_a__form_ X | content_kbd_a__form_ elt_em_a__form_ X | content_kbd_a__form_ elt_strong_a__form_ X | content_kbd_a__form_ elt_code_a__form_ X | content_kbd_a__form_ elt_samp_a__form_ X | content_kbd_a__form_ elt_kbd_a__form_ X | content_kbd_a__form_ elt_var_a__form_ X | content_kbd_a__form_ elt_cite_a__form_ X | content_kbd_a__form_ elt_tt_a__form_ X | content_kbd_a__form_ elt_b_a__form_ X | content_kbd_a__form_ elt_i_a__form_ X | content_kbd_a__form_ elt_input_a__form_ X | content_kbd_a__form_ elt_select_a__form_ X | content_kbd_a__form_ elt_textarea_a__form_ X ; X Xelt_var_a__form_ : start_var content_var_a__form_ end_var; Xcontent_var_a__form_ : /* @@ connectives */ X | content_var_a__form_ data X | content_var_a__form_ elt_img_a__form_ X | content_var_a__form_ elt_br_a__form_ X | content_var_a__form_ elt_em_a__form_ X | content_var_a__form_ elt_strong_a__form_ X | content_var_a__form_ elt_code_a__form_ X | content_var_a__form_ elt_samp_a__form_ X | content_var_a__form_ elt_kbd_a__form_ X | content_var_a__form_ elt_var_a__form_ X | content_var_a__form_ elt_cite_a__form_ X | content_var_a__form_ elt_tt_a__form_ X | content_var_a__form_ elt_b_a__form_ X | content_var_a__form_ elt_i_a__form_ X | content_var_a__form_ elt_input_a__form_ X | content_var_a__form_ elt_select_a__form_ X | content_var_a__form_ elt_textarea_a__form_ X ; X Xelt_cite_a__form_ : start_cite content_cite_a__form_ end_cite; Xcontent_cite_a__form_ : /* @@ connectives */ X | content_cite_a__form_ data X | content_cite_a__form_ elt_img_a__form_ X | content_cite_a__form_ elt_br_a__form_ X | content_cite_a__form_ elt_em_a__form_ X | content_cite_a__form_ elt_strong_a__form_ X | content_cite_a__form_ elt_code_a__form_ X | content_cite_a__form_ elt_samp_a__form_ X | content_cite_a__form_ elt_kbd_a__form_ X | content_cite_a__form_ elt_var_a__form_ X | content_cite_a__form_ elt_cite_a__form_ X | content_cite_a__form_ elt_tt_a__form_ X | content_cite_a__form_ elt_b_a__form_ X | content_cite_a__form_ elt_i_a__form_ X | content_cite_a__form_ elt_input_a__form_ X | content_cite_a__form_ elt_select_a__form_ X | content_cite_a__form_ elt_textarea_a__form_ X ; X Xelt_tt_a__form_ : start_tt content_tt_a__form_ end_tt; Xcontent_tt_a__form_ : /* @@ connectives */ X | content_tt_a__form_ data X | content_tt_a__form_ elt_img_a__form_ X | content_tt_a__form_ elt_br_a__form_ X | content_tt_a__form_ elt_em_a__form_ X | content_tt_a__form_ elt_strong_a__form_ X | content_tt_a__form_ elt_code_a__form_ X | content_tt_a__form_ elt_samp_a__form_ X | content_tt_a__form_ elt_kbd_a__form_ X | content_tt_a__form_ elt_var_a__form_ X | content_tt_a__form_ elt_cite_a__form_ X | content_tt_a__form_ elt_tt_a__form_ X | content_tt_a__form_ elt_b_a__form_ X | content_tt_a__form_ elt_i_a__form_ X | content_tt_a__form_ elt_input_a__form_ X | content_tt_a__form_ elt_select_a__form_ X | content_tt_a__form_ elt_textarea_a__form_ X ; X Xelt_b_a__form_ : start_b content_b_a__form_ end_b; Xcontent_b_a__form_ : /* @@ connectives */ X | content_b_a__form_ data X | content_b_a__form_ elt_img_a__form_ X | content_b_a__form_ elt_br_a__form_ X | content_b_a__form_ elt_em_a__form_ X | content_b_a__form_ elt_strong_a__form_ X | content_b_a__form_ elt_code_a__form_ X | content_b_a__form_ elt_samp_a__form_ X | content_b_a__form_ elt_kbd_a__form_ X | content_b_a__form_ elt_var_a__form_ X | content_b_a__form_ elt_cite_a__form_ X | content_b_a__form_ elt_tt_a__form_ X | content_b_a__form_ elt_b_a__form_ X | content_b_a__form_ elt_i_a__form_ X | content_b_a__form_ elt_input_a__form_ X | content_b_a__form_ elt_select_a__form_ X | content_b_a__form_ elt_textarea_a__form_ X ; X Xelt_i_a__form_ : start_i content_i_a__form_ end_i; Xcontent_i_a__form_ : /* @@ connectives */ X | content_i_a__form_ data X | content_i_a__form_ elt_img_a__form_ X | content_i_a__form_ elt_br_a__form_ X | content_i_a__form_ elt_em_a__form_ X | content_i_a__form_ elt_strong_a__form_ X | content_i_a__form_ elt_code_a__form_ X | content_i_a__form_ elt_samp_a__form_ X | content_i_a__form_ elt_kbd_a__form_ X | content_i_a__form_ elt_var_a__form_ X | content_i_a__form_ elt_cite_a__form_ X | content_i_a__form_ elt_tt_a__form_ X | content_i_a__form_ elt_b_a__form_ X | content_i_a__form_ elt_i_a__form_ X | content_i_a__form_ elt_input_a__form_ X | content_i_a__form_ elt_select_a__form_ X | content_i_a__form_ elt_textarea_a__form_ X ; X Xelt_input_a__form_ : start_input Xattrs_input : X | attrs_input attr_input_align X | attrs_input attr_input_checked X | attrs_input attr_input_maxlength X | attrs_input attr_input_name X | attrs_input attr_input_size X | attrs_input attr_input_src X | attrs_input attr_input_type X | attrs_input attr_input_value X ; X Xattr_input_align : NAME_align VI LITERAL /*@@ check literal: top middle bottom*/ X | NAME_align VI NAME_top X | NAME_top X | NAME_align VI NAME_middle X | NAME_middle X | NAME_align VI NAME_bottom X | NAME_bottom X ; Xattr_input_checked : NAME_checked VI LITERAL /*@@ check literal: CHECKED*/ X | NAME_checked VI NAME_checked X | NAME_checked X ; Xattr_input_maxlength : NAME_maxlength VI attrval_number; Xattr_input_name : NAME_name VI attrval_cdata; Xattr_input_size : NAME_size VI attrval_cdata; Xattr_input_src : NAME_src VI attrval_cdata; Xattr_input_type : NAME_type VI LITERAL /*@@ check literal: TEXT PASSWORD CHECKBOX RADIO SUBMIT RESET IMAGE HIDDEN*/ X | NAME_type VI NAME_text X | NAME_text X | NAME_type VI NAME_password X | NAME_password X | NAME_type VI NAME_checkbox X | NAME_checkbox X | NAME_type VI NAME_radio X | NAME_radio X | NAME_type VI NAME_submit X | NAME_submit X | NAME_type VI NAME_reset X | NAME_reset X | NAME_type VI NAME_image X | NAME_image X | NAME_type VI NAME_hidden X | NAME_hidden X ; Xattr_input_value : NAME_value VI attrval_cdata; Xstart_input : START_input attrs_input TAGC X ; X X Xelt_select_a__form_ : start_select content_select_a__form_ end_select; Xattrs_select : X | attrs_select attr_select_multiple X | attrs_select attr_select_name /* REQUIRED */ X | attrs_select attr_select_size X ; X Xattr_select_multiple : NAME_multiple VI LITERAL /*@@ check literal: MULTIPLE*/ X | NAME_multiple VI NAME_multiple X | NAME_multiple X ; Xattr_select_name : NAME_name VI attrval_cdata; Xattr_select_size : NAME_size VI attrval_number; Xstart_select : START_select attrs_select TAGC X ; Xend_select : END_select TAGC X ; X Xcontent_select_a__form_ : /* @@ connectives */ X | content_select_a__form_ elt_option_select__a__form_ X ; X Xelt_option_select__a__form_ : start_option content_option_select__a__form_ end_option; Xattrs_option : X | attrs_option attr_option_selected X | attrs_option attr_option_value X ; X Xattr_option_selected : NAME_selected VI LITERAL /*@@ check literal: SELECTED*/ X | NAME_selected VI NAME_selected X | NAME_selected X ; Xattr_option_value : NAME_value VI attrval_cdata; Xstart_option : START_option attrs_option TAGC X ; Xend_option : END_option TAGC X | /* omitted end tag */ X ; X Xcontent_option_select__a__form_ : /* @@ connectives */ X | content_option_select__a__form_ data X ; X Xelt_textarea_a__form_ : start_textarea content_textarea_a__form_ end_textarea; Xattrs_textarea : X | attrs_textarea attr_textarea_cols /* REQUIRED */ X | attrs_textarea attr_textarea_name /* REQUIRED */ X | attrs_textarea attr_textarea_rows /* REQUIRED */ X ; X Xattr_textarea_cols : NAME_cols VI attrval_number; Xattr_textarea_name : NAME_name VI attrval_cdata; Xattr_textarea_rows : NAME_rows VI attrval_number; Xstart_textarea : START_textarea attrs_textarea TAGC X ; Xend_textarea : END_textarea TAGC X ; X Xcontent_textarea_a__form_ : /* @@ connectives */ X | content_textarea_a__form_ data X ; X Xelt_img_form_ : start_img X Xelt_br_form_ : start_br X Xelt_em_form_ : start_em content_em_form_ end_em; Xcontent_em_form_ : /* @@ connectives */ X | content_em_form_ data X | content_em_form_ elt_a_form_ X | content_em_form_ elt_img_form_ X | content_em_form_ elt_br_form_ X | content_em_form_ elt_em_form_ X | content_em_form_ elt_strong_form_ X | content_em_form_ elt_code_form_ X | content_em_form_ elt_samp_form_ X | content_em_form_ elt_kbd_form_ X | content_em_form_ elt_var_form_ X | content_em_form_ elt_cite_form_ X | content_em_form_ elt_tt_form_ X | content_em_form_ elt_b_form_ X | content_em_form_ elt_i_form_ X | content_em_form_ elt_input_form_ X | content_em_form_ elt_select_form_ X | content_em_form_ elt_textarea_form_ X ; X Xelt_strong_form_ : start_strong content_strong_form_ end_strong; Xcontent_strong_form_ : /* @@ connectives */ X | content_strong_form_ data X | content_strong_form_ elt_a_form_ X | content_strong_form_ elt_img_form_ X | content_strong_form_ elt_br_form_ X | content_strong_form_ elt_em_form_ X | content_strong_form_ elt_strong_form_ X | content_strong_form_ elt_code_form_ X | content_strong_form_ elt_samp_form_ X | content_strong_form_ elt_kbd_form_ X | content_strong_form_ elt_var_form_ X | content_strong_form_ elt_cite_form_ X | content_strong_form_ elt_tt_form_ X | content_strong_form_ elt_b_form_ X | content_strong_form_ elt_i_form_ X | content_strong_form_ elt_input_form_ X | content_strong_form_ elt_select_form_ X | content_strong_form_ elt_textarea_form_ X ; X Xelt_code_form_ : start_code content_code_form_ end_code; Xcontent_code_form_ : /* @@ connectives */ X | content_code_form_ data X | content_code_form_ elt_a_form_ X | content_code_form_ elt_img_form_ X | content_code_form_ elt_br_form_ X | content_code_form_ elt_em_form_ X | content_code_form_ elt_strong_form_ X | content_code_form_ elt_code_form_ X | content_code_form_ elt_samp_form_ X | content_code_form_ elt_kbd_form_ X | content_code_form_ elt_var_form_ X | content_code_form_ elt_cite_form_ X | content_code_form_ elt_tt_form_ X | content_code_form_ elt_b_form_ X | content_code_form_ elt_i_form_ X | content_code_form_ elt_input_form_ X | content_code_form_ elt_select_form_ X | content_code_form_ elt_textarea_form_ X ; X Xelt_samp_form_ : start_samp content_samp_form_ end_samp; Xcontent_samp_form_ : /* @@ connectives */ X | content_samp_form_ data X | content_samp_form_ elt_a_form_ X | content_samp_form_ elt_img_form_ X | content_samp_form_ elt_br_form_ X | content_samp_form_ elt_em_form_ X | content_samp_form_ elt_strong_form_ X | content_samp_form_ elt_code_form_ X | content_samp_form_ elt_samp_form_ X | content_samp_form_ elt_kbd_form_ X | content_samp_form_ elt_var_form_ X | content_samp_form_ elt_cite_form_ X | content_samp_form_ elt_tt_form_ X | content_samp_form_ elt_b_form_ X | content_samp_form_ elt_i_form_ X | content_samp_form_ elt_input_form_ X | content_samp_form_ elt_select_form_ X | content_samp_form_ elt_textarea_form_ X ; X Xelt_kbd_form_ : start_kbd content_kbd_form_ end_kbd; Xcontent_kbd_form_ : /* @@ connectives */ X | content_kbd_form_ data X | content_kbd_form_ elt_a_form_ X | content_kbd_form_ elt_img_form_ X | content_kbd_form_ elt_br_form_ X | content_kbd_form_ elt_em_form_ X | content_kbd_form_ elt_strong_form_ X | content_kbd_form_ elt_code_form_ X | content_kbd_form_ elt_samp_form_ X | content_kbd_form_ elt_kbd_form_ X | content_kbd_form_ elt_var_form_ X | content_kbd_form_ elt_cite_form_ X | content_kbd_form_ elt_tt_form_ X | content_kbd_form_ elt_b_form_ X | content_kbd_form_ elt_i_form_ X | content_kbd_form_ elt_input_form_ X | content_kbd_form_ elt_select_form_ X | content_kbd_form_ elt_textarea_form_ X ; X Xelt_var_form_ : start_var content_var_form_ end_var; Xcontent_var_form_ : /* @@ connectives */ X | content_var_form_ data X | content_var_form_ elt_a_form_ X | content_var_form_ elt_img_form_ X | content_var_form_ elt_br_form_ X | content_var_form_ elt_em_form_ X | content_var_form_ elt_strong_form_ X | content_var_form_ elt_code_form_ X | content_var_form_ elt_samp_form_ X | content_var_form_ elt_kbd_form_ X | content_var_form_ elt_var_form_ X | content_var_form_ elt_cite_form_ X | content_var_form_ elt_tt_form_ X | content_var_form_ elt_b_form_ X | content_var_form_ elt_i_form_ X | content_var_form_ elt_input_form_ X | content_var_form_ elt_select_form_ X | content_var_form_ elt_textarea_form_ X ; X Xelt_cite_form_ : start_cite content_cite_form_ end_cite; Xcontent_cite_form_ : /* @@ connectives */ X | content_cite_form_ data X | content_cite_form_ elt_a_form_ X | content_cite_form_ elt_img_form_ X | content_cite_form_ elt_br_form_ X | content_cite_form_ elt_em_form_ X | content_cite_form_ elt_strong_form_ X | content_cite_form_ elt_code_form_ X | content_cite_form_ elt_samp_form_ X | content_cite_form_ elt_kbd_form_ X | content_cite_form_ elt_var_form_ X | content_cite_form_ elt_cite_form_ X | content_cite_form_ elt_tt_form_ X | content_cite_form_ elt_b_form_ X | content_cite_form_ elt_i_form_ X | content_cite_form_ elt_input_form_ X | content_cite_form_ elt_select_form_ X | content_cite_form_ elt_textarea_form_ X ; X Xelt_tt_form_ : start_tt content_tt_form_ end_tt; Xcontent_tt_form_ : /* @@ connectives */ X | content_tt_form_ data X | content_tt_form_ elt_a_form_ X | content_tt_form_ elt_img_form_ X | content_tt_form_ elt_br_form_ X | content_tt_form_ elt_em_form_ X | content_tt_form_ elt_strong_form_ X | content_tt_form_ elt_code_form_ X | content_tt_form_ elt_samp_form_ X | content_tt_form_ elt_kbd_form_ X | content_tt_form_ elt_var_form_ X | content_tt_form_ elt_cite_form_ X | content_tt_form_ elt_tt_form_ X | content_tt_form_ elt_b_form_ X | content_tt_form_ elt_i_form_ X | content_tt_form_ elt_input_form_ X | content_tt_form_ elt_select_form_ X | content_tt_form_ elt_textarea_form_ X ; X Xelt_b_form_ : start_b content_b_form_ end_b; Xcontent_b_form_ : /* @@ connectives */ X | content_b_form_ data X | content_b_form_ elt_a_form_ X | content_b_form_ elt_img_form_ X | content_b_form_ elt_br_form_ X | content_b_form_ elt_em_form_ X | content_b_form_ elt_strong_form_ X | content_b_form_ elt_code_form_ X | content_b_form_ elt_samp_form_ X | content_b_form_ elt_kbd_form_ X | content_b_form_ elt_var_form_ X | content_b_form_ elt_cite_form_ X | content_b_form_ elt_tt_form_ X | content_b_form_ elt_b_form_ X | content_b_form_ elt_i_form_ X | content_b_form_ elt_input_form_ X | content_b_form_ elt_select_form_ X | content_b_form_ elt_textarea_form_ X ; X Xelt_i_form_ : start_i content_i_form_ end_i; Xcontent_i_form_ : /* @@ connectives */ X | content_i_form_ data X | content_i_form_ elt_a_form_ X | content_i_form_ elt_img_form_ X | content_i_form_ elt_br_form_ X | content_i_form_ elt_em_form_ X | content_i_form_ elt_strong_form_ X | content_i_form_ elt_code_form_ X | content_i_form_ elt_samp_form_ X | content_i_form_ elt_kbd_form_ X | content_i_form_ elt_var_form_ X | content_i_form_ elt_cite_form_ X | content_i_form_ elt_tt_form_ X | content_i_form_ elt_b_form_ X | content_i_form_ elt_i_form_ X | content_i_form_ elt_input_form_ X | content_i_form_ elt_select_form_ X | content_i_form_ elt_textarea_form_ X ; X Xelt_input_form_ : start_input X Xelt_select_form_ : start_select content_select_form_ end_select; Xcontent_select_form_ : /* @@ connectives */ X | content_select_form_ elt_option_select__form_ X ; X Xelt_option_select__form_ : start_option content_option_select__form_ end_option; Xcontent_option_select__form_ : /* @@ connectives */ X | content_option_select__form_ data X ; X Xelt_textarea_form_ : start_textarea content_textarea_form_ end_textarea; Xcontent_textarea_form_ : /* @@ connectives */ X | content_textarea_form_ data X ; X Xelt_h2_form_ : start_h2 content_h2_form_ end_h2; Xcontent_h2_form_ : /* @@ connectives */ X | content_h2_form_ data X | content_h2_form_ elt_a_form_ X | content_h2_form_ elt_img_form_ X | content_h2_form_ elt_br_form_ X | content_h2_form_ elt_em_form_ X | content_h2_form_ elt_strong_form_ X | content_h2_form_ elt_code_form_ X | content_h2_form_ elt_samp_form_ X | content_h2_form_ elt_kbd_form_ X | content_h2_form_ elt_var_form_ X | content_h2_form_ elt_cite_form_ X | content_h2_form_ elt_tt_form_ X | content_h2_form_ elt_b_form_ X | content_h2_form_ elt_i_form_ X | content_h2_form_ elt_input_form_ X | content_h2_form_ elt_select_form_ X | content_h2_form_ elt_textarea_form_ X ; X Xelt_h3_form_ : start_h3 content_h3_form_ end_h3; Xcontent_h3_form_ : /* @@ connectives */ X | content_h3_form_ data X | content_h3_form_ elt_a_form_ X | content_h3_form_ elt_img_form_ X | content_h3_form_ elt_br_form_ X | content_h3_form_ elt_em_form_ X | content_h3_form_ elt_strong_form_ X | content_h3_form_ elt_code_form_ X | content_h3_form_ elt_samp_form_ X | content_h3_form_ elt_kbd_form_ X | content_h3_form_ elt_var_form_ X | content_h3_form_ elt_cite_form_ X | content_h3_form_ elt_tt_form_ X | content_h3_form_ elt_b_form_ X | content_h3_form_ elt_i_form_ X | content_h3_form_ elt_input_form_ X | content_h3_form_ elt_select_form_ X | content_h3_form_ elt_textarea_form_ X ; X Xelt_h4_form_ : start_h4 content_h4_form_ end_h4; Xcontent_h4_form_ : /* @@ connectives */ X | content_h4_form_ data X | content_h4_form_ elt_a_form_ X | content_h4_form_ elt_img_form_ X | content_h4_form_ elt_br_form_ X | content_h4_form_ elt_em_form_ X | content_h4_form_ elt_strong_form_ X | content_h4_form_ elt_code_form_ X | content_h4_form_ elt_samp_form_ X | content_h4_form_ elt_kbd_form_ X | content_h4_form_ elt_var_form_ X | content_h4_form_ elt_cite_form_ X | content_h4_form_ elt_tt_form_ X | content_h4_form_ elt_b_form_ X | content_h4_form_ elt_i_form_ X | content_h4_form_ elt_input_form_ X | content_h4_form_ elt_select_form_ X | content_h4_form_ elt_textarea_form_ X ; X Xelt_h5_form_ : start_h5 content_h5_form_ end_h5; Xcontent_h5_form_ : /* @@ connectives */ X | content_h5_form_ data X | content_h5_form_ elt_a_form_ X | content_h5_form_ elt_img_form_ X | content_h5_form_ elt_br_form_ X | content_h5_form_ elt_em_form_ X | content_h5_form_ elt_strong_form_ X | content_h5_form_ elt_code_form_ X | content_h5_form_ elt_samp_form_ X | content_h5_form_ elt_kbd_form_ X | content_h5_form_ elt_var_form_ X | content_h5_form_ elt_cite_form_ X | content_h5_form_ elt_tt_form_ X | content_h5_form_ elt_b_form_ X | content_h5_form_ elt_i_form_ X | content_h5_form_ elt_input_form_ X | content_h5_form_ elt_select_form_ X | content_h5_form_ elt_textarea_form_ X ; X Xelt_h6_form_ : start_h6 content_h6_form_ end_h6; Xcontent_h6_form_ : /* @@ connectives */ X | content_h6_form_ data X | content_h6_form_ elt_a_form_ X | content_h6_form_ elt_img_form_ X | content_h6_form_ elt_br_form_ X | content_h6_form_ elt_em_form_ X | content_h6_form_ elt_strong_form_ X | content_h6_form_ elt_code_form_ X | content_h6_form_ elt_samp_form_ X | content_h6_form_ elt_kbd_form_ X | content_h6_form_ elt_var_form_ X | content_h6_form_ elt_cite_form_ X | content_h6_form_ elt_tt_form_ X | content_h6_form_ elt_b_form_ X | content_h6_form_ elt_i_form_ X | content_h6_form_ elt_input_form_ X | content_h6_form_ elt_select_form_ X | content_h6_form_ elt_textarea_form_ X ; X Xelt_p_form_ : start_p content_p_form_ end_p; Xcontent_p_form_ : /* @@ connectives */ X | content_p_form_ data X | content_p_form_ elt_a_form_ X | content_p_form_ elt_img_form_ X | content_p_form_ elt_br_form_ X | content_p_form_ elt_em_form_ X | content_p_form_ elt_strong_form_ X | content_p_form_ elt_code_form_ X | content_p_form_ elt_samp_form_ X | content_p_form_ elt_kbd_form_ X | content_p_form_ elt_var_form_ X | content_p_form_ elt_cite_form_ X | content_p_form_ elt_tt_form_ X | content_p_form_ elt_b_form_ X | content_p_form_ elt_i_form_ X | content_p_form_ elt_input_form_ X | content_p_form_ elt_select_form_ X | content_p_form_ elt_textarea_form_ X ; X Xelt_ul_form_ : start_ul content_ul_form_ end_ul; Xcontent_ul_form_ : /* @@ connectives */ X | content_ul_form_ elt_li_form_ X | content_ul_form_ elt_input_form_ X | content_ul_form_ elt_select_form_ X | content_ul_form_ elt_textarea_form_ X ; X Xelt_li_form_ : start_li content_li_form_ end_li; Xcontent_li_form_ : /* @@ connectives */ X | content_li_form_ data X | content_li_form_ elt_a_form_ X | content_li_form_ elt_img_form_ X | content_li_form_ elt_br_form_ X | content_li_form_ elt_em_form_ X | content_li_form_ elt_strong_form_ X | content_li_form_ elt_code_form_ X | content_li_form_ elt_samp_form_ X | content_li_form_ elt_kbd_form_ X | content_li_form_ elt_var_form_ X | content_li_form_ elt_cite_form_ X | content_li_form_ elt_tt_form_ X | content_li_form_ elt_b_form_ X | content_li_form_ elt_i_form_ X | content_li_form_ elt_p_form_ X | content_li_form_ elt_ul_form_ X | content_li_form_ elt_ol_form_ X | content_li_form_ elt_dir_form_ X | content_li_form_ elt_menu_form_ X | content_li_form_ elt_dl_form_ X | content_li_form_ elt_pre_form_ X | content_li_form_ elt_blockquote_form_ X | content_li_form_ elt_isindex_form_ X | content_li_form_ elt_input_form_ X | content_li_form_ elt_select_form_ X | content_li_form_ elt_textarea_form_ X ; X Xelt_ol_form_ : start_ol content_ol_form_ end_ol; Xcontent_ol_form_ : /* @@ connectives */ X | content_ol_form_ elt_li_form_ X | content_ol_form_ elt_input_form_ X | content_ol_form_ elt_select_form_ X | content_ol_form_ elt_textarea_form_ X ; X Xelt_dir_form_ : start_dir content_dir_form_ end_dir; Xcontent_dir_form_ : /* @@ connectives */ X | content_dir_form_ elt_li_dir__form_ X | content_dir_form_ elt_input_dir__form_ X | content_dir_form_ elt_select_dir__form_ X | content_dir_form_ elt_textarea_dir__form_ X ; X Xelt_li_dir__form_ : start_li content_li_dir__form_ end_li; Xcontent_li_dir__form_ : /* @@ connectives */ X | content_li_dir__form_ data X | content_li_dir__form_ elt_a_dir__form_ X | content_li_dir__form_ elt_img_dir__form_ X | content_li_dir__form_ elt_br_dir__form_ X | content_li_dir__form_ elt_em_dir__form_ X | content_li_dir__form_ elt_strong_dir__form_ X | content_li_dir__form_ elt_code_dir__form_ X | content_li_dir__form_ elt_samp_dir__form_ X | content_li_dir__form_ elt_kbd_dir__form_ X | content_li_dir__form_ elt_var_dir__form_ X | content_li_dir__form_ elt_cite_dir__form_ X | content_li_dir__form_ elt_tt_dir__form_ X | content_li_dir__form_ elt_b_dir__form_ X | content_li_dir__form_ elt_i_dir__form_ X | content_li_dir__form_ elt_input_dir__form_ X | content_li_dir__form_ elt_select_dir__form_ X | content_li_dir__form_ elt_textarea_dir__form_ X ; X Xelt_a_dir__form_ : start_a content_a_dir__form_ end_a; Xcontent_a_dir__form_ : /* @@ connectives */ X | content_a_dir__form_ data X | content_a_dir__form_ elt_img_a__dir__form_ X | content_a_dir__form_ elt_br_a__dir__form_ X | content_a_dir__form_ elt_em_a__dir__form_ X | content_a_dir__form_ elt_strong_a__dir__form_ X | content_a_dir__form_ elt_code_a__dir__form_ X | content_a_dir__form_ elt_samp_a__dir__form_ X | content_a_dir__form_ elt_kbd_a__dir__form_ X | content_a_dir__form_ elt_var_a__dir__form_ X | content_a_dir__form_ elt_cite_a__dir__form_ X | content_a_dir__form_ elt_tt_a__dir__form_ X | content_a_dir__form_ elt_b_a__dir__form_ X | content_a_dir__form_ elt_i_a__dir__form_ X | content_a_dir__form_ elt_input_a__dir__form_ X | content_a_dir__form_ elt_select_a__dir__form_ X | content_a_dir__form_ elt_textarea_a__dir__form_ X ; X Xelt_img_a__dir__form_ : start_img X Xelt_br_a__dir__form_ : start_br X Xelt_em_a__dir__form_ : start_em content_em_a__dir__form_ end_em; Xcontent_em_a__dir__form_ : /* @@ connectives */ X | content_em_a__dir__form_ data X | content_em_a__dir__form_ elt_img_a__dir__form_ X | content_em_a__dir__form_ elt_br_a__dir__form_ X | content_em_a__dir__form_ elt_em_a__dir__form_ X | content_em_a__dir__form_ elt_strong_a__dir__form_ X | content_em_a__dir__form_ elt_code_a__dir__form_ X | content_em_a__dir__form_ elt_samp_a__dir__form_ X | content_em_a__dir__form_ elt_kbd_a__dir__form_ X | content_em_a__dir__form_ elt_var_a__dir__form_ X | content_em_a__dir__form_ elt_cite_a__dir__form_ X | content_em_a__dir__form_ elt_tt_a__dir__form_ X | content_em_a__dir__form_ elt_b_a__dir__form_ X | content_em_a__dir__form_ elt_i_a__dir__form_ X | content_em_a__dir__form_ elt_input_a__dir__form_ X | content_em_a__dir__form_ elt_select_a__dir__form_ X | content_em_a__dir__form_ elt_textarea_a__dir__form_ X ; X Xelt_strong_a__dir__form_ : start_strong content_strong_a__dir__form_ end_strong; Xcontent_strong_a__dir__form_ : /* @@ connectives */ X | content_strong_a__dir__form_ data X | content_strong_a__dir__form_ elt_img_a__dir__form_ X | content_strong_a__dir__form_ elt_br_a__dir__form_ X | content_strong_a__dir__form_ elt_em_a__dir__form_ X | content_strong_a__dir__form_ elt_strong_a__dir__form_ X | content_strong_a__dir__form_ elt_code_a__dir__form_ X | content_strong_a__dir__form_ elt_samp_a__dir__form_ X | content_strong_a__dir__form_ elt_kbd_a__dir__form_ X | content_strong_a__dir__form_ elt_var_a__dir__form_ X | content_strong_a__dir__form_ elt_cite_a__dir__form_ X | content_strong_a__dir__form_ elt_tt_a__dir__form_ X | content_strong_a__dir__form_ elt_b_a__dir__form_ X | content_strong_a__dir__form_ elt_i_a__dir__form_ X | content_strong_a__dir__form_ elt_input_a__dir__form_ X | content_strong_a__dir__form_ elt_select_a__dir__form_ X | content_strong_a__dir__form_ elt_textarea_a__dir__form_ X ; X Xelt_code_a__dir__form_ : start_code content_code_a__dir__form_ end_code; Xcontent_code_a__dir__form_ : /* @@ connectives */ X | content_code_a__dir__form_ data X | content_code_a__dir__form_ elt_img_a__dir__form_ X | content_code_a__dir__form_ elt_br_a__dir__form_ X | content_code_a__dir__form_ elt_em_a__dir__form_ X | content_code_a__dir__form_ elt_strong_a__dir__form_ X | content_code_a__dir__form_ elt_code_a__dir__form_ X | content_code_a__dir__form_ elt_samp_a__dir__form_ X | content_code_a__dir__form_ elt_kbd_a__dir__form_ X | content_code_a__dir__form_ elt_var_a__dir__form_ X | content_code_a__dir__form_ elt_cite_a__dir__form_ X | content_code_a__dir__form_ elt_tt_a__dir__form_ X | content_code_a__dir__form_ elt_b_a__dir__form_ X | content_code_a__dir__form_ elt_i_a__dir__form_ X | content_code_a__dir__form_ elt_input_a__dir__form_ X | content_code_a__dir__form_ elt_select_a__dir__form_ X | content_code_a__dir__form_ elt_textarea_a__dir__form_ X ; X Xelt_samp_a__dir__form_ : start_samp content_samp_a__dir__form_ end_samp; Xcontent_samp_a__dir__form_ : /* @@ connectives */ X | content_samp_a__dir__form_ data X | content_samp_a__dir__form_ elt_img_a__dir__form_ X | content_samp_a__dir__form_ elt_br_a__dir__form_ X | content_samp_a__dir__form_ elt_em_a__dir__form_ X | content_samp_a__dir__form_ elt_strong_a__dir__form_ X | content_samp_a__dir__form_ elt_code_a__dir__form_ X | content_samp_a__dir__form_ elt_samp_a__dir__form_ X | content_samp_a__dir__form_ elt_kbd_a__dir__form_ X | content_samp_a__dir__form_ elt_var_a__dir__form_ X | content_samp_a__dir__form_ elt_cite_a__dir__form_ X | content_samp_a__dir__form_ elt_tt_a__dir__form_ X | content_samp_a__dir__form_ elt_b_a__dir__form_ X | content_samp_a__dir__form_ elt_i_a__dir__form_ X | content_samp_a__dir__form_ elt_input_a__dir__form_ X | content_samp_a__dir__form_ elt_select_a__dir__form_ X | content_samp_a__dir__form_ elt_textarea_a__dir__form_ X ; X Xelt_kbd_a__dir__form_ : start_kbd content_kbd_a__dir__form_ end_kbd; Xcontent_kbd_a__dir__form_ : /* @@ connectives */ X | content_kbd_a__dir__form_ data X | content_kbd_a__dir__form_ elt_img_a__dir__form_ X | content_kbd_a__dir__form_ elt_br_a__dir__form_ X | content_kbd_a__dir__form_ elt_em_a__dir__form_ X | content_kbd_a__dir__form_ elt_strong_a__dir__form_ X | content_kbd_a__dir__form_ elt_code_a__dir__form_ X | content_kbd_a__dir__form_ elt_samp_a__dir__form_ X | content_kbd_a__dir__form_ elt_kbd_a__dir__form_ X | content_kbd_a__dir__form_ elt_var_a__dir__form_ X | content_kbd_a__dir__form_ elt_cite_a__dir__form_ X | content_kbd_a__dir__form_ elt_tt_a__dir__form_ X | content_kbd_a__dir__form_ elt_b_a__dir__form_ X | content_kbd_a__dir__form_ elt_i_a__dir__form_ X | content_kbd_a__dir__form_ elt_input_a__dir__form_ X | content_kbd_a__dir__form_ elt_select_a__dir__form_ X | content_kbd_a__dir__form_ elt_textarea_a__dir__form_ X ; X Xelt_var_a__dir__form_ : start_var content_var_a__dir__form_ end_var; Xcontent_var_a__dir__form_ : /* @@ connectives */ X | content_var_a__dir__form_ data X | content_var_a__dir__form_ elt_img_a__dir__form_ X | content_var_a__dir__form_ elt_br_a__dir__form_ X | content_var_a__dir__form_ elt_em_a__dir__form_ X | content_var_a__dir__form_ elt_strong_a__dir__form_ X | content_var_a__dir__form_ elt_code_a__dir__form_ X | content_var_a__dir__form_ elt_samp_a__dir__form_ X | content_var_a__dir__form_ elt_kbd_a__dir__form_ X | content_var_a__dir__form_ elt_var_a__dir__form_ X | content_var_a__dir__form_ elt_cite_a__dir__form_ X | content_var_a__dir__form_ elt_tt_a__dir__form_ X | content_var_a__dir__form_ elt_b_a__dir__form_ X | content_var_a__dir__form_ elt_i_a__dir__form_ X | content_var_a__dir__form_ elt_input_a__dir__form_ X | content_var_a__dir__form_ elt_select_a__dir__form_ X | content_var_a__dir__form_ elt_textarea_a__dir__form_ X ; X Xelt_cite_a__dir__form_ : start_cite content_cite_a__dir__form_ end_cite; Xcontent_cite_a__dir__form_ : /* @@ connectives */ X | content_cite_a__dir__form_ data X | content_cite_a__dir__form_ elt_img_a__dir__form_ X | content_cite_a__dir__form_ elt_br_a__dir__form_ X | content_cite_a__dir__form_ elt_em_a__dir__form_ X | content_cite_a__dir__form_ elt_strong_a__dir__form_ X | content_cite_a__dir__form_ elt_code_a__dir__form_ X | content_cite_a__dir__form_ elt_samp_a__dir__form_ X | content_cite_a__dir__form_ elt_kbd_a__dir__form_ X | content_cite_a__dir__form_ elt_var_a__dir__form_ X | content_cite_a__dir__form_ elt_cite_a__dir__form_ X | content_cite_a__dir__form_ elt_tt_a__dir__form_ X | content_cite_a__dir__form_ elt_b_a__dir__form_ X | content_cite_a__dir__form_ elt_i_a__dir__form_ X | content_cite_a__dir__form_ elt_input_a__dir__form_ X | content_cite_a__dir__form_ elt_select_a__dir__form_ X | content_cite_a__dir__form_ elt_textarea_a__dir__form_ X ; X Xelt_tt_a__dir__form_ : start_tt content_tt_a__dir__form_ end_tt; Xcontent_tt_a__dir__form_ : /* @@ connectives */ X | content_tt_a__dir__form_ data X | content_tt_a__dir__form_ elt_img_a__dir__form_ X | content_tt_a__dir__form_ elt_br_a__dir__form_ X | content_tt_a__dir__form_ elt_em_a__dir__form_ X | content_tt_a__dir__form_ elt_strong_a__dir__form_ X | content_tt_a__dir__form_ elt_code_a__dir__form_ X | content_tt_a__dir__form_ elt_samp_a__dir__form_ X | content_tt_a__dir__form_ elt_kbd_a__dir__form_ X | content_tt_a__dir__form_ elt_var_a__dir__form_ X | content_tt_a__dir__form_ elt_cite_a__dir__form_ X | content_tt_a__dir__form_ elt_tt_a__dir__form_ X | content_tt_a__dir__form_ elt_b_a__dir__form_ X | content_tt_a__dir__form_ elt_i_a__dir__form_ X | content_tt_a__dir__form_ elt_input_a__dir__form_ X | content_tt_a__dir__form_ elt_select_a__dir__form_ X | content_tt_a__dir__form_ elt_textarea_a__dir__form_ X ; X Xelt_b_a__dir__form_ : start_b content_b_a__dir__form_ end_b; Xcontent_b_a__dir__form_ : /* @@ connectives */ X | content_b_a__dir__form_ data X | content_b_a__dir__form_ elt_img_a__dir__form_ X | content_b_a__dir__form_ elt_br_a__dir__form_ X | content_b_a__dir__form_ elt_em_a__dir__form_ X | content_b_a__dir__form_ elt_strong_a__dir__form_ X | content_b_a__dir__form_ elt_code_a__dir__form_ X | content_b_a__dir__form_ elt_samp_a__dir__form_ X | content_b_a__dir__form_ elt_kbd_a__dir__form_ X | content_b_a__dir__form_ elt_var_a__dir__form_ X | content_b_a__dir__form_ elt_cite_a__dir__form_ X | content_b_a__dir__form_ elt_tt_a__dir__form_ X | content_b_a__dir__form_ elt_b_a__dir__form_ X | content_b_a__dir__form_ elt_i_a__dir__form_ X | content_b_a__dir__form_ elt_input_a__dir__form_ X | content_b_a__dir__form_ elt_select_a__dir__form_ X | content_b_a__dir__form_ elt_textarea_a__dir__form_ X ; X Xelt_i_a__dir__form_ : start_i content_i_a__dir__form_ end_i; Xcontent_i_a__dir__form_ : /* @@ connectives */ X | content_i_a__dir__form_ data X | content_i_a__dir__form_ elt_img_a__dir__form_ X | content_i_a__dir__form_ elt_br_a__dir__form_ X | content_i_a__dir__form_ elt_em_a__dir__form_ X | content_i_a__dir__form_ elt_strong_a__dir__form_ X | content_i_a__dir__form_ elt_code_a__dir__form_ X | content_i_a__dir__form_ elt_samp_a__dir__form_ X | content_i_a__dir__form_ elt_kbd_a__dir__form_ X | content_i_a__dir__form_ elt_var_a__dir__form_ X | content_i_a__dir__form_ elt_cite_a__dir__form_ X | content_i_a__dir__form_ elt_tt_a__dir__form_ X | content_i_a__dir__form_ elt_b_a__dir__form_ X | content_i_a__dir__form_ elt_i_a__dir__form_ X | content_i_a__dir__form_ elt_input_a__dir__form_ X | content_i_a__dir__form_ elt_select_a__dir__form_ X | content_i_a__dir__form_ elt_textarea_a__dir__form_ X ; X Xelt_input_a__dir__form_ : start_input X Xelt_select_a__dir__form_ : start_select content_select_a__dir__form_ end_select; Xcontent_select_a__dir__form_ : /* @@ connectives */ X | content_select_a__dir__form_ elt_option_select__a__dir__form_ X ; X Xelt_option_select__a__dir__form_ : start_option content_option_select__a__dir__form_ end_option; Xcontent_option_select__a__dir__form_ : /* @@ connectives */ X | content_option_select__a__dir__form_ data X ; X Xelt_textarea_a__dir__form_ : start_textarea content_textarea_a__dir__form_ end_textarea; Xcontent_textarea_a__dir__form_ : /* @@ connectives */ X | content_textarea_a__dir__form_ data X ; X Xelt_img_dir__form_ : start_img X Xelt_br_dir__form_ : start_br X Xelt_em_dir__form_ : start_em content_em_dir__form_ end_em; Xcontent_em_dir__form_ : /* @@ connectives */ X | content_em_dir__form_ data X | content_em_dir__form_ elt_a_dir__form_ X | content_em_dir__form_ elt_img_dir__form_ X | content_em_dir__form_ elt_br_dir__form_ X | content_em_dir__form_ elt_em_dir__form_ X | content_em_dir__form_ elt_strong_dir__form_ X | content_em_dir__form_ elt_code_dir__form_ X | content_em_dir__form_ elt_samp_dir__form_ X | content_em_dir__form_ elt_kbd_dir__form_ X | content_em_dir__form_ elt_var_dir__form_ X | content_em_dir__form_ elt_cite_dir__form_ X | content_em_dir__form_ elt_tt_dir__form_ X | content_em_dir__form_ elt_b_dir__form_ X | content_em_dir__form_ elt_i_dir__form_ X | content_em_dir__form_ elt_input_dir__form_ X | content_em_dir__form_ elt_select_dir__form_ X | content_em_dir__form_ elt_textarea_dir__form_ X ; X Xelt_strong_dir__form_ : start_strong content_strong_dir__form_ end_strong; Xcontent_strong_dir__form_ : /* @@ connectives */ X | content_strong_dir__form_ data X | content_strong_dir__form_ elt_a_dir__form_ X | content_strong_dir__form_ elt_img_dir__form_ X | content_strong_dir__form_ elt_br_dir__form_ X | content_strong_dir__form_ elt_em_dir__form_ X | content_strong_dir__form_ elt_strong_dir__form_ X | content_strong_dir__form_ elt_code_dir__form_ X | content_strong_dir__form_ elt_samp_dir__form_ X | content_strong_dir__form_ elt_kbd_dir__form_ X | content_strong_dir__form_ elt_var_dir__form_ X | content_strong_dir__form_ elt_cite_dir__form_ X | content_strong_dir__form_ elt_tt_dir__form_ X | content_strong_dir__form_ elt_b_dir__form_ X | content_strong_dir__form_ elt_i_dir__form_ X | content_strong_dir__form_ elt_input_dir__form_ X | content_strong_dir__form_ elt_select_dir__form_ X | content_strong_dir__form_ elt_textarea_dir__form_ X ; X Xelt_code_dir__form_ : start_code content_code_dir__form_ end_code; Xcontent_code_dir__form_ : /* @@ connectives */ X | content_code_dir__form_ data X | content_code_dir__form_ elt_a_dir__form_ X | content_code_dir__form_ elt_img_dir__form_ X | content_code_dir__form_ elt_br_dir__form_ X | content_code_dir__form_ elt_em_dir__form_ X | content_code_dir__form_ elt_strong_dir__form_ X | content_code_dir__form_ elt_code_dir__form_ X | content_code_dir__form_ elt_samp_dir__form_ X | content_code_dir__form_ elt_kbd_dir__form_ X | content_code_dir__form_ elt_var_dir__form_ X | content_code_dir__form_ elt_cite_dir__form_ X | content_code_dir__form_ elt_tt_dir__form_ X | content_code_dir__form_ elt_b_dir__form_ X | content_code_dir__form_ elt_i_dir__form_ X | content_code_dir__form_ elt_input_dir__form_ X | content_code_dir__form_ elt_select_dir__form_ X | content_code_dir__form_ elt_textarea_dir__form_ X ; X Xelt_samp_dir__form_ : start_samp content_samp_dir__form_ end_samp; Xcontent_samp_dir__form_ : /* @@ connectives */ X | content_samp_dir__form_ data X | content_samp_dir__form_ elt_a_dir__form_ X | content_samp_dir__form_ elt_img_dir__form_ X | content_samp_dir__form_ elt_br_dir__form_ X | content_samp_dir__form_ elt_em_dir__form_ X | content_samp_dir__form_ elt_strong_dir__form_ X | content_samp_dir__form_ elt_code_dir__form_ X | content_samp_dir__form_ elt_samp_dir__form_ X | content_samp_dir__form_ elt_kbd_dir__form_ X | content_samp_dir__form_ elt_var_dir__form_ X | content_samp_dir__form_ elt_cite_dir__form_ X | content_samp_dir__form_ elt_tt_dir__form_ X | content_samp_dir__form_ elt_b_dir__form_ X | content_samp_dir__form_ elt_i_dir__form_ X | content_samp_dir__form_ elt_input_dir__form_ X | content_samp_dir__form_ elt_select_dir__form_ X | content_samp_dir__form_ elt_textarea_dir__form_ X ; X Xelt_kbd_dir__form_ : start_kbd content_kbd_dir__form_ end_kbd; Xcontent_kbd_dir__form_ : /* @@ connectives */ X | content_kbd_dir__form_ data X | content_kbd_dir__form_ elt_a_dir__form_ X | content_kbd_dir__form_ elt_img_dir__form_ X | content_kbd_dir__form_ elt_br_dir__form_ X | content_kbd_dir__form_ elt_em_dir__form_ X | content_kbd_dir__form_ elt_strong_dir__form_ X | content_kbd_dir__form_ elt_code_dir__form_ X | content_kbd_dir__form_ elt_samp_dir__form_ X | content_kbd_dir__form_ elt_kbd_dir__form_ X | content_kbd_dir__form_ elt_var_dir__form_ X | content_kbd_dir__form_ elt_cite_dir__form_ X | content_kbd_dir__form_ elt_tt_dir__form_ X | content_kbd_dir__form_ elt_b_dir__form_ X | content_kbd_dir__form_ elt_i_dir__form_ X | content_kbd_dir__form_ elt_input_dir__form_ X | content_kbd_dir__form_ elt_select_dir__form_ X | content_kbd_dir__form_ elt_textarea_dir__form_ X ; X Xelt_var_dir__form_ : start_var content_var_dir__form_ end_var; Xcontent_var_dir__form_ : /* @@ connectives */ X | content_var_dir__form_ data X | content_var_dir__form_ elt_a_dir__form_ X | content_var_dir__form_ elt_img_dir__form_ X | content_var_dir__form_ elt_br_dir__form_ X | content_var_dir__form_ elt_em_dir__form_ X | content_var_dir__form_ elt_strong_dir__form_ X | content_var_dir__form_ elt_code_dir__form_ X | content_var_dir__form_ elt_samp_dir__form_ X | content_var_dir__form_ elt_kbd_dir__form_ X | content_var_dir__form_ elt_var_dir__form_ X | content_var_dir__form_ elt_cite_dir__form_ X | content_var_dir__form_ elt_tt_dir__form_ X | content_var_dir__form_ elt_b_dir__form_ X | content_var_dir__form_ elt_i_dir__form_ X | content_var_dir__form_ elt_input_dir__form_ X | content_var_dir__form_ elt_select_dir__form_ X | content_var_dir__form_ elt_textarea_dir__form_ X ; X Xelt_cite_dir__form_ : start_cite content_cite_dir__form_ end_cite; Xcontent_cite_dir__form_ : /* @@ connectives */ X | content_cite_dir__form_ data X | content_cite_dir__form_ elt_a_dir__form_ X | content_cite_dir__form_ elt_img_dir__form_ X | content_cite_dir__form_ elt_br_dir__form_ X | content_cite_dir__form_ elt_em_dir__form_ X | content_cite_dir__form_ elt_strong_dir__form_ X | content_cite_dir__form_ elt_code_dir__form_ X | content_cite_dir__form_ elt_samp_dir__form_ X | content_cite_dir__form_ elt_kbd_dir__form_ X | content_cite_dir__form_ elt_var_dir__form_ X | content_cite_dir__form_ elt_cite_dir__form_ X | content_cite_dir__form_ elt_tt_dir__form_ X | content_cite_dir__form_ elt_b_dir__form_ X | content_cite_dir__form_ elt_i_dir__form_ X | content_cite_dir__form_ elt_input_dir__form_ X | content_cite_dir__form_ elt_select_dir__form_ X | content_cite_dir__form_ elt_textarea_dir__form_ X ; X Xelt_tt_dir__form_ : start_tt content_tt_dir__form_ end_tt; Xcontent_tt_dir__form_ : /* @@ connectives */ X | content_tt_dir__form_ data X | content_tt_dir__form_ elt_a_dir__form_ X | content_tt_dir__form_ elt_img_dir__form_ X | content_tt_dir__form_ elt_br_dir__form_ X | content_tt_dir__form_ elt_em_dir__form_ X | content_tt_dir__form_ elt_strong_dir__form_ X | content_tt_dir__form_ elt_code_dir__form_ X | content_tt_dir__form_ elt_samp_dir__form_ X | content_tt_dir__form_ elt_kbd_dir__form_ X | content_tt_dir__form_ elt_var_dir__form_ X | content_tt_dir__form_ elt_cite_dir__form_ X | content_tt_dir__form_ elt_tt_dir__form_ X | content_tt_dir__form_ elt_b_dir__form_ X | content_tt_dir__form_ elt_i_dir__form_ X | content_tt_dir__form_ elt_input_dir__form_ X | content_tt_dir__form_ elt_select_dir__form_ X | content_tt_dir__form_ elt_textarea_dir__form_ X ; X Xelt_b_dir__form_ : start_b content_b_dir__form_ end_b; Xcontent_b_dir__form_ : /* @@ connectives */ X | content_b_dir__form_ data X | content_b_dir__form_ elt_a_dir__form_ X | content_b_dir__form_ elt_img_dir__form_ X | content_b_dir__form_ elt_br_dir__form_ X | content_b_dir__form_ elt_em_dir__form_ X | content_b_dir__form_ elt_strong_dir__form_ X | content_b_dir__form_ elt_code_dir__form_ X | content_b_dir__form_ elt_samp_dir__form_ X | content_b_dir__form_ elt_kbd_dir__form_ X | content_b_dir__form_ elt_var_dir__form_ X | content_b_dir__form_ elt_cite_dir__form_ X | content_b_dir__form_ elt_tt_dir__form_ X | content_b_dir__form_ elt_b_dir__form_ X | content_b_dir__form_ elt_i_dir__form_ X | content_b_dir__form_ elt_input_dir__form_ X | content_b_dir__form_ elt_select_dir__form_ X | content_b_dir__form_ elt_textarea_dir__form_ X ; X Xelt_i_dir__form_ : start_i content_i_dir__form_ end_i; Xcontent_i_dir__form_ : /* @@ connectives */ X | content_i_dir__form_ data X | content_i_dir__form_ elt_a_dir__form_ X | content_i_dir__form_ elt_img_dir__form_ X | content_i_dir__form_ elt_br_dir__form_ X | content_i_dir__form_ elt_em_dir__form_ X | content_i_dir__form_ elt_strong_dir__form_ X | content_i_dir__form_ elt_code_dir__form_ X | content_i_dir__form_ elt_samp_dir__form_ X | content_i_dir__form_ elt_kbd_dir__form_ X | content_i_dir__form_ elt_var_dir__form_ X | content_i_dir__form_ elt_cite_dir__form_ X | content_i_dir__form_ elt_tt_dir__form_ X | content_i_dir__form_ elt_b_dir__form_ X | content_i_dir__form_ elt_i_dir__form_ X | content_i_dir__form_ elt_input_dir__form_ X | content_i_dir__form_ elt_select_dir__form_ X | content_i_dir__form_ elt_textarea_dir__form_ X ; X Xelt_input_dir__form_ : start_input X Xelt_select_dir__form_ : start_select content_select_dir__form_ end_select; Xcontent_select_dir__form_ : /* @@ connectives */ X | content_select_dir__form_ elt_option_select__dir__form_ X ; X Xelt_option_select__dir__form_ : start_option content_option_select__dir__form_ end_option; Xcontent_option_select__dir__form_ : /* @@ connectives */ X | content_option_select__dir__form_ data X ; X Xelt_textarea_dir__form_ : start_textarea content_textarea_dir__form_ end_textarea; Xcontent_textarea_dir__form_ : /* @@ connectives */ X | content_textarea_dir__form_ data X ; X Xelt_menu_form_ : start_menu content_menu_form_ end_menu; Xcontent_menu_form_ : /* @@ connectives */ X | content_menu_form_ elt_li_menu__form_ X | content_menu_form_ elt_input_menu__form_ X | content_menu_form_ elt_select_menu__form_ X | content_menu_form_ elt_textarea_menu__form_ X ; X Xelt_li_menu__form_ : start_li content_li_menu__form_ end_li; Xcontent_li_menu__form_ : /* @@ connectives */ X | content_li_menu__form_ data X | content_li_menu__form_ elt_a_menu__form_ X | content_li_menu__form_ elt_img_menu__form_ X | content_li_menu__form_ elt_br_menu__form_ X | content_li_menu__form_ elt_em_menu__form_ X | content_li_menu__form_ elt_strong_menu__form_ X | content_li_menu__form_ elt_code_menu__form_ X | content_li_menu__form_ elt_samp_menu__form_ X | content_li_menu__form_ elt_kbd_menu__form_ X | content_li_menu__form_ elt_var_menu__form_ X | content_li_menu__form_ elt_cite_menu__form_ X | content_li_menu__form_ elt_tt_menu__form_ X | content_li_menu__form_ elt_b_menu__form_ X | content_li_menu__form_ elt_i_menu__form_ X | content_li_menu__form_ elt_input_menu__form_ X | content_li_menu__form_ elt_select_menu__form_ X | content_li_menu__form_ elt_textarea_menu__form_ X ; X Xelt_a_menu__form_ : start_a content_a_menu__form_ end_a; Xcontent_a_menu__form_ : /* @@ connectives */ X | content_a_menu__form_ data X | content_a_menu__form_ elt_img_a__menu__form_ X | content_a_menu__form_ elt_br_a__menu__form_ X | content_a_menu__form_ elt_em_a__menu__form_ X | content_a_menu__form_ elt_strong_a__menu__form_ X | content_a_menu__form_ elt_code_a__menu__form_ X | content_a_menu__form_ elt_samp_a__menu__form_ X | content_a_menu__form_ elt_kbd_a__menu__form_ X | content_a_menu__form_ elt_var_a__menu__form_ X | content_a_menu__form_ elt_cite_a__menu__form_ X | content_a_menu__form_ elt_tt_a__menu__form_ X | content_a_menu__form_ elt_b_a__menu__form_ X | content_a_menu__form_ elt_i_a__menu__form_ X | content_a_menu__form_ elt_input_a__menu__form_ X | content_a_menu__form_ elt_select_a__menu__form_ X | content_a_menu__form_ elt_textarea_a__menu__form_ X ; X Xelt_img_a__menu__form_ : start_img X Xelt_br_a__menu__form_ : start_br X Xelt_em_a__menu__form_ : start_em content_em_a__menu__form_ end_em; Xcontent_em_a__menu__form_ : /* @@ connectives */ X | content_em_a__menu__form_ data X | content_em_a__menu__form_ elt_img_a__menu__form_ X | content_em_a__menu__form_ elt_br_a__menu__form_ X | content_em_a__menu__form_ elt_em_a__menu__form_ X | content_em_a__menu__form_ elt_strong_a__menu__form_ X | content_em_a__menu__form_ elt_code_a__menu__form_ X | content_em_a__menu__form_ elt_samp_a__menu__form_ X | content_em_a__menu__form_ elt_kbd_a__menu__form_ X | content_em_a__menu__form_ elt_var_a__menu__form_ X | content_em_a__menu__form_ elt_cite_a__menu__form_ X | content_em_a__menu__form_ elt_tt_a__menu__form_ X | content_em_a__menu__form_ elt_b_a__menu__form_ X | content_em_a__menu__form_ elt_i_a__menu__form_ X | content_em_a__menu__form_ elt_input_a__menu__form_ X | content_em_a__menu__form_ elt_select_a__menu__form_ X | content_em_a__menu__form_ elt_textarea_a__menu__form_ X ; X Xelt_strong_a__menu__form_ : start_strong content_strong_a__menu__form_ end_strong; Xcontent_strong_a__menu__form_ : /* @@ connectives */ X | content_strong_a__menu__form_ data X | content_strong_a__menu__form_ elt_img_a__menu__form_ X | content_strong_a__menu__form_ elt_br_a__menu__form_ X | content_strong_a__menu__form_ elt_em_a__menu__form_ X | content_strong_a__menu__form_ elt_strong_a__menu__form_ X | content_strong_a__menu__form_ elt_code_a__menu__form_ X | content_strong_a__menu__form_ elt_samp_a__menu__form_ X | content_strong_a__menu__form_ elt_kbd_a__menu__form_ X | content_strong_a__menu__form_ elt_var_a__menu__form_ X | content_strong_a__menu__form_ elt_cite_a__menu__form_ X | content_strong_a__menu__form_ elt_tt_a__menu__form_ X | content_strong_a__menu__form_ elt_b_a__menu__form_ X | content_strong_a__menu__form_ elt_i_a__menu__form_ X | content_strong_a__menu__form_ elt_input_a__menu__form_ X | content_strong_a__menu__form_ elt_select_a__menu__form_ X | content_strong_a__menu__form_ elt_textarea_a__menu__form_ X ; X Xelt_code_a__menu__form_ : start_code content_code_a__menu__form_ end_code; Xcontent_code_a__menu__form_ : /* @@ connectives */ X | content_code_a__menu__form_ data X | content_code_a__menu__form_ elt_img_a__menu__form_ X | content_code_a__menu__form_ elt_br_a__menu__form_ X | content_code_a__menu__form_ elt_em_a__menu__form_ X | content_code_a__menu__form_ elt_strong_a__menu__form_ X | content_code_a__menu__form_ elt_code_a__menu__form_ X | content_code_a__menu__form_ elt_samp_a__menu__form_ X | content_code_a__menu__form_ elt_kbd_a__menu__form_ X | content_code_a__menu__form_ elt_var_a__menu__form_ X | content_code_a__menu__form_ elt_cite_a__menu__form_ X | content_code_a__menu__form_ elt_tt_a__menu__form_ X | content_code_a__menu__form_ elt_b_a__menu__form_ X | content_code_a__menu__form_ elt_i_a__menu__form_ X | content_code_a__menu__form_ elt_input_a__menu__form_ X | content_code_a__menu__form_ elt_select_a__menu__form_ X | content_code_a__menu__form_ elt_textarea_a__menu__form_ X ; X Xelt_samp_a__menu__form_ : start_samp content_samp_a__menu__form_ end_samp; Xcontent_samp_a__menu__form_ : /* @@ connectives */ X | content_samp_a__menu__form_ data X | content_samp_a__menu__form_ elt_img_a__menu__form_ X | content_samp_a__menu__form_ elt_br_a__menu__form_ X | content_samp_a__menu__form_ elt_em_a__menu__form_ X | content_samp_a__menu__form_ elt_strong_a__menu__form_ X | content_samp_a__menu__form_ elt_code_a__menu__form_ X | content_samp_a__menu__form_ elt_samp_a__menu__form_ X | content_samp_a__menu__form_ elt_kbd_a__menu__form_ X | content_samp_a__menu__form_ elt_var_a__menu__form_ X | content_samp_a__menu__form_ elt_cite_a__menu__form_ X | content_samp_a__menu__form_ elt_tt_a__menu__form_ X | content_samp_a__menu__form_ elt_b_a__menu__form_ X | content_samp_a__menu__form_ elt_i_a__menu__form_ X | content_samp_a__menu__form_ elt_input_a__menu__form_ X | content_samp_a__menu__form_ elt_select_a__menu__form_ X | content_samp_a__menu__form_ elt_textarea_a__menu__form_ X ; X Xelt_kbd_a__menu__form_ : start_kbd content_kbd_a__menu__form_ end_kbd; Xcontent_kbd_a__menu__form_ : /* @@ connectives */ X | content_kbd_a__menu__form_ data X | content_kbd_a__menu__form_ elt_img_a__menu__form_ X | content_kbd_a__menu__form_ elt_br_a__menu__form_ X | content_kbd_a__menu__form_ elt_em_a__menu__form_ X | content_kbd_a__menu__form_ elt_strong_a__menu__form_ X | content_kbd_a__menu__form_ elt_code_a__menu__form_ X | content_kbd_a__menu__form_ elt_samp_a__menu__form_ X | content_kbd_a__menu__form_ elt_kbd_a__menu__form_ X | content_kbd_a__menu__form_ elt_var_a__menu__form_ X | content_kbd_a__menu__form_ elt_cite_a__menu__form_ X | content_kbd_a__menu__form_ elt_tt_a__menu__form_ X | content_kbd_a__menu__form_ elt_b_a__menu__form_ X | content_kbd_a__menu__form_ elt_i_a__menu__form_ X | content_kbd_a__menu__form_ elt_input_a__menu__form_ X | content_kbd_a__menu__form_ elt_select_a__menu__form_ X | content_kbd_a__menu__form_ elt_textarea_a__menu__form_ X ; X Xelt_var_a__menu__form_ : start_var content_var_a__menu__form_ end_var; Xcontent_var_a__menu__form_ : /* @@ connectives */ X | content_var_a__menu__form_ data X | content_var_a__menu__form_ elt_img_a__menu__form_ X | content_var_a__menu__form_ elt_br_a__menu__form_ X | content_var_a__menu__form_ elt_em_a__menu__form_ X | content_var_a__menu__form_ elt_strong_a__menu__form_ X | content_var_a__menu__form_ elt_code_a__menu__form_ X | content_var_a__menu__form_ elt_samp_a__menu__form_ X | content_var_a__menu__form_ elt_kbd_a__menu__form_ X | content_var_a__menu__form_ elt_var_a__menu__form_ X | content_var_a__menu__form_ elt_cite_a__menu__form_ X | content_var_a__menu__form_ elt_tt_a__menu__form_ X | content_var_a__menu__form_ elt_b_a__menu__form_ X | content_var_a__menu__form_ elt_i_a__menu__form_ X | content_var_a__menu__form_ elt_input_a__menu__form_ X | content_var_a__menu__form_ elt_select_a__menu__form_ X | content_var_a__menu__form_ elt_textarea_a__menu__form_ X ; X Xelt_cite_a__menu__form_ : start_cite content_cite_a__menu__form_ end_cite; Xcontent_cite_a__menu__form_ : /* @@ connectives */ X | content_cite_a__menu__form_ data X | content_cite_a__menu__form_ elt_img_a__menu__form_ X | content_cite_a__menu__form_ elt_br_a__menu__form_ X | content_cite_a__menu__form_ elt_em_a__menu__form_ X | content_cite_a__menu__form_ elt_strong_a__menu__form_ X | content_cite_a__menu__form_ elt_code_a__menu__form_ X | content_cite_a__menu__form_ elt_samp_a__menu__form_ X | content_cite_a__menu__form_ elt_kbd_a__menu__form_ X | content_cite_a__menu__form_ elt_var_a__menu__form_ X | content_cite_a__menu__form_ elt_cite_a__menu__form_ X | content_cite_a__menu__form_ elt_tt_a__menu__form_ X | content_cite_a__menu__form_ elt_b_a__menu__form_ X | content_cite_a__menu__form_ elt_i_a__menu__form_ X | content_cite_a__menu__form_ elt_input_a__menu__form_ X | content_cite_a__menu__form_ elt_select_a__menu__form_ X | content_cite_a__menu__form_ elt_textarea_a__menu__form_ X ; X Xelt_tt_a__menu__form_ : start_tt content_tt_a__menu__form_ end_tt; Xcontent_tt_a__menu__form_ : /* @@ connectives */ X | content_tt_a__menu__form_ data X | content_tt_a__menu__form_ elt_img_a__menu__form_ X | content_tt_a__menu__form_ elt_br_a__menu__form_ X | content_tt_a__menu__form_ elt_em_a__menu__form_ X | content_tt_a__menu__form_ elt_strong_a__menu__form_ X | content_tt_a__menu__form_ elt_code_a__menu__form_ X | content_tt_a__menu__form_ elt_samp_a__menu__form_ X | content_tt_a__menu__form_ elt_kbd_a__menu__form_ X | content_tt_a__menu__form_ elt_var_a__menu__form_ X | content_tt_a__menu__form_ elt_cite_a__menu__form_ X | content_tt_a__menu__form_ elt_tt_a__menu__form_ X | content_tt_a__menu__form_ elt_b_a__menu__form_ X | content_tt_a__menu__form_ elt_i_a__menu__form_ X | content_tt_a__menu__form_ elt_input_a__menu__form_ X | content_tt_a__menu__form_ elt_select_a__menu__form_ X | content_tt_a__menu__form_ elt_textarea_a__menu__form_ X ; X Xelt_b_a__menu__form_ : start_b content_b_a__menu__form_ end_b; Xcontent_b_a__menu__form_ : /* @@ connectives */ X | content_b_a__menu__form_ data X | content_b_a__menu__form_ elt_img_a__menu__form_ X | content_b_a__menu__form_ elt_br_a__menu__form_ X | content_b_a__menu__form_ elt_em_a__menu__form_ X | content_b_a__menu__form_ elt_strong_a__menu__form_ X | content_b_a__menu__form_ elt_code_a__menu__form_ X | content_b_a__menu__form_ elt_samp_a__menu__form_ X | content_b_a__menu__form_ elt_kbd_a__menu__form_ X | content_b_a__menu__form_ elt_var_a__menu__form_ X | content_b_a__menu__form_ elt_cite_a__menu__form_ X | content_b_a__menu__form_ elt_tt_a__menu__form_ X | content_b_a__menu__form_ elt_b_a__menu__form_ X | content_b_a__menu__form_ elt_i_a__menu__form_ X | content_b_a__menu__form_ elt_input_a__menu__form_ X | content_b_a__menu__form_ elt_select_a__menu__form_ X | content_b_a__menu__form_ elt_textarea_a__menu__form_ X ; X Xelt_i_a__menu__form_ : start_i content_i_a__menu__form_ end_i; Xcontent_i_a__menu__form_ : /* @@ connectives */ X | content_i_a__menu__form_ data X | content_i_a__menu__form_ elt_img_a__menu__form_ X | content_i_a__menu__form_ elt_br_a__menu__form_ X | content_i_a__menu__form_ elt_em_a__menu__form_ X | content_i_a__menu__form_ elt_strong_a__menu__form_ X | content_i_a__menu__form_ elt_code_a__menu__form_ X | content_i_a__menu__form_ elt_samp_a__menu__form_ X | content_i_a__menu__form_ elt_kbd_a__menu__form_ X | content_i_a__menu__form_ elt_var_a__menu__form_ X | content_i_a__menu__form_ elt_cite_a__menu__form_ X | content_i_a__menu__form_ elt_tt_a__menu__form_ X | content_i_a__menu__form_ elt_b_a__menu__form_ X | content_i_a__menu__form_ elt_i_a__menu__form_ X | content_i_a__menu__form_ elt_input_a__menu__form_ X | content_i_a__menu__form_ elt_select_a__menu__form_ X | content_i_a__menu__form_ elt_textarea_a__menu__form_ X ; X Xelt_input_a__menu__form_ : start_input X Xelt_select_a__menu__form_ : start_select content_select_a__menu__form_ end_select; Xcontent_select_a__menu__form_ : /* @@ connectives */ X | content_select_a__menu__form_ elt_option_select__a__menu__form_ X ; X Xelt_option_select__a__menu__form_ : start_option content_option_select__a__menu__form_ end_option; Xcontent_option_select__a__menu__form_ : /* @@ connectives */ X | content_option_select__a__menu__form_ data X ; X Xelt_textarea_a__menu__form_ : start_textarea content_textarea_a__menu__form_ end_textarea; Xcontent_textarea_a__menu__form_ : /* @@ connectives */ X | content_textarea_a__menu__form_ data X ; X Xelt_img_menu__form_ : start_img X Xelt_br_menu__form_ : start_br X Xelt_em_menu__form_ : start_em content_em_menu__form_ end_em; Xcontent_em_menu__form_ : /* @@ connectives */ X | content_em_menu__form_ data X | content_em_menu__form_ elt_a_menu__form_ X | content_em_menu__form_ elt_img_menu__form_ X | content_em_menu__form_ elt_br_menu__form_ X | content_em_menu__form_ elt_em_menu__form_ X | content_em_menu__form_ elt_strong_menu__form_ X | content_em_menu__form_ elt_code_menu__form_ X | content_em_menu__form_ elt_samp_menu__form_ X | content_em_menu__form_ elt_kbd_menu__form_ X | content_em_menu__form_ elt_var_menu__form_ X | content_em_menu__form_ elt_cite_menu__form_ X | content_em_menu__form_ elt_tt_menu__form_ X | content_em_menu__form_ elt_b_menu__form_ X | content_em_menu__form_ elt_i_menu__form_ X | content_em_menu__form_ elt_input_menu__form_ X | content_em_menu__form_ elt_select_menu__form_ X | content_em_menu__form_ elt_textarea_menu__form_ X ; X Xelt_strong_menu__form_ : start_strong content_strong_menu__form_ end_strong; Xcontent_strong_menu__form_ : /* @@ connectives */ X | content_strong_menu__form_ data X | content_strong_menu__form_ elt_a_menu__form_ X | content_strong_menu__form_ elt_img_menu__form_ X | content_strong_menu__form_ elt_br_menu__form_ X | content_strong_menu__form_ elt_em_menu__form_ X | content_strong_menu__form_ elt_strong_menu__form_ X | content_strong_menu__form_ elt_code_menu__form_ X | content_strong_menu__form_ elt_samp_menu__form_ X | content_strong_menu__form_ elt_kbd_menu__form_ X | content_strong_menu__form_ elt_var_menu__form_ X | content_strong_menu__form_ elt_cite_menu__form_ X | content_strong_menu__form_ elt_tt_menu__form_ X | content_strong_menu__form_ elt_b_menu__form_ X | content_strong_menu__form_ elt_i_menu__form_ X | content_strong_menu__form_ elt_input_menu__form_ X | content_strong_menu__form_ elt_select_menu__form_ X | content_strong_menu__form_ elt_textarea_menu__form_ X ; X Xelt_code_menu__form_ : start_code content_code_menu__form_ end_code; Xcontent_code_menu__form_ : /* @@ connectives */ X | content_code_menu__form_ data X | content_code_menu__form_ elt_a_menu__form_ X | content_code_menu__form_ elt_img_menu__form_ X | content_code_menu__form_ elt_br_menu__form_ X | content_code_menu__form_ elt_em_menu__form_ X | content_code_menu__form_ elt_strong_menu__form_ X | content_code_menu__form_ elt_code_menu__form_ X | content_code_menu__form_ elt_samp_menu__form_ X | content_code_menu__form_ elt_kbd_menu__form_ X | content_code_menu__form_ elt_var_menu__form_ X | content_code_menu__form_ elt_cite_menu__form_ X | content_code_menu__form_ elt_tt_menu__form_ X | content_code_menu__form_ elt_b_menu__form_ X | content_code_menu__form_ elt_i_menu__form_ X | content_code_menu__form_ elt_input_menu__form_ X | content_code_menu__form_ elt_select_menu__form_ X | content_code_menu__form_ elt_textarea_menu__form_ X ; X Xelt_samp_menu__form_ : start_samp content_samp_menu__form_ end_samp; Xcontent_samp_menu__form_ : /* @@ connectives */ X | content_samp_menu__form_ data X | content_samp_menu__form_ elt_a_menu__form_ X | content_samp_menu__form_ elt_img_menu__form_ X | content_samp_menu__form_ elt_br_menu__form_ X | content_samp_menu__form_ elt_em_menu__form_ X | content_samp_menu__form_ elt_strong_menu__form_ X | content_samp_menu__form_ elt_code_menu__form_ X | content_samp_menu__form_ elt_samp_menu__form_ X | content_samp_menu__form_ elt_kbd_menu__form_ X | content_samp_menu__form_ elt_var_menu__form_ X | content_samp_menu__form_ elt_cite_menu__form_ X | content_samp_menu__form_ elt_tt_menu__form_ X | content_samp_menu__form_ elt_b_menu__form_ X | content_samp_menu__form_ elt_i_menu__form_ X | content_samp_menu__form_ elt_input_menu__form_ X | content_samp_menu__form_ elt_select_menu__form_ X | content_samp_menu__form_ elt_textarea_menu__form_ X ; X Xelt_kbd_menu__form_ : start_kbd content_kbd_menu__form_ end_kbd; Xcontent_kbd_menu__form_ : /* @@ connectives */ X | content_kbd_menu__form_ data X | content_kbd_menu__form_ elt_a_menu__form_ X | content_kbd_menu__form_ elt_img_menu__form_ X | content_kbd_menu__form_ elt_br_menu__form_ X | content_kbd_menu__form_ elt_em_menu__form_ X | content_kbd_menu__form_ elt_strong_menu__form_ X | content_kbd_menu__form_ elt_code_menu__form_ X | content_kbd_menu__form_ elt_samp_menu__form_ X | content_kbd_menu__form_ elt_kbd_menu__form_ X | content_kbd_menu__form_ elt_var_menu__form_ X | content_kbd_menu__form_ elt_cite_menu__form_ X | content_kbd_menu__form_ elt_tt_menu__form_ X | content_kbd_menu__form_ elt_b_menu__form_ X | content_kbd_menu__form_ elt_i_menu__form_ X | content_kbd_menu__form_ elt_input_menu__form_ X | content_kbd_menu__form_ elt_select_menu__form_ X | content_kbd_menu__form_ elt_textarea_menu__form_ X ; X Xelt_var_menu__form_ : start_var content_var_menu__form_ end_var; Xcontent_var_menu__form_ : /* @@ connectives */ X | content_var_menu__form_ data X | content_var_menu__form_ elt_a_menu__form_ X | content_var_menu__form_ elt_img_menu__form_ X | content_var_menu__form_ elt_br_menu__form_ X | content_var_menu__form_ elt_em_menu__form_ X | content_var_menu__form_ elt_strong_menu__form_ X | content_var_menu__form_ elt_code_menu__form_ X | content_var_menu__form_ elt_samp_menu__form_ X | content_var_menu__form_ elt_kbd_menu__form_ X | content_var_menu__form_ elt_var_menu__form_ X | content_var_menu__form_ elt_cite_menu__form_ X | content_var_menu__form_ elt_tt_menu__form_ X | content_var_menu__form_ elt_b_menu__form_ X | content_var_menu__form_ elt_i_menu__form_ X | content_var_menu__form_ elt_input_menu__form_ X | content_var_menu__form_ elt_select_menu__form_ X | content_var_menu__form_ elt_textarea_menu__form_ X ; X Xelt_cite_menu__form_ : start_cite content_cite_menu__form_ end_cite; Xcontent_cite_menu__form_ : /* @@ connectives */ X | content_cite_menu__form_ data X | content_cite_menu__form_ elt_a_menu__form_ X | content_cite_menu__form_ elt_img_menu__form_ X | content_cite_menu__form_ elt_br_menu__form_ X | content_cite_menu__form_ elt_em_menu__form_ X | content_cite_menu__form_ elt_strong_menu__form_ X | content_cite_menu__form_ elt_code_menu__form_ X | content_cite_menu__form_ elt_samp_menu__form_ X | content_cite_menu__form_ elt_kbd_menu__form_ X | content_cite_menu__form_ elt_var_menu__form_ X | content_cite_menu__form_ elt_cite_menu__form_ X | content_cite_menu__form_ elt_tt_menu__form_ X | content_cite_menu__form_ elt_b_menu__form_ X | content_cite_menu__form_ elt_i_menu__form_ X | content_cite_menu__form_ elt_input_menu__form_ X | content_cite_menu__form_ elt_select_menu__form_ X | content_cite_menu__form_ elt_textarea_menu__form_ X ; X Xelt_tt_menu__form_ : start_tt content_tt_menu__form_ end_tt; Xcontent_tt_menu__form_ : /* @@ connectives */ X | content_tt_menu__form_ data X | content_tt_menu__form_ elt_a_menu__form_ X | content_tt_menu__form_ elt_img_menu__form_ X | content_tt_menu__form_ elt_br_menu__form_ X | content_tt_menu__form_ elt_em_menu__form_ X | content_tt_menu__form_ elt_strong_menu__form_ X | content_tt_menu__form_ elt_code_menu__form_ X | content_tt_menu__form_ elt_samp_menu__form_ X | content_tt_menu__form_ elt_kbd_menu__form_ X | content_tt_menu__form_ elt_var_menu__form_ X | content_tt_menu__form_ elt_cite_menu__form_ X | content_tt_menu__form_ elt_tt_menu__form_ X | content_tt_menu__form_ elt_b_menu__form_ X | content_tt_menu__form_ elt_i_menu__form_ X | content_tt_menu__form_ elt_input_menu__form_ X | content_tt_menu__form_ elt_select_menu__form_ X | content_tt_menu__form_ elt_textarea_menu__form_ X ; X Xelt_b_menu__form_ : start_b content_b_menu__form_ end_b; Xcontent_b_menu__form_ : /* @@ connectives */ X | content_b_menu__form_ data X | content_b_menu__form_ elt_a_menu__form_ X | content_b_menu__form_ elt_img_menu__form_ X | content_b_menu__form_ elt_br_menu__form_ X | content_b_menu__form_ elt_em_menu__form_ X | content_b_menu__form_ elt_strong_menu__form_ X | content_b_menu__form_ elt_code_menu__form_ X | content_b_menu__form_ elt_samp_menu__form_ X | content_b_menu__form_ elt_kbd_menu__form_ X | content_b_menu__form_ elt_var_menu__form_ X | content_b_menu__form_ elt_cite_menu__form_ X | content_b_menu__form_ elt_tt_menu__form_ X | content_b_menu__form_ elt_b_menu__form_ X | content_b_menu__form_ elt_i_menu__form_ X | content_b_menu__form_ elt_input_menu__form_ X | content_b_menu__form_ elt_select_menu__form_ X | content_b_menu__form_ elt_textarea_menu__form_ X ; X Xelt_i_menu__form_ : start_i content_i_menu__form_ end_i; Xcontent_i_menu__form_ : /* @@ connectives */ X | content_i_menu__form_ data X | content_i_menu__form_ elt_a_menu__form_ X | content_i_menu__form_ elt_img_menu__form_ X | content_i_menu__form_ elt_br_menu__form_ X | content_i_menu__form_ elt_em_menu__form_ X | content_i_menu__form_ elt_strong_menu__form_ X | content_i_menu__form_ elt_code_menu__form_ X | content_i_menu__form_ elt_samp_menu__form_ X | content_i_menu__form_ elt_kbd_menu__form_ X | content_i_menu__form_ elt_var_menu__form_ X | content_i_menu__form_ elt_cite_menu__form_ X | content_i_menu__form_ elt_tt_menu__form_ X | content_i_menu__form_ elt_b_menu__form_ X | content_i_menu__form_ elt_i_menu__form_ X | content_i_menu__form_ elt_input_menu__form_ X | content_i_menu__form_ elt_select_menu__form_ X | content_i_menu__form_ elt_textarea_menu__form_ X ; X Xelt_input_menu__form_ : start_input X Xelt_select_menu__form_ : start_select content_select_menu__form_ end_select; Xcontent_select_menu__form_ : /* @@ connectives */ X | content_select_menu__form_ elt_option_select__menu__form_ X ; X Xelt_option_select__menu__form_ : start_option content_option_select__menu__form_ end_option; Xcontent_option_select__menu__form_ : /* @@ connectives */ X | content_option_select__menu__form_ data X ; X Xelt_textarea_menu__form_ : start_textarea content_textarea_menu__form_ end_textarea; Xcontent_textarea_menu__form_ : /* @@ connectives */ X | content_textarea_menu__form_ data X ; X Xelt_dl_form_ : start_dl content_dl_form_ end_dl; Xcontent_dl_form_ : /* @@ connectives */ X | content_dl_form_ elt_dt_form_ X | content_dl_form_ elt_dd_form_ X | content_dl_form_ elt_input_form_ X | content_dl_form_ elt_select_form_ X | content_dl_form_ elt_textarea_form_ X ; X Xelt_dt_form_ : start_dt content_dt_form_ end_dt; Xcontent_dt_form_ : /* @@ connectives */ X | content_dt_form_ data X | content_dt_form_ elt_a_form_ X | content_dt_form_ elt_img_form_ X | content_dt_form_ elt_br_form_ X | content_dt_form_ elt_em_form_ X | content_dt_form_ elt_strong_form_ X | content_dt_form_ elt_code_form_ X | content_dt_form_ elt_samp_form_ X | content_dt_form_ elt_kbd_form_ X | content_dt_form_ elt_var_form_ X | content_dt_form_ elt_cite_form_ X | content_dt_form_ elt_tt_form_ X | content_dt_form_ elt_b_form_ X | content_dt_form_ elt_i_form_ X | content_dt_form_ elt_input_form_ X | content_dt_form_ elt_select_form_ X | content_dt_form_ elt_textarea_form_ X ; X Xelt_dd_form_ : start_dd content_dd_form_ end_dd; Xcontent_dd_form_ : /* @@ connectives */ X | content_dd_form_ data X | content_dd_form_ elt_a_form_ X | content_dd_form_ elt_img_form_ X | content_dd_form_ elt_br_form_ X | content_dd_form_ elt_em_form_ X | content_dd_form_ elt_strong_form_ X | content_dd_form_ elt_code_form_ X | content_dd_form_ elt_samp_form_ X | content_dd_form_ elt_kbd_form_ X | content_dd_form_ elt_var_form_ X | content_dd_form_ elt_cite_form_ X | content_dd_form_ elt_tt_form_ X | content_dd_form_ elt_b_form_ X | content_dd_form_ elt_i_form_ X | content_dd_form_ elt_p_form_ X | content_dd_form_ elt_ul_form_ X | content_dd_form_ elt_ol_form_ X | content_dd_form_ elt_dir_form_ X | content_dd_form_ elt_menu_form_ X | content_dd_form_ elt_dl_form_ X | content_dd_form_ elt_pre_form_ X | content_dd_form_ elt_blockquote_form_ X | content_dd_form_ elt_isindex_form_ X | content_dd_form_ elt_input_form_ X | content_dd_form_ elt_select_form_ X | content_dd_form_ elt_textarea_form_ X ; X Xelt_pre_form_ : start_pre content_pre_form_ end_pre; Xcontent_pre_form_ : /* @@ connectives */ X | content_pre_form_ data X | content_pre_form_ elt_a_form_ X | content_pre_form_ elt_hr_form_ X | content_pre_form_ elt_br_form_ X | content_pre_form_ elt_tt_form_ X | content_pre_form_ elt_b_form_ X | content_pre_form_ elt_i_form_ X | content_pre_form_ elt_em_form_ X | content_pre_form_ elt_strong_form_ X | content_pre_form_ elt_code_form_ X | content_pre_form_ elt_samp_form_ X | content_pre_form_ elt_kbd_form_ X | content_pre_form_ elt_var_form_ X | content_pre_form_ elt_cite_form_ X | content_pre_form_ elt_input_form_ X | content_pre_form_ elt_select_form_ X | content_pre_form_ elt_textarea_form_ X ; X Xelt_hr_form_ : start_hr X Xelt_blockquote_form_ : start_blockquote content_blockquote_form_ end_blockquote; Xcontent_blockquote_form_ : /* @@ connectives */ X | content_blockquote_form_ elt_h1_form_ X | content_blockquote_form_ elt_h2_form_ X | content_blockquote_form_ elt_h3_form_ X | content_blockquote_form_ elt_h4_form_ X | content_blockquote_form_ elt_h5_form_ X | content_blockquote_form_ elt_h6_form_ X | content_blockquote_form_ elt_p_form_ X | content_blockquote_form_ elt_ul_form_ X | content_blockquote_form_ elt_ol_form_ X | content_blockquote_form_ elt_dir_form_ X | content_blockquote_form_ elt_menu_form_ X | content_blockquote_form_ elt_dl_form_ X | content_blockquote_form_ elt_pre_form_ X | content_blockquote_form_ elt_blockquote_form_ X | content_blockquote_form_ elt_isindex_form_ X | content_blockquote_form_ elt_hr_form_ X | content_blockquote_form_ elt_address_form_ X | content_blockquote_form_ elt_img_form_ X | content_blockquote_form_ elt_input_form_ X | content_blockquote_form_ elt_select_form_ X | content_blockquote_form_ elt_textarea_form_ X ; X Xelt_isindex_form_ : start_isindex X Xelt_address_form_ : start_address content_address_form_ end_address; Xstart_address : START_address TAGC X ; Xend_address : END_address TAGC X ; X Xcontent_address_form_ : /* @@ connectives */ X | content_address_form_ data X | content_address_form_ elt_a_form_ X | content_address_form_ elt_img_form_ X | content_address_form_ elt_br_form_ X | content_address_form_ elt_em_form_ X | content_address_form_ elt_strong_form_ X | content_address_form_ elt_code_form_ X | content_address_form_ elt_samp_form_ X | content_address_form_ elt_kbd_form_ X | content_address_form_ elt_var_form_ X | content_address_form_ elt_cite_form_ X | content_address_form_ elt_tt_form_ X | content_address_form_ elt_b_form_ X | content_address_form_ elt_i_form_ X | content_address_form_ elt_p_form_ X | content_address_form_ elt_input_form_ X | content_address_form_ elt_select_form_ X | content_address_form_ elt_textarea_form_ X ; X Xelt_address : start_address content_address end_address; Xcontent_address : /* @@ connectives */ X | content_address data X | content_address elt_a X | content_address elt_img X | content_address elt_br X | content_address elt_em X | content_address elt_strong X | content_address elt_code X | content_address elt_samp X | content_address elt_kbd X | content_address elt_var X | content_address elt_cite X | content_address elt_tt X | content_address elt_b X | content_address elt_i X | content_address elt_p X ; X Xelt_nextid : start_nextid Xattrs_nextid : X | attrs_nextid attr_nextid_n /* REQUIRED */ X ; X Xattr_nextid_n : NAME_n VI LITERAL /*@@ check literal: ID*/ X | NAME_n VI NAME_id X | NAME_id X ; Xstart_nextid : START_nextid attrs_nextid TAGC X ; X X Xdata : DATA X | data DATA X ; X Xattrval_cdata : LITERAL | NMTOKEN | NAME | NUMBER ; Xattrval_number : NUMBER X | LITERAL /* @@ check quoted stuff for NUMBER syntax */ X ; Xattrval_numbers : NUMBER X | LITERAL /* @@ check quoted stuff for NUMBERS syntax */ X ; Xattrval_name : NAME X | LITERAL /* @@ check quoted stuff for NAME syntax */ X ; Xattrval_names : NAME X | LITERAL /* @@ check quoted stuff for NAMES syntax */ X ; X END_OF_html-rec.y if test 124924 -ne `wc -c <html-rec.y`; then echo shar: \"html-rec.y\" unpacked with wrong size! fi # end of overwriting check fi echo shar: End of shell archive. exit 0
Received on Monday, 9 January 1995 13:33:34 UTC