# Compiled by:
#
src/lib/html/html.lib generic package html_lr_vals_g (
package token: Token;
package htmlattrs: Html_Attributes; ) {
package parser_data{
package header {
# html.grammar
#
# COPYRIGHT (c) 1996 AT&T Research.
#
# This grammar parses HTML 3.2. Note that it does not enforce exclusions
# (for the content of FORM, PRE, etc). Exclusions should be enforced as
# a second pass over the parse tree.
package has = html_abstract_syntax; # html_abstract_syntax is from
src/lib/html/html-abstract-syntax.pkgfun text_list_fn [text] => text;
text_list_fn l => has::TEXT_LIST l;
end;
fun block_list_fn [blk] => blk;
block_list_fn l => has::BLOCK_LIST l;
end;
fun textablock l
=
has::TEXTABLOCK (text_list_fn l);
# The elements of a definition list (<DL>) are tags (<DT>) and items (<DD>).
# To avoid shift/reduce problems, we parse them and then group them.
Deflist_Item
= DL_TAG has::Text
| DL_ITEM has::Block;
fun group_def_list_contents []
=>
[];
group_def_list_contents (h ! t)
=>
{ fun gdlc (DL_TAG tag, [])
=>
( { dt=> [tag], dd=>has::BLOCK_LIST [] },
[]
);
gdlc (DL_TAG tag, h ! t)
=>
{ my ( { dt, dd }, r)
=
gdlc (h, t);
( { dt => tag ! dt, dd },
r
);
};
gdlc (DL_ITEM blk, r)
=>
( { dt => [], dd => blk },
group_def_list_contents r
);
end;
(!) (gdlc (h, t));
};
end;
# A list of Text, paragraphs and blocks requires grouping the Text items and
# making an implicit paragraph. We cannot directly use TEXT_LIST because of
# conflicts.
Blklist_Item
= BL_TEXT List( has::Text )
| BL_BLOCK List( has::Block );
fun cons_text_fn (txt, BL_TEXT tl ! r) => BL_TEXT (txt ! tl) ! r;
cons_text_fn (txt, l) => BL_TEXT [txt] ! l;
end;
fun cons_block_fn (blk, BL_BLOCK bl ! r) => BL_BLOCK (blk ! bl) ! r;
cons_block_fn (blk, l) => BL_BLOCK [blk] ! l;
end;
fun make_block blks
=
{ fun f (BL_TEXT tl) => textablock tl;
f (BL_BLOCK bl) => block_list_fn bl;
end;
block_list_fn (list::map f blks);
};
fun make_body blks = has::BODY {
background => NULL,
bgcolor => NULL,
text => NULL,
link => NULL,
vlink => NULL,
alink => NULL,
content => make_block blks
};
};
package lr_table = token::lr_table;
package token = token;
stipulate include package lr_table; herein
my table={ action_rows =
"\
\\x01\x00\x01\x00\x00\x00\x00\x00\
\\x01\x00\x02\x00\x51\x00\x04\x00\x50\x00\x06\x00\x4f\x00\x09\x00\x4e\x00\
\\x0c\x00\x4d\x00\x0e\x00\x4c\x00\x10\x00\x4b\x00\x12\x00\x4a\x00\
\\x15\x00\x49\x00\x17\x00\x48\x00\x19\x00\x47\x00\x1d\x00\x46\x00\
\\x1f\x00\x45\x00\x21\x00\x44\x00\x23\x00\x43\x00\x27\x00\x42\x00\
\\x29\x00\x41\x00\x2b\x00\x40\x00\x2d\x00\x3f\x00\x2f\x00\x3e\x00\
\\x31\x00\x3d\x00\x33\x00\x3c\x00\x35\x00\x3b\x00\x37\x00\x3a\x00\
\\x39\x00\x39\x00\x3d\x00\x38\x00\x40\x00\x37\x00\x42\x00\x36\x00\
\\x43\x00\x35\x00\x45\x00\x34\x00\x4a\x00\x33\x00\x4c\x00\x32\x00\
\\x4f\x00\x31\x00\x53\x00\x30\x00\x55\x00\x2f\x00\x56\x00\x2e\x00\
\\x58\x00\x2d\x00\x5c\x00\x2c\x00\x5e\x00\x2b\x00\x60\x00\x2a\x00\
\\x62\x00\x29\x00\x66\x00\x28\x00\x68\x00\x27\x00\x6a\x00\x26\x00\
\\x6e\x00\x25\x00\x76\x00\x24\x00\x78\x00\x23\x00\x7a\x00\x22\x00\
\\x7c\x00\x21\x00\x7e\x00\x20\x00\x7f\x00\x1f\x00\x80\x00\x1e\x00\x00\x00\
\\x01\x00\x03\x00\xf1\x00\x00\x00\
\\x01\x00\x05\x00\xf0\x00\x00\x00\
\\x01\x00\x07\x00\xeb\x00\x00\x00\
\\x01\x00\x0a\x00\xea\x00\x00\x00\
\\x01\x00\x0d\x00\xe9\x00\x00\x00\
\\x01\x00\x0f\x00\xe8\x00\x00\x00\
\\x01\x00\x14\x00\x04\x01\x00\x00\
\\x01\x00\x16\x00\xe7\x00\x00\x00\
\\x01\x00\x18\x00\xe6\x00\x00\x00\
\\x01\x00\x1a\x00\xe5\x00\x00\x00\
\\x01\x00\x1e\x00\xe4\x00\x00\x00\
\\x01\x00\x20\x00\xe3\x00\x00\x00\
\\x01\x00\x22\x00\xe2\x00\x00\x00\
\\x01\x00\x24\x00\xdf\x00\x00\x00\
\\x01\x00\x28\x00\xdd\x00\x00\x00\
\\x01\x00\x2a\x00\xdc\x00\x00\x00\
\\x01\x00\x2c\x00\xdb\x00\x00\x00\
\\x01\x00\x2e\x00\xda\x00\x00\x00\
\\x01\x00\x30\x00\xd9\x00\x00\x00\
\\x01\x00\x32\x00\xd8\x00\x00\x00\
\\x01\x00\x34\x00\xd7\x00\x00\x00\
\\x01\x00\x36\x00\xd6\x00\x00\x00\
\\x01\x00\x38\x00\xd5\x00\x00\x00\
\\x01\x00\x3a\x00\xd4\x00\x00\x00\
\\x01\x00\x41\x00\xd3\x00\x00\x00\
\\x01\x00\x46\x00\xd2\x00\x00\x00\
\\x01\x00\x4b\x00\xd0\x00\x00\x00\
\\x01\x00\x4d\x00\xcf\x00\x00\x00\
\\x01\x00\x50\x00\xce\x00\x00\x00\
\\x01\x00\x57\x00\xcd\x00\x00\x00\
\\x01\x00\x59\x00\xcc\x00\x00\x00\
\\x01\x00\x5b\x00\xaa\x00\x00\x00\
\\x01\x00\x5b\x00\xf4\x00\x00\x00\
\\x01\x00\x5d\x00\xca\x00\x00\x00\
\\x01\x00\x5f\x00\xc9\x00\x00\x00\
\\x01\x00\x61\x00\xc8\x00\x00\x00\
\\x01\x00\x63\x00\xc7\x00\x00\x00\
\\x01\x00\x65\x00\xa9\x00\x00\x00\
\\x01\x00\x67\x00\xc6\x00\x00\x00\
\\x01\x00\x69\x00\xc5\x00\x00\x00\
\\x01\x00\x6b\x00\xff\x00\x00\x00\
\\x01\x00\x6c\x00\x03\x01\x70\x00\x02\x01\x00\x00\
\\x01\x00\x6f\x00\xc0\x00\x00\x00\
\\x01\x00\x72\x00\x53\x00\x00\x00\
\\x01\x00\x73\x00\xf2\x00\x00\x00\
\\x01\x00\x74\x00\xc3\x00\x00\x00\
\\x01\x00\x77\x00\xbf\x00\x00\x00\
\\x01\x00\x79\x00\xbe\x00\x00\x00\
\\x01\x00\x7b\x00\xb9\x00\x00\x00\
\\x01\x00\x7d\x00\xb7\x00\x00\x00\
\\x1d\x01\x00\x00\
\\x1e\x01\x3e\x00\x04\x00\x00\x00\
\\x1f\x01\x00\x00\
\\x20\x01\x3f\x00\x6d\x00\x00\x00\
\\x21\x01\x00\x00\
\\x22\x01\x00\x00\
\\x23\x01\x3b\x00\x07\x00\x00\x00\
\\x24\x01\x00\x00\
\\x25\x01\x3c\x00\x55\x00\x00\x00\
\\x26\x01\x00\x00\
\\x27\x01\x00\x00\
\\x28\x01\x0b\x00\x10\x00\x44\x00\x0f\x00\x49\x00\x0e\x00\x4e\x00\x0d\x00\
\\x5a\x00\x0c\x00\x64\x00\x0b\x00\x00\x00\
\\x29\x01\x00\x00\
\\x2a\x01\x00\x00\
\\x2b\x01\x00\x00\
\\x2c\x01\x00\x00\
\\x2d\x01\x00\x00\
\\x2e\x01\x00\x00\
\\x2f\x01\x00\x00\
\\x30\x01\x00\x00\
\\x31\x01\x11\x00\x6b\x00\x00\x00\
\\x32\x01\x00\x00\
\\x33\x01\x00\x00\
\\x34\x01\x00\x00\
\\x35\x01\x00\x00\
\\x36\x01\x00\x00\
\\x37\x01\x00\x00\
\\x38\x01\x00\x00\
\\x39\x01\x00\x00\
\\x3a\x01\x02\x00\x51\x00\x04\x00\x50\x00\x06\x00\x4f\x00\x09\x00\x4e\x00\
\\x0c\x00\x4d\x00\x0e\x00\x4c\x00\x12\x00\x4a\x00\x15\x00\x49\x00\
\\x17\x00\x48\x00\x19\x00\x47\x00\x1d\x00\x46\x00\x1f\x00\x45\x00\
\\x21\x00\x44\x00\x23\x00\x43\x00\x27\x00\x42\x00\x29\x00\x41\x00\
\\x2b\x00\x40\x00\x2d\x00\x3f\x00\x2f\x00\x3e\x00\x31\x00\x3d\x00\
\\x33\x00\x3c\x00\x35\x00\x3b\x00\x37\x00\x3a\x00\x39\x00\x39\x00\
\\x3d\x00\x38\x00\x40\x00\x37\x00\x42\x00\x36\x00\x43\x00\x35\x00\
\\x44\x00\x62\x00\x45\x00\x34\x00\x4a\x00\x33\x00\x4c\x00\x32\x00\
\\x4f\x00\x31\x00\x53\x00\x30\x00\x55\x00\x2f\x00\x56\x00\x2e\x00\
\\x58\x00\x2d\x00\x5a\x00\x61\x00\x5c\x00\x2c\x00\x5e\x00\x2b\x00\
\\x60\x00\x2a\x00\x62\x00\x29\x00\x66\x00\x28\x00\x68\x00\x27\x00\
\\x6a\x00\x26\x00\x6e\x00\x25\x00\x76\x00\x24\x00\x78\x00\x23\x00\
\\x7a\x00\x22\x00\x7c\x00\x21\x00\x7e\x00\x20\x00\x7f\x00\x1f\x00\
\\x80\x00\x1e\x00\x00\x00\
\\x3b\x01\x00\x00\
\\x3c\x01\x00\x00\
\\x3d\x01\x00\x00\
\\x3e\x01\x00\x00\
\\x3f\x01\x00\x00\
\\x40\x01\x04\x00\x50\x00\x0e\x00\x4c\x00\x15\x00\x49\x00\x1f\x00\x45\x00\
\\x21\x00\x44\x00\x23\x00\x43\x00\x2d\x00\x3f\x00\x2f\x00\x3e\x00\
\\x31\x00\x3d\x00\x33\x00\x3c\x00\x35\x00\x3b\x00\x37\x00\x3a\x00\
\\x39\x00\x39\x00\x3d\x00\x38\x00\x44\x00\x62\x00\x4c\x00\x32\x00\
\\x4f\x00\x31\x00\x53\x00\x30\x00\x54\x00\x67\x00\x56\x00\x2e\x00\
\\x6a\x00\x26\x00\x7a\x00\x22\x00\x00\x00\
\\x40\x01\x04\x00\x50\x00\x0e\x00\x4c\x00\x15\x00\x49\x00\x1f\x00\x45\x00\
\\x21\x00\x44\x00\x23\x00\x43\x00\x2d\x00\x3f\x00\x2f\x00\x3e\x00\
\\x31\x00\x3d\x00\x33\x00\x3c\x00\x35\x00\x3b\x00\x37\x00\x3a\x00\
\\x39\x00\x39\x00\x3d\x00\x38\x00\x44\x00\x62\x00\x4c\x00\x32\x00\
\\x4f\x00\x31\x00\x53\x00\x30\x00\x54\x00\xad\x00\x56\x00\x2e\x00\
\\x6a\x00\x26\x00\x7a\x00\x22\x00\x00\x00\
\\x40\x01\x04\x00\x50\x00\x0e\x00\x4c\x00\x15\x00\x49\x00\x1f\x00\x45\x00\
\\x21\x00\x44\x00\x23\x00\x43\x00\x2d\x00\x3f\x00\x2f\x00\x3e\x00\
\\x31\x00\x3d\x00\x33\x00\x3c\x00\x35\x00\x3b\x00\x37\x00\x3a\x00\
\\x39\x00\x39\x00\x3d\x00\x38\x00\x44\x00\x62\x00\x4c\x00\x32\x00\
\\x4f\x00\x31\x00\x53\x00\x30\x00\x54\x00\xb2\x00\x56\x00\x2e\x00\
\\x6a\x00\x26\x00\x7a\x00\x22\x00\x00\x00\
\\x41\x01\x00\x00\
\\x42\x01\x00\x00\
\\x43\x01\x00\x00\
\\x44\x01\x00\x00\
\\x45\x01\x00\x00\
\\x46\x01\x00\x00\
\\x47\x01\x00\x00\
\\x48\x01\x00\x00\
\\x49\x01\x00\x00\
\\x4a\x01\x00\x00\
\\x4b\x01\x00\x00\
\\x4c\x01\x02\x00\x51\x00\x06\x00\x4f\x00\x09\x00\x4e\x00\x0c\x00\x4d\x00\
\\x12\x00\x4a\x00\x17\x00\x48\x00\x19\x00\x47\x00\x1d\x00\x46\x00\
\\x27\x00\x42\x00\x29\x00\x41\x00\x2b\x00\x40\x00\x40\x00\x37\x00\
\\x42\x00\x36\x00\x43\x00\x35\x00\x45\x00\x34\x00\x4a\x00\x33\x00\
\\x53\x00\x30\x00\x55\x00\x2f\x00\x58\x00\x2d\x00\x5a\x00\x61\x00\
\\x5c\x00\x2c\x00\x5e\x00\x2b\x00\x60\x00\x2a\x00\x62\x00\x29\x00\
\\x66\x00\x28\x00\x68\x00\x27\x00\x6e\x00\x25\x00\x76\x00\x24\x00\
\\x78\x00\x23\x00\x7c\x00\x21\x00\x7e\x00\x20\x00\x7f\x00\x1f\x00\
\\x80\x00\x1e\x00\x00\x00\
\\x4d\x01\x00\x00\
\\x4e\x01\x00\x00\
\\x4f\x01\x00\x00\
\\x50\x01\x53\x00\x30\x00\x54\x00\xef\x00\x00\x00\
\\x50\x01\x53\x00\x30\x00\x54\x00\x0c\x01\x00\x00\
\\x51\x01\x00\x00\
\\x52\x01\x00\x00\
\\x53\x01\x00\x00\
\\x54\x01\x00\x00\
\\x55\x01\x00\x00\
\\x56\x01\x00\x00\
\\x57\x01\x00\x00\
\\x58\x01\x00\x00\
\\x59\x01\x00\x00\
\\x5a\x01\x00\x00\
\\x5b\x01\x00\x00\
\\x5c\x01\x00\x00\
\\x5d\x01\x00\x00\
\\x5e\x01\x00\x00\
\\x5f\x01\x00\x00\
\\x60\x01\x00\x00\
\\x61\x01\x00\x00\
\\x62\x01\x00\x00\
\\x63\x01\x47\x00\x73\x00\x00\x00\
\\x64\x01\x00\x00\
\\x65\x01\x00\x00\
\\x66\x01\x1b\x00\x97\x00\x25\x00\x96\x00\x00\x00\
\\x67\x01\x00\x00\
\\x68\x01\x00\x00\
\\x69\x01\x00\x00\
\\x6a\x01\x02\x00\x51\x00\x06\x00\x4f\x00\x09\x00\x4e\x00\x0c\x00\x4d\x00\
\\x0e\x00\x4c\x00\x12\x00\x4a\x00\x15\x00\x49\x00\x17\x00\x48\x00\
\\x19\x00\x47\x00\x1d\x00\x46\x00\x1f\x00\x45\x00\x21\x00\x44\x00\
\\x23\x00\x43\x00\x27\x00\x42\x00\x29\x00\x41\x00\x2b\x00\x40\x00\
\\x2d\x00\x3f\x00\x3d\x00\x38\x00\x40\x00\x37\x00\x42\x00\x36\x00\
\\x43\x00\x35\x00\x44\x00\x62\x00\x45\x00\x34\x00\x4a\x00\x33\x00\
\\x4c\x00\x32\x00\x4f\x00\x31\x00\x53\x00\x30\x00\x55\x00\x2f\x00\
\\x56\x00\x2e\x00\x58\x00\x2d\x00\x5a\x00\x61\x00\x5c\x00\x2c\x00\
\\x5e\x00\x2b\x00\x60\x00\x2a\x00\x62\x00\x29\x00\x66\x00\x28\x00\
\\x68\x00\x27\x00\x6a\x00\x26\x00\x6e\x00\x25\x00\x76\x00\x24\x00\
\\x78\x00\x23\x00\x7a\x00\x22\x00\x7c\x00\x21\x00\x7e\x00\x20\x00\
\\x7f\x00\x1f\x00\x80\x00\x1e\x00\x00\x00\
\\x6b\x01\x00\x00\
\\x6c\x01\x00\x00\
\\x6d\x01\x00\x00\
\\x6e\x01\x00\x00\
\\x6f\x01\x0e\x00\x4c\x00\x15\x00\x49\x00\x1f\x00\x45\x00\x21\x00\x44\x00\
\\x23\x00\x43\x00\x2d\x00\x3f\x00\x3d\x00\x38\x00\x44\x00\x62\x00\
\\x4c\x00\x32\x00\x4f\x00\x31\x00\x53\x00\x30\x00\x54\x00\xfc\x00\
\\x56\x00\x2e\x00\x6a\x00\x26\x00\x7a\x00\x22\x00\x00\x00\
\\x6f\x01\x0e\x00\x4c\x00\x15\x00\x49\x00\x1f\x00\x45\x00\x21\x00\x44\x00\
\\x23\x00\x43\x00\x2d\x00\x3f\x00\x3d\x00\x38\x00\x44\x00\x62\x00\
\\x4c\x00\x32\x00\x4f\x00\x31\x00\x53\x00\x30\x00\x54\x00\x10\x01\
\\x56\x00\x2e\x00\x6a\x00\x26\x00\x7a\x00\x22\x00\x00\x00\
\\x70\x01\x00\x00\
\\x71\x01\x00\x00\
\\x72\x01\x00\x00\
\\x73\x01\x48\x00\xf8\x00\x00\x00\
\\x74\x01\x00\x00\
\\x75\x01\x26\x00\x08\x01\x00\x00\
\\x76\x01\x00\x00\
\\x77\x01\x1c\x00\x0a\x01\x00\x00\
\\x78\x01\x00\x00\
\\x79\x01\x00\x00\
\\x7a\x01\x13\x00\x78\x00\x00\x00\
\\x7b\x01\x00\x00\
\\x7c\x01\x74\x00\xc3\x00\x00\x00\
\\x7d\x01\x00\x00\
\\x7e\x01\x75\x00\x14\x01\x00\x00\
\\x7f\x01\x00\x00\
\\x80\x01\x6c\x00\x03\x01\x70\x00\x02\x01\x00\x00\
\\x81\x01\x00\x00\
\\x82\x01\x00\x00\
\\x83\x01\x71\x00\x1a\x01\x00\x00\
\\x84\x01\x00\x00\
\\x85\x01\x6d\x00\x1b\x01\x00\x00\
\\x86\x01\x00\x00\
\\x87\x01\x02\x00\x51\x00\x06\x00\x4f\x00\x09\x00\x4e\x00\x0c\x00\x4d\x00\
\\x12\x00\x4a\x00\x17\x00\x48\x00\x19\x00\x47\x00\x1d\x00\x46\x00\
\\x27\x00\x42\x00\x29\x00\x41\x00\x2b\x00\x40\x00\x40\x00\x37\x00\
\\x42\x00\x36\x00\x43\x00\x35\x00\x45\x00\x34\x00\x4a\x00\x33\x00\
\\x55\x00\x2f\x00\x58\x00\x2d\x00\x5a\x00\x61\x00\x5c\x00\x2c\x00\
\\x5e\x00\x2b\x00\x60\x00\x2a\x00\x62\x00\x29\x00\x66\x00\x28\x00\
\\x68\x00\x27\x00\x6e\x00\x25\x00\x76\x00\x24\x00\x78\x00\x23\x00\
\\x7c\x00\x21\x00\x7e\x00\x20\x00\x7f\x00\x1f\x00\x80\x00\x1e\x00\x00\x00\
\\x88\x01\x00\x00\
\\x89\x01\x00\x00\
\\x8a\x01\x00\x00\
\\x8b\x01\x00\x00\
\\x8c\x01\x00\x00\
\\x8d\x01\x00\x00\
\\x8e\x01\x00\x00\
\\x8f\x01\x00\x00\
\\x90\x01\x00\x00\
\\x91\x01\x00\x00\
\\x92\x01\x00\x00\
\\x93\x01\x00\x00\
\\x94\x01\x00\x00\
\\x95\x01\x00\x00\
\\x96\x01\x00\x00\
\\x97\x01\x00\x00\
\\x98\x01\x00\x00\
\\x99\x01\x00\x00\
\\x9a\x01\x00\x00\
\\x9b\x01\x00\x00\
\\x9c\x01\x00\x00\
\\x9d\x01\x00\x00\
\\x9e\x01\x00\x00\
\\x9f\x01\x00\x00\
\\xa0\x01\x00\x00\
\\xa1\x01\x00\x00\
\\xa2\x01\x00\x00\
\\xa3\x01\x00\x00\
\\xa4\x01\x00\x00\
\\xa5\x01\x00\x00\
\\xa6\x01\x00\x00\
\\xa7\x01\x00\x00\
\\xa8\x01\x00\x00\
\\xa9\x01\x08\x00\x86\x00\x00\x00\
\\xaa\x01\x00\x00\
\\xab\x01\x00\x00\
\\xac\x01\x00\x00\
\\xad\x01\x00\x00\
\\xae\x01\x51\x00\x7f\x00\x00\x00\
\\xaf\x01\x00\x00\
\\xb0\x01\x52\x00\x06\x01\x00\x00\
\\xb1\x01\x00\x00\
\\xb2\x01\x00\x00\
\\xb3\x01\x7e\x00\x20\x00\x7f\x00\x1f\x00\x80\x00\x1e\x00\x00\x00\
\\xb4\x01\x00\x00\
\\xb5\x01\x00\x00\
\\xb6\x01\x00\x00\
\\xb7\x01\x00\x00\
\";
action_row_numbers =
"\x35\x00\x3a\x00\x36\x00\x3f\x00\
\\x01\x00\x3b\x00\x3f\x00\x2d\x00\
\\x3c\x00\xce\x00\xce\x00\x41\x00\
\\x42\x00\x43\x00\x44\x00\xa4\x00\
\\xa8\x00\xa7\x00\xa6\x00\xa5\x00\
\\x51\x00\x6e\x00\x6d\x00\x57\x00\
\\x51\x00\x51\x00\x48\x00\x37\x00\
\\xd2\x00\xd1\x00\xd0\x00\xa2\x00\
\\x7d\x00\xa2\x00\xa2\x00\xce\x00\
\\x95\x00\xa2\x00\xa2\x00\xa2\x00\
\\xa2\x00\xa2\x00\xc9\x00\xa2\x00\
\\xa2\x00\xc3\x00\xa2\x00\x7d\x00\
\\x7d\x00\xc4\x00\xa2\x00\xc6\x00\
\\xbd\x00\xa2\x00\x73\x00\xa2\x00\
\\xa2\x00\xa2\x00\xa2\x00\xa2\x00\
\\xa2\x00\x51\x00\xa2\x00\xa2\x00\
\\xa2\x00\x80\x00\x51\x00\x7d\x00\
\\xa2\x00\xa2\x00\xa2\x00\x51\x00\
\\xc1\x00\x51\x00\x51\x00\xa2\x00\
\\xa2\x00\xa2\x00\x65\x00\xa2\x00\
\\x40\x00\xce\x00\x39\x00\x3d\x00\
\\xce\x00\xcd\x00\x27\x00\x21\x00\
\\x51\x00\xa9\x00\x58\x00\x51\x00\
\\x75\x00\x51\x00\x4c\x00\xce\x00\
\\x76\x00\x59\x00\x51\x00\x51\x00\
\\x50\x00\x51\x00\x4e\x00\x4d\x00\
\\x47\x00\x49\x00\x34\x00\x38\x00\
\\xa2\x00\xa1\x00\x33\x00\x7d\x00\
\\x32\x00\x84\x00\x31\x00\x30\x00\
\\x2c\x00\x2f\x00\xa2\x00\x29\x00\
\\x28\x00\x26\x00\x25\x00\x24\x00\
\\x23\x00\xce\x00\x20\x00\x1f\x00\
\\x77\x00\x1e\x00\x1d\x00\x1c\x00\
\\xc4\x00\x1b\x00\x1a\x00\x19\x00\
\\x18\x00\x17\x00\x16\x00\x15\x00\
\\x14\x00\x4a\x00\x13\x00\x12\x00\
\\x11\x00\x10\x00\x80\x00\x0f\x00\
\\xa2\x00\x84\x00\x0e\x00\x0d\x00\
\\x0c\x00\x0b\x00\x0a\x00\x09\x00\
\\x4b\x00\x07\x00\x06\x00\x05\x00\
\\x04\x00\x65\x00\x69\x00\x03\x00\
\\x02\x00\x2e\x00\xcf\x00\x45\x00\
\\x46\x00\x52\x00\x56\x00\x51\x00\
\\x54\x00\x53\x00\x22\x00\x5d\x00\
\\x51\x00\x5b\x00\x5a\x00\x4f\x00\
\\xa3\x00\xba\x00\x7e\x00\x78\x00\
\\x84\x00\x8e\x00\x89\x00\x84\x00\
\\xae\x00\xab\x00\xc8\x00\x97\x00\
\\x2a\x00\x2b\x00\x08\x00\xb3\x00\
\\xb2\x00\xb5\x00\xaf\x00\xb1\x00\
\\xc7\x00\xcb\x00\xb8\x00\x94\x00\
\\x79\x00\x7b\x00\xc2\x00\xc5\x00\
\\xb9\x00\xac\x00\x63\x00\x62\x00\
\\x61\x00\x60\x00\x5f\x00\x5e\x00\
\\x72\x00\xc0\x00\xbf\x00\xb4\x00\
\\x81\x00\x7c\x00\x90\x00\x92\x00\
\\x6f\x00\x7a\x00\xb7\x00\xb6\x00\
\\xbb\x00\x70\x00\x71\x00\xb0\x00\
\\xad\x00\xbe\x00\x66\x00\x6a\x00\
\\x68\x00\x65\x00\x64\x00\xbc\x00\
\\x3f\x00\x55\x00\xaa\x00\x5c\x00\
\\x85\x00\x7f\x00\x8f\x00\x88\x00\
\\x8a\x00\x84\x00\x84\x00\x86\x00\
\\x98\x00\x74\x00\x9b\x00\x99\x00\
\\x51\x00\x51\x00\x96\x00\xc9\x00\
\\xcc\x00\x82\x00\x91\x00\x83\x00\
\\x93\x00\x6c\x00\x65\x00\x67\x00\
\\x3e\x00\x8d\x00\x84\x00\x8b\x00\
\\x87\x00\x9c\x00\x9a\x00\x9e\x00\
\\xa0\x00\xca\x00\x6b\x00\x8c\x00\
\\x9d\x00\x9f\x00\x00\x00";
goto_table =
"\
\\x01\x00\x1a\x01\x02\x00\x01\x00\x00\x00\
\\x04\x00\x04\x00\x05\x00\x03\x00\x00\x00\
\\x00\x00\
\\x07\x00\x08\x00\x08\x00\x07\x00\x09\x00\x06\x00\x00\x00\
\\x0a\x00\x1b\x00\x0e\x00\x1a\x00\x11\x00\x19\x00\x14\x00\x18\x00\
\\x16\x00\x17\x00\x17\x00\x16\x00\x21\x00\x15\x00\x29\x00\x14\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x08\x00\x50\x00\x09\x00\x06\x00\x00\x00\
\\x00\x00\
\\x06\x00\x52\x00\x00\x00\
\\x32\x00\x56\x00\x33\x00\x55\x00\x34\x00\x54\x00\x00\x00\
\\x32\x00\x57\x00\x33\x00\x55\x00\x34\x00\x54\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x0f\x00\x5e\x00\x11\x00\x5d\x00\x14\x00\x5c\x00\x15\x00\x5b\x00\
\\x16\x00\x5a\x00\x17\x00\x16\x00\x21\x00\x15\x00\x29\x00\x59\x00\
\\x2a\x00\x58\x00\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\
\\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x10\x00\x64\x00\x11\x00\x63\x00\x14\x00\x5c\x00\x15\x00\x62\x00\
\\x16\x00\x61\x00\x17\x00\x16\x00\x21\x00\x15\x00\x00\x00\
\\x0f\x00\x66\x00\x11\x00\x5d\x00\x14\x00\x5c\x00\x15\x00\x5b\x00\
\\x16\x00\x5a\x00\x17\x00\x16\x00\x21\x00\x15\x00\x29\x00\x59\x00\
\\x2a\x00\x58\x00\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\
\\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x0f\x00\x67\x00\x11\x00\x5d\x00\x14\x00\x5c\x00\x15\x00\x5b\x00\
\\x16\x00\x5a\x00\x17\x00\x16\x00\x21\x00\x15\x00\x29\x00\x59\x00\
\\x2a\x00\x58\x00\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\
\\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x0c\x00\x68\x00\x00\x00\
\\x03\x00\x6a\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x27\x00\x6e\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x18\x00\x70\x00\x19\x00\x6f\x00\x00\x00\
\\x27\x00\x72\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x27\x00\x73\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x32\x00\x74\x00\x33\x00\x55\x00\x34\x00\x54\x00\x00\x00\
\\x22\x00\x75\x00\x00\x00\
\\x27\x00\x77\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x27\x00\x78\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x27\x00\x79\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x27\x00\x7a\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x27\x00\x7b\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x30\x00\x7c\x00\x00\x00\
\\x27\x00\x7e\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x27\x00\x7f\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x27\x00\x80\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x18\x00\x81\x00\x19\x00\x6f\x00\x00\x00\
\\x18\x00\x82\x00\x19\x00\x6f\x00\x00\x00\
\\x2e\x00\x83\x00\x00\x00\
\\x27\x00\x85\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x27\x00\x86\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x27\x00\x87\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x27\x00\x88\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x27\x00\x89\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x27\x00\x8a\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x27\x00\x8b\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x27\x00\x8c\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x0d\x00\x8e\x00\x0f\x00\x8d\x00\x11\x00\x5d\x00\x14\x00\x5c\x00\
\\x15\x00\x5b\x00\x16\x00\x5a\x00\x17\x00\x16\x00\x21\x00\x15\x00\
\\x29\x00\x59\x00\x2a\x00\x58\x00\x2b\x00\x13\x00\x2c\x00\x12\x00\
\\x2d\x00\x11\x00\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x27\x00\x8f\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x27\x00\x90\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x27\x00\x91\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x1a\x00\x93\x00\x1b\x00\x92\x00\x00\x00\
\\x0d\x00\x96\x00\x0f\x00\x8d\x00\x11\x00\x5d\x00\x14\x00\x5c\x00\
\\x15\x00\x5b\x00\x16\x00\x5a\x00\x17\x00\x16\x00\x21\x00\x15\x00\
\\x29\x00\x59\x00\x2a\x00\x58\x00\x2b\x00\x13\x00\x2c\x00\x12\x00\
\\x2d\x00\x11\x00\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x18\x00\x97\x00\x19\x00\x6f\x00\x00\x00\
\\x27\x00\x98\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x27\x00\x99\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x27\x00\x9a\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x0d\x00\x9b\x00\x0f\x00\x8d\x00\x11\x00\x5d\x00\x14\x00\x5c\x00\
\\x15\x00\x5b\x00\x16\x00\x5a\x00\x17\x00\x16\x00\x21\x00\x15\x00\
\\x29\x00\x59\x00\x2a\x00\x58\x00\x2b\x00\x13\x00\x2c\x00\x12\x00\
\\x2d\x00\x11\x00\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x0d\x00\x9c\x00\x0f\x00\x8d\x00\x11\x00\x5d\x00\x14\x00\x5c\x00\
\\x15\x00\x5b\x00\x16\x00\x5a\x00\x17\x00\x16\x00\x21\x00\x15\x00\
\\x29\x00\x59\x00\x2a\x00\x58\x00\x2b\x00\x13\x00\x2c\x00\x12\x00\
\\x2d\x00\x11\x00\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x0d\x00\x9d\x00\x0f\x00\x8d\x00\x11\x00\x5d\x00\x14\x00\x5c\x00\
\\x15\x00\x5b\x00\x16\x00\x5a\x00\x17\x00\x16\x00\x21\x00\x15\x00\
\\x29\x00\x59\x00\x2a\x00\x58\x00\x2b\x00\x13\x00\x2c\x00\x12\x00\
\\x2d\x00\x11\x00\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x27\x00\x9e\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x27\x00\x9f\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x27\x00\xa0\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x12\x00\xa3\x00\x16\x00\xa2\x00\x29\x00\x59\x00\x2a\x00\xa1\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x27\x00\xa4\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x32\x00\xa5\x00\x33\x00\x55\x00\x34\x00\x54\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x33\x00\xa6\x00\x34\x00\x54\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x0f\x00\xa9\x00\x11\x00\x5d\x00\x14\x00\x5c\x00\x15\x00\x5b\x00\
\\x16\x00\x5a\x00\x17\x00\x16\x00\x21\x00\x15\x00\x29\x00\x59\x00\
\\x2a\x00\x58\x00\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\
\\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x10\x00\xaa\x00\x11\x00\x63\x00\x14\x00\x5c\x00\x15\x00\x62\x00\
\\x16\x00\x61\x00\x17\x00\x16\x00\x21\x00\x15\x00\x00\x00\
\\x0f\x00\xac\x00\x11\x00\x5d\x00\x14\x00\x5c\x00\x15\x00\x5b\x00\
\\x16\x00\x5a\x00\x17\x00\x16\x00\x21\x00\x15\x00\x29\x00\x59\x00\
\\x2a\x00\x58\x00\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\
\\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x0f\x00\xad\x00\x11\x00\x5d\x00\x14\x00\x5c\x00\x15\x00\x5b\x00\
\\x16\x00\x5a\x00\x17\x00\x16\x00\x21\x00\x15\x00\x29\x00\x59\x00\
\\x2a\x00\x58\x00\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\
\\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x32\x00\xae\x00\x33\x00\x55\x00\x34\x00\x54\x00\x00\x00\
\\x00\x00\
\\x10\x00\xaf\x00\x11\x00\x63\x00\x14\x00\x5c\x00\x15\x00\x62\x00\
\\x16\x00\x61\x00\x17\x00\x16\x00\x21\x00\x15\x00\x00\x00\
\\x0f\x00\xb1\x00\x11\x00\x5d\x00\x14\x00\x5c\x00\x15\x00\x5b\x00\
\\x16\x00\x5a\x00\x17\x00\x16\x00\x21\x00\x15\x00\x29\x00\x59\x00\
\\x2a\x00\x58\x00\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\
\\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x0f\x00\xb2\x00\x11\x00\x5d\x00\x14\x00\x5c\x00\x15\x00\x5b\x00\
\\x16\x00\x5a\x00\x17\x00\x16\x00\x21\x00\x15\x00\x29\x00\x59\x00\
\\x2a\x00\x58\x00\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\
\\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x0f\x00\xb3\x00\x11\x00\x5d\x00\x14\x00\x5c\x00\x15\x00\x5b\x00\
\\x16\x00\x5a\x00\x17\x00\x16\x00\x21\x00\x15\x00\x29\x00\x59\x00\
\\x2a\x00\x58\x00\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\
\\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x28\x00\xb4\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\x2b\x00\x13\x00\
\\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x18\x00\xb6\x00\x19\x00\x6f\x00\x00\x00\
\\x00\x00\
\\x14\x00\x5c\x00\x15\x00\xbb\x00\x16\x00\xba\x00\x17\x00\x16\x00\
\\x1c\x00\xb9\x00\x21\x00\x15\x00\x29\x00\x59\x00\x2a\x00\xb8\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x23\x00\xc0\x00\x24\x00\xbf\x00\x00\x00\
\\x27\x00\xc2\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x32\x00\xc9\x00\x33\x00\x55\x00\x34\x00\x54\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x2e\x00\xcf\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x1a\x00\xdc\x00\x1b\x00\x92\x00\x00\x00\
\\x00\x00\
\\x27\x00\xde\x00\x28\x00\x6d\x00\x29\x00\x59\x00\x2a\x00\x6c\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x14\x00\x5c\x00\x15\x00\xbb\x00\x16\x00\xba\x00\x17\x00\x16\x00\
\\x1c\x00\xdf\x00\x21\x00\x15\x00\x29\x00\x59\x00\x2a\x00\xb8\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x12\x00\xea\x00\x16\x00\xa2\x00\x29\x00\x59\x00\x2a\x00\xa1\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x13\x00\xec\x00\x16\x00\xeb\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x0f\x00\xf1\x00\x11\x00\x5d\x00\x14\x00\x5c\x00\x15\x00\x5b\x00\
\\x16\x00\x5a\x00\x17\x00\x16\x00\x21\x00\x15\x00\x29\x00\x59\x00\
\\x2a\x00\x58\x00\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\
\\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x0f\x00\xf3\x00\x11\x00\x5d\x00\x14\x00\x5c\x00\x15\x00\x5b\x00\
\\x16\x00\x5a\x00\x17\x00\x16\x00\x21\x00\x15\x00\x29\x00\x59\x00\
\\x2a\x00\x58\x00\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\
\\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x14\x00\x5c\x00\x15\x00\xbb\x00\x16\x00\xba\x00\x17\x00\x16\x00\
\\x1c\x00\xf4\x00\x21\x00\x15\x00\x29\x00\x59\x00\x2a\x00\xb8\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x1e\x00\xf5\x00\x00\x00\
\\x14\x00\x5c\x00\x15\x00\xf9\x00\x16\x00\xf8\x00\x17\x00\x16\x00\
\\x1d\x00\xf7\x00\x21\x00\x15\x00\x00\x00\
\\x14\x00\x5c\x00\x15\x00\xbb\x00\x16\x00\xba\x00\x17\x00\x16\x00\
\\x1c\x00\xfb\x00\x21\x00\x15\x00\x29\x00\x59\x00\x2a\x00\xb8\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x23\x00\xfc\x00\x24\x00\xbf\x00\x00\x00\
\\x00\x00\
\\x25\x00\xff\x00\x26\x00\xfe\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x31\x00\x03\x01\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x1f\x00\x05\x01\x00\x00\
\\x20\x00\x07\x01\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x13\x00\x09\x01\x16\x00\xeb\x00\x00\x00\
\\x00\x00\
\\x12\x00\x0b\x01\x16\x00\xa2\x00\x29\x00\x59\x00\x2a\x00\xa1\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x08\x00\x0c\x01\x09\x00\x06\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x14\x00\x5c\x00\x15\x00\xf9\x00\x16\x00\xf8\x00\x17\x00\x16\x00\
\\x1d\x00\x0d\x01\x21\x00\x15\x00\x00\x00\
\\x14\x00\x5c\x00\x15\x00\xbb\x00\x16\x00\xba\x00\x17\x00\x16\x00\
\\x1c\x00\x0f\x01\x21\x00\x15\x00\x29\x00\x59\x00\x2a\x00\xb8\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x14\x00\x5c\x00\x15\x00\xbb\x00\x16\x00\xba\x00\x17\x00\x16\x00\
\\x1c\x00\x10\x01\x21\x00\x15\x00\x29\x00\x59\x00\x2a\x00\xb8\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x25\x00\x11\x01\x26\x00\xfe\x00\x00\x00\
\\x00\x00\
\\x0d\x00\x13\x01\x0f\x00\x8d\x00\x11\x00\x5d\x00\x14\x00\x5c\x00\
\\x15\x00\x5b\x00\x16\x00\x5a\x00\x17\x00\x16\x00\x21\x00\x15\x00\
\\x29\x00\x59\x00\x2a\x00\x58\x00\x2b\x00\x13\x00\x2c\x00\x12\x00\
\\x2d\x00\x11\x00\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x0d\x00\x14\x01\x0f\x00\x8d\x00\x11\x00\x5d\x00\x14\x00\x5c\x00\
\\x15\x00\x5b\x00\x16\x00\x5a\x00\x17\x00\x16\x00\x21\x00\x15\x00\
\\x29\x00\x59\x00\x2a\x00\x58\x00\x2b\x00\x13\x00\x2c\x00\x12\x00\
\\x2d\x00\x11\x00\x2f\x00\x10\x00\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x30\x00\x15\x01\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x12\x00\x16\x01\x16\x00\xa2\x00\x29\x00\x59\x00\x2a\x00\xa1\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x14\x00\x5c\x00\x15\x00\xbb\x00\x16\x00\xba\x00\x17\x00\x16\x00\
\\x1c\x00\x17\x01\x21\x00\x15\x00\x29\x00\x59\x00\x2a\x00\xb8\x00\
\\x2b\x00\x13\x00\x2c\x00\x12\x00\x2d\x00\x11\x00\x2f\x00\x10\x00\
\\x34\x00\x0f\x00\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\\x00\x00\
\";
numstates = 283;
numrules = 155;
s = REF ""; index = REF 0;
string_to_int = \\ () =
{ i = *index;
index := i+2;
char::to_int (string::get_byte_as_char(*s, i)) + char::to_int (string::get_byte_as_char(*s, i+1)) * 256;
};
string_to_list = \\ s' =
{ len = string::length_in_bytes s';
fun f () =
if (*index < len)
string_to_int() ! f();
else NIL; fi;
index := 0;
s := s';
f ();
};
string_to_pairlist = \\ (conv_key, conv_entry) = f
where
fun f ()
=
case (string_to_int ())
0 => EMPTY;
n => PAIR (conv_key (n - 1), conv_entry (string_to_int()), f());
esac;
end;
string_to_pairlist_default = \\ (conv_key, conv_entry) =
{ conv_row = string_to_pairlist (conv_key, conv_entry);
\\ () =
{ default = conv_entry (string_to_int());
row = conv_row();
(row, default);
};
};
string_to_table = \\ (convert_row, s') =
{ len = string::length_in_bytes s';
fun f ()
=
if (*index < len)
convert_row() ! f();
else NIL; fi;
s := s';
index := 0;
f ();
};
stipulate
memo = rw_vector::make_rw_vector (numstates+numrules, ERROR);
my _ ={ fun g i
=
{ rw_vector::set (memo, i, REDUCE (i-numstates));
g (i+1);
};
fun f i
=
if (i == numstates)
g i;
else rw_vector::set (memo, i, SHIFT (STATE i));
f (i+1);
fi;
f 0
except
INDEX_OUT_OF_BOUNDS = ();
};
herein
entry_to_action
=
\\ 0 => ACCEPT;
1 => ERROR;
j => rw_vector::get (memo, (j - 2));
end;
end;
goto_table = rw_vector::from_list (string_to_table (string_to_pairlist (NONTERM, STATE), goto_table));
action_rows = string_to_table (string_to_pairlist_default (TERM, entry_to_action), action_rows);
action_row_numbers = string_to_list action_row_numbers;
action_table
=
{ action_row_lookup
=
{ a=rw_vector::from_list (action_rows);
\\ i = rw_vector::get (a, i);
};
rw_vector::from_list (map action_row_lookup action_row_numbers);
};
lr_table::make_lr_table {
actions => action_table,
gotos => goto_table,
rule_count => numrules,
state_count => numstates,
initial_state => STATE 0 };
};
end;
stipulate include package header; herein
Source_Position = Int;
Arg = Int -> htmlattrs::Context;
package values {
Semantic_Value = TM_VOID
| NT_VOID Void | ENTITY_REF (String) | CHAR_REF (String) | PCDATA (String) | START_UL (htmlattr_vals::Attributes) | START_TR (htmlattr_vals::Attributes)
| START_TH (htmlattr_vals::Attributes) | START_TEXTAREA (htmlattr_vals::Attributes) | START_TD (htmlattr_vals::Attributes) | START_TABLE (htmlattr_vals::Attributes)
| START_SELECT (htmlattr_vals::Attributes) | START_PRE (htmlattr_vals::Attributes) | TAG_PARAM (htmlattr_vals::Attributes) | START_P (htmlattr_vals::Attributes)
| START_OPTION (htmlattr_vals::Attributes) | START_OL (htmlattr_vals::Attributes) | TAG_META (htmlattr_vals::Attributes) | START_MENU (htmlattr_vals::Attributes)
| START_MAP (htmlattr_vals::Attributes) | TAG_LINK (htmlattr_vals::Attributes) | START_LI (htmlattr_vals::Attributes) | TAG_ISINDEX (htmlattr_vals::Attributes)
| TAG_INPUT (htmlattr_vals::Attributes) | TAG_IMG (htmlattr_vals::Attributes) | TAG_HR (htmlattr_vals::Attributes) | START_H6 (htmlattr_vals::Attributes) | START_H5 (htmlattr_vals::Attributes)
| START_H4 (htmlattr_vals::Attributes) | START_H3 (htmlattr_vals::Attributes) | START_H2 (htmlattr_vals::Attributes) | START_H1 (htmlattr_vals::Attributes)
| START_FORM (htmlattr_vals::Attributes) | START_BASEFONT (htmlattr_vals::Attributes) | START_FONT (htmlattr_vals::Attributes) | START_DL (htmlattr_vals::Attributes)
| START_DIV (htmlattr_vals::Attributes) | START_DIR (htmlattr_vals::Attributes) | START_CAPTION (htmlattr_vals::Attributes) | TAG_BR (htmlattr_vals::Attributes)
| START_BODY (htmlattr_vals::Attributes) | TAG_BASE (htmlattr_vals::Attributes) | TAG_AREA (htmlattr_vals::Attributes) | START_APPLET (htmlattr_vals::Attributes)
| START_A (htmlattr_vals::Attributes) | QQ_PCDATAELEM (has::Pcdata) | QQ_PCDATALIST (List has::Pcdata ) | QQ_PCDATA (has::Pcdata) | QQ_OPTIONLIST (List has::Select_Option )
| QQ_FORM (has::Text) | QQ_AREALIST (List has::Area ) | QQ_SPECIAL (has::Text) | QQ_PHRASE (has::Text) | QQ_FONT (has::Text) | QQ_TEXT (has::Text) | QQ_TEXTWOSCRIPT (has::Text)
| QQ_TEXTLIST' (List has::Text ) | QQ_TEXTLIST (has::Text) | QQ_TABLECELL (has::Table_Cell) | QQ_TABLECELLLIST (List has::Table_Cell ) | QQ_TABLEROW (has::Tr) | QQ_TABLEROWLIST (List has::Tr )
| QQ_OPTCAPTION (Null_Or has::Caption ) | QQ_PREFORMATTED (has::Block) | QQ_FLOW2 (List Blklist_Item ) | QQ_FLOW1 (List Blklist_Item ) | QQ_DLITEM (Deflist_Item)
| QQ_DLITEMLIST (List Deflist_Item ) | QQ_LISTITEM (has::List_Item) | QQ_LISTITEMLIST (List has::List_Item ) | QQ_LIST (has::Block) | QQ_PARAGRAPH (has::Block) | QQ_BLOCK (has::Block)
| QQ_BLOCKWOINDEX (has::Block) | QQ_ADDRESSCONTENT2 (List Blklist_Item ) | QQ_ADDRESSCONTENT1 (List Blklist_Item ) | QQ_BODYELEMENT (has::Block) | QQ_BODYCONTENT2 (List Blklist_Item )
| QQ_BODYCONTENT1 (List Blklist_Item ) | QQ_BODYCONTENT0 (has::Body) | QQ_BODYCONTENT (has::Block) | QQ_BODY (has::Body) | QQ_HEADELEMENT (has::Head_Content)
| QQ_HEADELEMENTS (List has::Head_Content ) | QQ_HEADCONTENTS (List has::Head_Content ) | QQ_HEAD (List has::Head_Content ) | QQ_STARTHTML (Null_Or has::Cdata ) | QQ_DOCUMENT (has::Html);
};
Semantic_Value = values::Semantic_Value;
Result = has::Html;
end;
package error_recovery{
include package lr_table;
infix my 60 @@;
fun x @@ y = y ! x;
is_keyword =
\\ _ => FALSE; end;
my preferred_change: List( (List( Terminal ), List( Terminal )) ) =
NIL;
no_shift =
\\ (TERM 0) => TRUE; _ => FALSE; end;
show_terminal =
\\ (TERM 0) => "EOF"
; (TERM 1) => "START_A"
; (TERM 2) => "END_A"
; (TERM 3) => "START_ADDRESS"
; (TERM 4) => "END_ADDRESS"
; (TERM 5) => "START_APPLET"
; (TERM 6) => "END_APPLET"
; (TERM 7) => "TAG_AREA"
; (TERM 8) => "START_B"
; (TERM 9) => "END_B"
; (TERM 10) => "TAG_BASE"
; (TERM 11) => "START_BIG"
; (TERM 12) => "END_BIG"
; (TERM 13) => "START_BLOCKQUOTE"
; (TERM 14) => "END_BLOCKQUOTE"
; (TERM 15) => "START_BODY"
; (TERM 16) => "END_BODY"
; (TERM 17) => "TAG_BR"
; (TERM 18) => "START_CAPTION"
; (TERM 19) => "END_CAPTION"
; (TERM 20) => "START_CENTER"
; (TERM 21) => "END_CENTER"
; (TERM 22) => "START_CITE"
; (TERM 23) => "END_CITE"
; (TERM 24) => "START_CODE"
; (TERM 25) => "END_CODE"
; (TERM 26) => "START_DD"
; (TERM 27) => "END_DD"
; (TERM 28) => "START_DFN"
; (TERM 29) => "END_DFN"
; (TERM 30) => "START_DIR"
; (TERM 31) => "END_DIR"
; (TERM 32) => "START_DIV"
; (TERM 33) => "END_DIV"
; (TERM 34) => "START_DL"
; (TERM 35) => "END_DL"
; (TERM 36) => "START_DT"
; (TERM 37) => "END_DT"
; (TERM 38) => "START_EM"
; (TERM 39) => "END_EM"
; (TERM 40) => "START_FONT"
; (TERM 41) => "END_FONT"
; (TERM 42) => "START_BASEFONT"
; (TERM 43) => "END_BASEFONT"
; (TERM 44) => "START_FORM"
; (TERM 45) => "END_FORM"
; (TERM 46) => "START_H1"
; (TERM 47) => "END_H1"
; (TERM 48) => "START_H2"
; (TERM 49) => "END_H2"
; (TERM 50) => "START_H3"
; (TERM 51) => "END_H3"
; (TERM 52) => "START_H4"
; (TERM 53) => "END_H4"
; (TERM 54) => "START_H5"
; (TERM 55) => "END_H5"
; (TERM 56) => "START_H6"
; (TERM 57) => "END_H6"
; (TERM 58) => "START_HEAD"
; (TERM 59) => "END_HEAD"
; (TERM 60) => "TAG_HR"
; (TERM 61) => "START_HTML"
; (TERM 62) => "END_HTML"
; (TERM 63) => "START_I"
; (TERM 64) => "END_I"
; (TERM 65) => "TAG_IMG"
; (TERM 66) => "TAG_INPUT"
; (TERM 67) => "TAG_ISINDEX"
; (TERM 68) => "START_KBD"
; (TERM 69) => "END_KBD"
; (TERM 70) => "START_LI"
; (TERM 71) => "END_LI"
; (TERM 72) => "TAG_LINK"
; (TERM 73) => "START_MAP"
; (TERM 74) => "END_MAP"
; (TERM 75) => "START_MENU"
; (TERM 76) => "END_MENU"
; (TERM 77) => "TAG_META"
; (TERM 78) => "START_OL"
; (TERM 79) => "END_OL"
; (TERM 80) => "START_OPTION"
; (TERM 81) => "END_OPTION"
; (TERM 82) => "START_P"
; (TERM 83) => "END_P"
; (TERM 84) => "TAG_PARAM"
; (TERM 85) => "START_PRE"
; (TERM 86) => "END_PRE"
; (TERM 87) => "START_SAMP"
; (TERM 88) => "END_SAMP"
; (TERM 89) => "START_SCRIPT"
; (TERM 90) => "END_SCRIPT"
; (TERM 91) => "START_SELECT"
; (TERM 92) => "END_SELECT"
; (TERM 93) => "START_SMALL"
; (TERM 94) => "END_SMALL"
; (TERM 95) => "START_STRIKE"
; (TERM 96) => "END_STRIKE"
; (TERM 97) => "START_STRONG"
; (TERM 98) => "END_STRONG"
; (TERM 99) => "START_STYLE"
; (TERM 100) => "END_STYLE"
; (TERM 101) => "START_SUB"
; (TERM 102) => "END_SUB"
; (TERM 103) => "START_SUP"
; (TERM 104) => "END_SUP"
; (TERM 105) => "START_TABLE"
; (TERM 106) => "END_TABLE"
; (TERM 107) => "START_TD"
; (TERM 108) => "END_TD"
; (TERM 109) => "START_TEXTAREA"
; (TERM 110) => "END_TEXTAREA"
; (TERM 111) => "START_TH"
; (TERM 112) => "END_TH"
; (TERM 113) => "START_TITLE"
; (TERM 114) => "END_TITLE"
; (TERM 115) => "START_TR"
; (TERM 116) => "END_TR"
; (TERM 117) => "START_TT"
; (TERM 118) => "END_TT"
; (TERM 119) => "START_U"
; (TERM 120) => "END_U"
; (TERM 121) => "START_UL"
; (TERM 122) => "END_UL"
; (TERM 123) => "START_VAR"
; (TERM 124) => "END_VAR"
; (TERM 125) => "PCDATA"
; (TERM 126) => "CHAR_REF"
; (TERM 127) => "ENTITY_REF"
; _ => "bogus-term"; end;
stipulate include package header; herein
errtermvalue=
\\ (TERM 1) => values::START_A(([]));
(TERM 5) => values::START_APPLET(([
("CODE", htmlattrs::NAME ""),
("WIDTH", htmlattrs::NAME ""),
("HEIGHT", htmlattrs::NAME "")
]));
(TERM 7) => values::TAG_AREA(([("ALT", htmlattrs::NAME "")]));
(TERM 10) => values::TAG_BASE(([("URL", htmlattrs::NAME "")]));
(TERM 15) => values::START_BODY(([]));
(TERM 17) => values::TAG_BR(([]));
(TERM 18) => values::START_CAPTION(([]));
(TERM 30) => values::START_DIR(([]));
(TERM 32) => values::START_DIV(([]));
(TERM 34) => values::START_DL(([]));
(TERM 40) => values::START_FONT(([]));
(TERM 42) => values::START_BASEFONT(([]));
(TERM 44) => values::START_FORM(([]));
(TERM 46) => values::START_H1(([]));
(TERM 48) => values::START_H2(([]));
(TERM 50) => values::START_H3(([]));
(TERM 52) => values::START_H4(([]));
(TERM 54) => values::START_H5(([]));
(TERM 56) => values::START_H6(([]));
(TERM 60) => values::TAG_HR(([]));
(TERM 65) => values::TAG_IMG(([("SRC", htmlattrs::NAME "")]));
(TERM 66) => values::TAG_INPUT(([]));
(TERM 67) => values::TAG_ISINDEX(([]));
(TERM 72) => values::TAG_LINK(([]));
(TERM 73) => values::START_MAP(([]));
(TERM 75) => values::START_MENU(([]));
(TERM 77) => values::TAG_META(([("CONTENT", htmlattrs::NAME "")]));
(TERM 78) => values::START_OL(([]));
(TERM 80) => values::START_OPTION(([]));
(TERM 82) => values::START_P(([]));
(TERM 84) => values::TAG_PARAM(([("NAME", htmlattrs::NAME "")]));
(TERM 85) => values::START_PRE(([]));
(TERM 91) => values::START_SELECT(([("NAME", htmlattrs::NAME "")]));
(TERM 105) => values::START_TABLE(([]));
(TERM 107) => values::START_TD(([]));
(TERM 109) => values::START_TEXTAREA(([
("NAME", htmlattrs::NAME ""),
("ROWS", htmlattrs::NAME "0"),
("COLS", htmlattrs::NAME "0")
]));
(TERM 111) => values::START_TH(([]));
(TERM 115) => values::START_TR(([]));
(TERM 121) => values::START_UL(([]));
_ => values::TM_VOID;
end; end;
my terms: List( Terminal ) = NIL
@@ (TERM 124) @@ (TERM 123) @@ (TERM 122) @@ (TERM 120) @@ (TERM 119) @@ (TERM 118) @@ (TERM 117) @@ (TERM 116) @@ (TERM 114) @@ (TERM 113) @@ (TERM 112) @@ (TERM 110) @@ (TERM 108) @@ (TERM 106) @@
(TERM 104) @@ (TERM 103) @@ (TERM 102) @@ (TERM 101) @@ (TERM 100) @@ (TERM 99) @@ (TERM 98) @@ (TERM 97) @@ (TERM 96) @@ (TERM 95) @@ (TERM 94) @@ (TERM 93) @@ (TERM 92) @@ (TERM 90) @@ (TERM 89) @@
(TERM 88) @@ (TERM 87) @@ (TERM 86) @@ (TERM 83) @@ (TERM 81) @@ (TERM 79) @@ (TERM 76) @@ (TERM 74) @@ (TERM 71) @@ (TERM 69) @@ (TERM 68) @@ (TERM 64) @@ (TERM 63) @@ (TERM 62) @@ (TERM 61) @@
(TERM 59) @@ (TERM 58) @@ (TERM 57) @@ (TERM 55) @@ (TERM 53) @@ (TERM 51) @@ (TERM 49) @@ (TERM 47) @@ (TERM 45) @@ (TERM 43) @@ (TERM 41) @@ (TERM 39) @@ (TERM 38) @@ (TERM 37) @@ (TERM 36) @@
(TERM 35) @@ (TERM 33) @@ (TERM 31) @@ (TERM 29) @@ (TERM 28) @@ (TERM 27) @@ (TERM 26) @@ (TERM 25) @@ (TERM 24) @@ (TERM 23) @@ (TERM 22) @@ (TERM 21) @@ (TERM 20) @@ (TERM 19) @@ (TERM 16) @@
(TERM 14) @@ (TERM 13) @@ (TERM 12) @@ (TERM 11) @@ (TERM 9) @@ (TERM 8) @@ (TERM 6) @@ (TERM 4) @@ (TERM 3) @@ (TERM 2) @@ (TERM 0);
};
package actions {
exception MLY_ACTION Int;
stipulate include package header; herein
actions =
\\ (i392, default_position, stack,
(ctx): Arg) =
case (i392, stack)
( 0, ( ( _, ( _, _, end_html1right)) ! ( _, ( values::QQ_BODY body, _, _)) ! ( _, ( values::QQ_HEAD head, _, _)) ! ( _, ( values::QQ_STARTHTML starthtml, starthtml1left, _)) !
rest671)) => { my result = values::QQ_DOCUMENT (has::HTML { version=>starthtml, head, body } );
( lr_table::NONTERM 0, ( result, starthtml1left, end_html1right), rest671);
}
; ( 1, ( rest671)) => { my result = values::QQ_STARTHTML (NULL);
( lr_table::NONTERM 1, ( result, default_position, default_position), rest671);
}
; ( 2, ( ( _, ( _, start_html1left, start_html1right)) ! rest671)) => { my result = values::QQ_STARTHTML (NULL);
( lr_table::NONTERM 1, ( result, start_html1left, start_html1right),
rest671);
}
; ( 3, ( rest671)) => { my result = values::NT_VOID ();
( lr_table::NONTERM 2, ( result, default_position, default_position), rest671);
}
; ( 4, ( ( _, ( _, end_html1left, end_html1right)) ! rest671)) => { my result = values::NT_VOID ();
( lr_table::NONTERM 2, ( result, end_html1left, end_html1right), rest671);
}
; ( 5, ( ( _, ( _, _, endhead1right)) ! ( _, ( values::QQ_HEADCONTENTS headcontents, _, _)) ! ( _, ( _, starthead1left, _)) ! rest671)) => { my result = values::QQ_HEAD (headcontents)
;
( lr_table::NONTERM 3, ( result, starthead1left, endhead1right), rest671);
}
; ( 6, ( rest671)) => { my result = values::NT_VOID ();
( lr_table::NONTERM 4, ( result, default_position, default_position), rest671);
}
; ( 7, ( ( _, ( _, start_head1left, start_head1right)) ! rest671)) => { my result = values::NT_VOID ();
( lr_table::NONTERM 4, ( result, start_head1left, start_head1right), rest671);
}
; ( 8, ( rest671)) => { my result = values::NT_VOID ();
( lr_table::NONTERM 5, ( result, default_position, default_position), rest671);
}
; ( 9, ( ( _, ( _, end_head1left, end_head1right)) ! rest671)) => { my result = values::NT_VOID ();
( lr_table::NONTERM 5, ( result, end_head1left, end_head1right), rest671);
}
; ( 10, ( ( _, ( values::QQ_HEADELEMENTS headelements2, _, headelements2right)) ! _ ! ( _, ( values::QQ_PCDATA pcdata, _, _)) ! _ ! ( _, ( values::QQ_HEADELEMENTS headelements1,
headelements1left, _)) ! rest671)) => { my result = values::QQ_HEADCONTENTS (headelements1 @ (has::HEAD_TITLE pcdata ! headelements2));
( lr_table::NONTERM 6, ( result, headelements1left,
headelements2right), rest671);
}
; ( 11, ( rest671)) => { my result = values::QQ_HEADELEMENTS ([]);
( lr_table::NONTERM 7, ( result, default_position, default_position), rest671);
}
; ( 12, ( ( _, ( values::QQ_HEADELEMENTS headelements, _, headelements1right)) ! ( _, ( values::QQ_HEADELEMENT headelement, headelement1left, _)) ! rest671)) => { my result =
values::QQ_HEADELEMENTS (headelement ! headelements);
( lr_table::NONTERM 7, ( result, headelement1left, headelements1right), rest671);
}
; ( 13, ( ( _, ( values::TAG_META tag_meta, (tag_metaleft as tag_meta1left), tag_meta1right)) ! rest671)) => { my result = values::QQ_HEADELEMENT (
htmlattrs::make_meta (ctx tag_metaleft, tag_meta));
( lr_table::NONTERM 8, ( result, tag_meta1left, tag_meta1right), rest671);
}
; ( 14, ( ( _, ( values::TAG_LINK tag_link, (tag_linkleft as tag_link1left), tag_link1right)) ! rest671)) => { my result = values::QQ_HEADELEMENT (
htmlattrs::make_link (ctx tag_linkleft, tag_link));
( lr_table::NONTERM 8, ( result, tag_link1left, tag_link1right), rest671);
}
; ( 15, ( ( _, ( values::TAG_ISINDEX tag_isindex, (tag_isindexleft as tag_isindex1left), tag_isindex1right)) ! rest671)) => { my result = values::QQ_HEADELEMENT (
{ stuff = htmlattrs::make_isindex (ctx tag_isindexleft, tag_isindex);
has::HEAD_ISINDEX stuff;
}
);
( lr_table::NONTERM 8, ( result, tag_isindex1left,
tag_isindex1right), rest671);
}
; ( 16, ( ( _, ( values::TAG_BASE tag_base, (tag_baseleft as tag_base1left), tag_base1right)) ! rest671)) => { my result = values::QQ_HEADELEMENT (
htmlattrs::make_base (ctx tag_baseleft, tag_base));
( lr_table::NONTERM 8, ( result, tag_base1left, tag_base1right), rest671);
}
; ( 17, ( ( _, ( _, _, end_style1right)) ! ( _, ( values::QQ_PCDATA pcdata, _, _)) ! ( _, ( _, start_style1left, _)) ! rest671)) => { my result = values::QQ_HEADELEMENT (
has::HEAD_STYLE (pcdata));
( lr_table::NONTERM 8, ( result, start_style1left, end_style1right), rest671);
}
; ( 18, ( ( _, ( _, _, end_script1right)) ! ( _, ( values::QQ_PCDATA pcdata, _, _)) ! ( _, ( _, start_script1left, _)) ! rest671)) => { my result = values::QQ_HEADELEMENT (
has::HEAD_SCRIPT (pcdata));
( lr_table::NONTERM 8, ( result, start_script1left, end_script1right), rest671);
}
; ( 19, ( ( _, ( _, _, endbody1right)) ! ( _, ( values::QQ_BODYCONTENT0 bodycontent0, bodycontent01left, _)) ! rest671)) => { my result = values::QQ_BODY (bodycontent0);
(
lr_table::NONTERM 9, ( result, bodycontent01left, endbody1right), rest671);
}
; ( 20, ( rest671)) => { my result = values::NT_VOID ();
( lr_table::NONTERM 11, ( result, default_position, default_position), rest671);
}
; ( 21, ( ( _, ( _, end_body1left, end_body1right)) ! rest671)) => { my result = values::NT_VOID ();
( lr_table::NONTERM 11, ( result, end_body1left, end_body1right), rest671);
}
; ( 22, ( ( _, ( values::QQ_BODYCONTENT1 bodycontent1, bodycontent11left, bodycontent11right)) ! rest671)) => { my result = values::QQ_BODYCONTENT (make_block bodycontent1);
(
lr_table::NONTERM 12, ( result, bodycontent11left, bodycontent11right), rest671);
}
; ( 23, ( ( _, ( values::QQ_BODYCONTENT bodycontent, _, bodycontent1right)) ! ( _, ( values::START_BODY start_body, (start_bodyleft as start_body1left), _)) ! rest671)) => { my result =
values::QQ_BODYCONTENT0 (htmlattrs::make_body (ctx start_bodyleft, start_body, bodycontent));
( lr_table::NONTERM 13, ( result, start_body1left, bodycontent1right), rest671);
}
; ( 24, ( ( _, ( values::QQ_BODYCONTENT1 bodycontent1, _, bodycontent11right)) ! ( _, ( values::QQ_TEXTWOSCRIPT textwoscript, textwoscript1left, _)) ! rest671)) => { my result =
values::QQ_BODYCONTENT0 (make_body (cons_text_fn (textwoscript, bodycontent1)));
( lr_table::NONTERM 13, ( result, textwoscript1left, bodycontent11right), rest671);
}
; ( 25, ( ( _, ( values::QQ_BODYCONTENT1 bodycontent1, _, bodycontent11right)) ! ( _, ( values::QQ_BODYELEMENT bodyelement, bodyelement1left, _)) ! rest671)) => { my result =
values::QQ_BODYCONTENT0 (make_body (cons_block_fn (bodyelement, bodycontent1)));
( lr_table::NONTERM 13, ( result, bodyelement1left, bodycontent11right), rest671);
}
; ( 26, ( ( _, ( values::QQ_BODYCONTENT1 bodycontent1, _, bodycontent11right)) ! ( _, ( values::QQ_BLOCKWOINDEX blockwoindex, blockwoindex1left, _)) ! rest671)) => { my result =
values::QQ_BODYCONTENT0 (make_body (cons_block_fn (blockwoindex, bodycontent1)));
( lr_table::NONTERM 13, ( result, blockwoindex1left, bodycontent11right), rest671);
}
; ( 27, ( ( _, ( values::QQ_BODYCONTENT1 bodycontent1, _, bodycontent11right)) ! _ ! ( _, ( values::QQ_PARAGRAPH paragraph, paragraph1left, _)) ! rest671)) => { my result =
values::QQ_BODYCONTENT0 (make_body (cons_block_fn (paragraph, bodycontent1)));
( lr_table::NONTERM 13, ( result, paragraph1left, bodycontent11right), rest671);
}
; ( 28, ( ( _, ( values::QQ_BODYCONTENT2 bodycontent2, _, bodycontent21right)) ! ( _, ( values::QQ_PARAGRAPH paragraph, paragraph1left, _)) ! rest671)) => { my result =
values::QQ_BODYCONTENT0 (make_body (cons_block_fn (paragraph, bodycontent2)));
( lr_table::NONTERM 13, ( result, paragraph1left, bodycontent21right), rest671);
}
; ( 29, ( rest671)) => { my result = values::QQ_BODYCONTENT1 ([]);
( lr_table::NONTERM 14, ( result, default_position, default_position), rest671);
}
; ( 30, ( ( _, ( values::QQ_BODYCONTENT1 bodycontent1, _, bodycontent11right)) ! ( _, ( values::QQ_TEXT text, text1left, _)) ! rest671)) => { my result = values::QQ_BODYCONTENT1 (
cons_text_fn (text, bodycontent1));
( lr_table::NONTERM 14, ( result, text1left, bodycontent11right), rest671);
}
; ( 31, ( ( _, ( values::QQ_BODYCONTENT1 bodycontent1, _, bodycontent11right)) ! ( _, ( values::QQ_BODYELEMENT bodyelement, bodyelement1left, _)) ! rest671)) => { my result =
values::QQ_BODYCONTENT1 (cons_block_fn (bodyelement, bodycontent1));
( lr_table::NONTERM 14, ( result, bodyelement1left, bodycontent11right), rest671);
}
; ( 32, ( ( _, ( values::QQ_BODYCONTENT1 bodycontent1, _, bodycontent11right)) ! ( _, ( values::QQ_BLOCK block, block1left, _)) ! rest671)) => { my result = values::QQ_BODYCONTENT1 (
cons_block_fn (block, bodycontent1));
( lr_table::NONTERM 14, ( result, block1left, bodycontent11right), rest671);
}
; ( 33, ( ( _, ( values::QQ_BODYCONTENT1 bodycontent1, _, bodycontent11right)) ! _ ! ( _, ( values::QQ_PARAGRAPH paragraph, paragraph1left, _)) ! rest671)) => { my result =
values::QQ_BODYCONTENT1 (cons_block_fn (paragraph, bodycontent1));
( lr_table::NONTERM 14, ( result, paragraph1left, bodycontent11right), rest671);
}
; ( 34, ( ( _, ( values::QQ_BODYCONTENT2 bodycontent2, _, bodycontent21right)) ! ( _, ( values::QQ_PARAGRAPH paragraph, paragraph1left, _)) ! rest671)) => { my result =
values::QQ_BODYCONTENT1 (cons_block_fn (paragraph, bodycontent2));
( lr_table::NONTERM 14, ( result, paragraph1left, bodycontent21right), rest671);
}
; ( 35, ( rest671)) => { my result = values::QQ_BODYCONTENT2 ([]);
( lr_table::NONTERM 15, ( result, default_position, default_position), rest671);
}
; ( 36, ( ( _, ( values::QQ_BODYCONTENT1 bodycontent1, _, bodycontent11right)) ! ( _, ( values::QQ_BODYELEMENT bodyelement, bodyelement1left, _)) ! rest671)) => { my result =
values::QQ_BODYCONTENT2 (cons_block_fn (bodyelement, bodycontent1));
( lr_table::NONTERM 15, ( result, bodyelement1left, bodycontent11right), rest671);
}
; ( 37, ( ( _, ( values::QQ_BODYCONTENT1 bodycontent1, _, bodycontent11right)) ! ( _, ( values::QQ_BLOCK block, block1left, _)) ! rest671)) => { my result = values::QQ_BODYCONTENT2 (
cons_block_fn (block, bodycontent1));
( lr_table::NONTERM 15, ( result, block1left, bodycontent11right), rest671);
}
; ( 38, ( ( _, ( values::QQ_BODYCONTENT1 bodycontent1, _, bodycontent11right)) ! _ ! ( _, ( values::QQ_PARAGRAPH paragraph, paragraph1left, _)) ! rest671)) => { my result =
values::QQ_BODYCONTENT2 (cons_block_fn (paragraph, bodycontent1));
( lr_table::NONTERM 15, ( result, paragraph1left, bodycontent11right), rest671);
}
; ( 39, ( ( _, ( values::QQ_BODYCONTENT2 bodycontent2, _, bodycontent21right)) ! ( _, ( values::QQ_PARAGRAPH paragraph, paragraph1left, _)) ! rest671)) => { my result =
values::QQ_BODYCONTENT2 (cons_block_fn (paragraph, bodycontent2));
( lr_table::NONTERM 15, ( result, paragraph1left, bodycontent21right), rest671);
}
; ( 40, ( ( _, ( _, _, end_h11right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( values::START_H1 start_h1, (start_h1left as start_h11left), _)) ! rest671)) => { my result
= values::QQ_BODYELEMENT (htmlattrs::make_hn (1, ctx start_h1left, start_h1, textlist));
( lr_table::NONTERM 16, ( result, start_h11left, end_h11right), rest671);
}
; ( 41, ( ( _, ( _, _, end_h21right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( values::START_H2 start_h2, (start_h2left as start_h21left), _)) ! rest671)) => { my result
= values::QQ_BODYELEMENT (htmlattrs::make_hn (2, ctx start_h2left, start_h2, textlist));
( lr_table::NONTERM 16, ( result, start_h21left, end_h21right), rest671);
}
; ( 42, ( ( _, ( _, _, end_h31right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( values::START_H3 start_h3, (start_h3left as start_h31left), _)) ! rest671)) => { my result
= values::QQ_BODYELEMENT (htmlattrs::make_hn (3, ctx start_h3left, start_h3, textlist));
( lr_table::NONTERM 16, ( result, start_h31left, end_h31right), rest671);
}
; ( 43, ( ( _, ( _, _, end_h41right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( values::START_H4 start_h4, (start_h4left as start_h41left), _)) ! rest671)) => { my result
= values::QQ_BODYELEMENT (htmlattrs::make_hn (4, ctx start_h4left, start_h4, textlist));
( lr_table::NONTERM 16, ( result, start_h41left, end_h41right), rest671);
}
; ( 44, ( ( _, ( _, _, end_h51right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( values::START_H5 start_h5, (start_h5left as start_h51left), _)) ! rest671)) => { my result
= values::QQ_BODYELEMENT (htmlattrs::make_hn (5, ctx start_h5left, start_h5, textlist));
( lr_table::NONTERM 16, ( result, start_h51left, end_h51right), rest671);
}
; ( 45, ( ( _, ( _, _, end_h61right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( values::START_H6 start_h6, (start_h6left as start_h61left), _)) ! rest671)) => { my result
= values::QQ_BODYELEMENT (htmlattrs::make_hn (6, ctx start_h6left, start_h6, textlist));
( lr_table::NONTERM 16, ( result, start_h61left, end_h61right), rest671);
}
; ( 46, ( ( _, ( _, _, end_address1right)) ! ( _, ( values::QQ_ADDRESSCONTENT1 addresscontent1, _, _)) ! ( _, ( _, start_address1left, _)) ! rest671)) => { my result =
values::QQ_BODYELEMENT (has::ADDRESS (make_block addresscontent1));
( lr_table::NONTERM 16, ( result, start_address1left, end_address1right), rest671);
}
; ( 47, ( rest671)) => { my result = values::QQ_ADDRESSCONTENT1 ([]);
( lr_table::NONTERM 17, ( result, default_position, default_position), rest671);
}
; ( 48, ( ( _, ( values::QQ_ADDRESSCONTENT1 addresscontent1, _, addresscontent11right)) ! ( _, ( values::QQ_TEXT text, text1left, _)) ! rest671)) => { my result =
values::QQ_ADDRESSCONTENT1 (cons_text_fn (text, addresscontent1));
( lr_table::NONTERM 17, ( result, text1left, addresscontent11right), rest671);
}
; ( 49, ( ( _, ( values::QQ_ADDRESSCONTENT1 addresscontent1, _, addresscontent11right)) ! _ ! ( _, ( values::QQ_PARAGRAPH paragraph, paragraph1left, _)) ! rest671)) => { my result =
values::QQ_ADDRESSCONTENT1 (cons_block_fn (paragraph, addresscontent1));
( lr_table::NONTERM 17, ( result, paragraph1left, addresscontent11right), rest671);
}
; ( 50, ( ( _, ( values::QQ_ADDRESSCONTENT2 addresscontent2, _, addresscontent21right)) ! ( _, ( values::QQ_PARAGRAPH paragraph, paragraph1left, _)) ! rest671)) => { my result =
values::QQ_ADDRESSCONTENT1 (cons_block_fn (paragraph, addresscontent2));
( lr_table::NONTERM 17, ( result, paragraph1left, addresscontent21right), rest671);
}
; ( 51, ( rest671)) => { my result = values::QQ_ADDRESSCONTENT2 ([]);
( lr_table::NONTERM 18, ( result, default_position, default_position), rest671);
}
; ( 52, ( ( _, ( values::QQ_ADDRESSCONTENT1 addresscontent1, _, addresscontent11right)) ! _ ! ( _, ( values::QQ_PARAGRAPH paragraph, paragraph1left, _)) ! rest671)) => { my result =
values::QQ_ADDRESSCONTENT2 (cons_block_fn (paragraph, addresscontent1));
( lr_table::NONTERM 18, ( result, paragraph1left, addresscontent11right), rest671);
}
; ( 53, ( ( _, ( values::QQ_ADDRESSCONTENT2 addresscontent2, _, addresscontent21right)) ! ( _, ( values::QQ_PARAGRAPH paragraph, paragraph1left, _)) ! rest671)) => { my result =
values::QQ_ADDRESSCONTENT2 (cons_block_fn (paragraph, addresscontent2));
( lr_table::NONTERM 18, ( result, paragraph1left, addresscontent21right), rest671);
}
; ( 54, ( ( _, ( values::QQ_LIST list, list1left, list1right)) ! rest671)) => { my result = values::QQ_BLOCKWOINDEX (list);
( lr_table::NONTERM 19, ( result, list1left, list1right),
rest671);
}
; ( 55, ( ( _, ( values::QQ_PREFORMATTED preformatted, preformatted1left, preformatted1right)) ! rest671)) => { my result = values::QQ_BLOCKWOINDEX (preformatted);
( lr_table::NONTERM 19, (
result, preformatted1left, preformatted1right), rest671);
}
; ( 56, ( ( _, ( _, _, end_div1right)) ! ( _, ( values::QQ_BODYCONTENT bodycontent, _, _)) ! ( _, ( values::START_DIV start_div, (start_divleft as start_div1left), _)) ! rest671)) => {
my result = values::QQ_BLOCKWOINDEX (htmlattrs::make_div (ctx start_divleft, start_div, bodycontent));
( lr_table::NONTERM 19, ( result, start_div1left, end_div1right), rest671);
}
; ( 57, ( ( _, ( _, _, end_center1right)) ! ( _, ( values::QQ_BODYCONTENT bodycontent, _, _)) ! ( _, ( _, start_center1left, _)) ! rest671)) => { my result = values::QQ_BLOCKWOINDEX (
has::CENTER bodycontent);
( lr_table::NONTERM 19, ( result, start_center1left, end_center1right), rest671);
}
; ( 58, ( ( _, ( _, _, end_blockquote1right)) ! ( _, ( values::QQ_BODYCONTENT bodycontent, _, _)) ! ( _, ( _, start_blockquote1left, _)) ! rest671)) => { my result =
values::QQ_BLOCKWOINDEX (has::BLOCKQUOTE bodycontent);
( lr_table::NONTERM 19, ( result, start_blockquote1left, end_blockquote1right), rest671);
}
; ( 59, ( ( _, ( _, _, end_form1right)) ! ( _, ( values::QQ_BODYCONTENT bodycontent, _, _)) ! ( _, ( values::START_FORM start_form, (start_formleft as start_form1left), _)) ! rest671))
=> { my result = values::QQ_BLOCKWOINDEX (htmlattrs::make_form (ctx start_formleft, start_form, bodycontent));
( lr_table::NONTERM 19, ( result, start_form1left, end_form1right), rest671);
}
; ( 60, ( ( _, ( values::TAG_HR tag_hr, (tag_hrleft as tag_hr1left), tag_hr1right)) ! rest671)) => { my result = values::QQ_BLOCKWOINDEX (htmlattrs::make_hr (ctx tag_hrleft, tag_hr));
(
lr_table::NONTERM 19, ( result, tag_hr1left, tag_hr1right), rest671);
}
; ( 61, ( ( _, ( _, _, end_table1right)) ! ( _, ( values::QQ_TABLEROWLIST tablerowlist, _, _)) ! ( _, ( values::QQ_OPTCAPTION optcaption, _, _)) ! ( _, ( values::START_TABLE start_table
, (start_tableleft as start_table1left), _)) ! rest671)) => { my result = values::QQ_BLOCKWOINDEX (
htmlattrs::make_table(
ctx start_tableleft, start_table,
{ caption => optcaption, body => tablerowlist } )
);
( lr_table::NONTERM 19, ( result, start_table1left, end_table1right),
rest671);
}
; ( 62, ( ( _, ( values::QQ_BLOCKWOINDEX blockwoindex, blockwoindex1left, blockwoindex1right)) ! rest671)) => { my result = values::QQ_BLOCK (blockwoindex);
( lr_table::NONTERM 20, ( result
, blockwoindex1left, blockwoindex1right), rest671);
}
; ( 63, ( ( _, ( values::TAG_ISINDEX tag_isindex, (tag_isindexleft as tag_isindex1left), tag_isindex1right)) ! rest671)) => { my result = values::QQ_BLOCK (
{ stuff = htmlattrs::make_isindex (ctx tag_isindexleft, tag_isindex);
has::ISINDEX stuff;
}
);
( lr_table::NONTERM 20, ( result, tag_isindex1left,
tag_isindex1right), rest671);
}
; ( 64, ( ( _, ( values::QQ_TEXTLIST textlist, _, textlist1right)) ! ( _, ( values::START_P start_p, (start_pleft as start_p1left), _)) ! rest671)) => { my result = values::QQ_PARAGRAPH (
htmlattrs::make_p (ctx start_pleft, start_p, textlist));
( lr_table::NONTERM 21, ( result, start_p1left, textlist1right), rest671);
}
; ( 65, ( ( _, ( _, _, end_ul1right)) ! ( _, ( values::QQ_LISTITEMLIST listitemlist, _, _)) ! ( _, ( values::START_UL start_ul, (start_ulleft as start_ul1left), _)) ! rest671)) => { my
result = values::QQ_LIST (htmlattrs::make_ul (ctx start_ulleft, start_ul, listitemlist));
( lr_table::NONTERM 22, ( result, start_ul1left, end_ul1right), rest671);
}
; ( 66, ( ( _, ( _, _, end_ol1right)) ! ( _, ( values::QQ_LISTITEMLIST listitemlist, _, _)) ! ( _, ( values::START_OL start_ol, (start_olleft as start_ol1left), _)) ! rest671)) => { my
result = values::QQ_LIST (htmlattrs::make_ol (ctx start_olleft, start_ol, listitemlist));
( lr_table::NONTERM 22, ( result, start_ol1left, end_ol1right), rest671);
}
; ( 67, ( ( _, ( _, _, end_dir1right)) ! ( _, ( values::QQ_LISTITEMLIST listitemlist, _, _)) ! ( _, ( values::START_DIR start_dir, (start_dirleft as start_dir1left), _)) ! rest671)) =>
{ my result = values::QQ_LIST (htmlattrs::make_dir (ctx start_dirleft, start_dir, listitemlist));
( lr_table::NONTERM 22, ( result, start_dir1left, end_dir1right), rest671);
}
; ( 68, ( ( _, ( _, _, end_menu1right)) ! ( _, ( values::QQ_LISTITEMLIST listitemlist, _, _)) ! ( _, ( values::START_MENU start_menu, (start_menuleft as start_menu1left), _)) ! rest671))
=> { my result = values::QQ_LIST (htmlattrs::make_menu (ctx start_menuleft, start_menu, listitemlist));
( lr_table::NONTERM 22, ( result, start_menu1left, end_menu1right), rest671);
}
; ( 69, ( ( _, ( _, _, end_dl1right)) ! ( _, ( values::QQ_DLITEMLIST dlitemlist, _, _)) ! ( _, ( values::START_DL start_dl, (start_dlleft as start_dl1left), _)) ! rest671)) => { my
result = values::QQ_LIST (htmlattrs::make_dl(
ctx start_dlleft, start_dl,
group_def_list_contents dlitemlist)
);
( lr_table::NONTERM 22, ( result, start_dl1left, end_dl1right), rest671)
;
}
; ( 70, ( rest671)) => { my result = values::QQ_LISTITEMLIST ([]);
( lr_table::NONTERM 23, ( result, default_position, default_position), rest671);
}
; ( 71, ( ( _, ( values::QQ_LISTITEMLIST listitemlist, _, listitemlist1right)) ! ( _, ( values::QQ_LISTITEM listitem, listitem1left, _)) ! rest671)) => { my result =
values::QQ_LISTITEMLIST (listitem ! listitemlist);
( lr_table::NONTERM 23, ( result, listitem1left, listitemlist1right), rest671);
}
; ( 72, ( ( _, ( _, _, endli1right)) ! ( _, ( values::QQ_FLOW1 flow1, _, _)) ! ( _, ( values::START_LI start_li, (start_lileft as start_li1left), _)) ! rest671)) => { my result =
values::QQ_LISTITEM (htmlattrs::make_li (ctx start_lileft, start_li, make_block flow1));
( lr_table::NONTERM 24, ( result, start_li1left, endli1right), rest671);
}
; ( 73, ( rest671)) => { my result = values::QQ_DLITEMLIST ([]);
( lr_table::NONTERM 25, ( result, default_position, default_position), rest671);
}
; ( 74, ( ( _, ( values::QQ_DLITEMLIST dlitemlist, _, dlitemlist1right)) ! ( _, ( values::QQ_DLITEM dlitem, dlitem1left, _)) ! rest671)) => { my result = values::QQ_DLITEMLIST (
dlitem ! dlitemlist);
( lr_table::NONTERM 25, ( result, dlitem1left, dlitemlist1right), rest671);
}
; ( 75, ( ( _, ( _, _, enddt1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( _, start_dt1left, _)) ! rest671)) => { my result = values::QQ_DLITEM (DL_TAG textlist);
(
lr_table::NONTERM 26, ( result, start_dt1left, enddt1right), rest671);
}
; ( 76, ( ( _, ( _, _, enddd1right)) ! ( _, ( values::QQ_FLOW1 flow1, _, _)) ! ( _, ( _, start_dd1left, _)) ! rest671)) => { my result = values::QQ_DLITEM (DL_ITEM (make_block flow1))
;
( lr_table::NONTERM 26, ( result, start_dd1left, enddd1right), rest671);
}
; ( 77, ( rest671)) => { my result = values::QQ_FLOW1 ([]);
( lr_table::NONTERM 27, ( result, default_position, default_position), rest671);
}
; ( 78, ( ( _, ( values::QQ_FLOW1 flow1, _, flow11right)) ! ( _, ( values::QQ_TEXT text, text1left, _)) ! rest671)) => { my result = values::QQ_FLOW1 (cons_text_fn (text, flow1));
(
lr_table::NONTERM 27, ( result, text1left, flow11right), rest671);
}
; ( 79, ( ( _, ( values::QQ_FLOW1 flow1, _, flow11right)) ! ( _, ( values::QQ_BLOCK block, block1left, _)) ! rest671)) => { my result = values::QQ_FLOW1 (cons_block_fn (block, flow1));
(
lr_table::NONTERM 27, ( result, block1left, flow11right), rest671);
}
; ( 80, ( ( _, ( values::QQ_FLOW1 flow1, _, flow11right)) ! _ ! ( _, ( values::QQ_PARAGRAPH paragraph, paragraph1left, _)) ! rest671)) => { my result = values::QQ_FLOW1 (
cons_block_fn (paragraph, flow1));
( lr_table::NONTERM 27, ( result, paragraph1left, flow11right), rest671);
}
; ( 81, ( ( _, ( values::QQ_FLOW2 flow2, _, flow21right)) ! ( _, ( values::QQ_PARAGRAPH paragraph, paragraph1left, _)) ! rest671)) => { my result = values::QQ_FLOW1 (
cons_block_fn (paragraph, flow2));
( lr_table::NONTERM 27, ( result, paragraph1left, flow21right), rest671);
}
; ( 82, ( rest671)) => { my result = values::QQ_FLOW2 ([]);
( lr_table::NONTERM 28, ( result, default_position, default_position), rest671);
}
; ( 83, ( ( _, ( values::QQ_FLOW1 flow1, _, flow11right)) ! ( _, ( values::QQ_BLOCK block, block1left, _)) ! rest671)) => { my result = values::QQ_FLOW2 (cons_block_fn (block, flow1));
(
lr_table::NONTERM 28, ( result, block1left, flow11right), rest671);
}
; ( 84, ( ( _, ( values::QQ_FLOW1 flow1, _, flow11right)) ! _ ! ( _, ( values::QQ_PARAGRAPH paragraph, paragraph1left, _)) ! rest671)) => { my result = values::QQ_FLOW2 (
cons_block_fn (paragraph, flow1));
( lr_table::NONTERM 28, ( result, paragraph1left, flow11right), rest671);
}
; ( 85, ( ( _, ( values::QQ_FLOW2 flow2, _, flow21right)) ! ( _, ( values::QQ_PARAGRAPH paragraph, paragraph1left, _)) ! rest671)) => { my result = values::QQ_FLOW2 (
cons_block_fn (paragraph, flow2));
( lr_table::NONTERM 28, ( result, paragraph1left, flow21right), rest671);
}
; ( 86, ( rest671)) => { my result = values::NT_VOID ();
( lr_table::NONTERM 29, ( result, default_position, default_position), rest671);
}
; ( 87, ( ( _, ( _, end_li1left, end_li1right)) ! rest671)) => { my result = values::NT_VOID ();
( lr_table::NONTERM 29, ( result, end_li1left, end_li1right), rest671);
}
; ( 88, ( rest671)) => { my result = values::NT_VOID ();
( lr_table::NONTERM 30, ( result, default_position, default_position), rest671);
}
; ( 89, ( ( _, ( _, end_dt1left, end_dt1right)) ! rest671)) => { my result = values::NT_VOID ();
( lr_table::NONTERM 30, ( result, end_dt1left, end_dt1right), rest671);
}
; ( 90, ( rest671)) => { my result = values::NT_VOID ();
( lr_table::NONTERM 31, ( result, default_position, default_position), rest671);
}
; ( 91, ( ( _, ( _, end_dd1left, end_dd1right)) ! rest671)) => { my result = values::NT_VOID ();
( lr_table::NONTERM 31, ( result, end_dd1left, end_dd1right), rest671);
}
; ( 92, ( ( _, ( _, _, end_pre1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( values::START_PRE start_pre, (start_preleft as start_pre1left), _)) ! rest671)) => { my
result = values::QQ_PREFORMATTED (htmlattrs::make_pre (ctx start_preleft, start_pre, textlist));
( lr_table::NONTERM 32, ( result, start_pre1left, end_pre1right), rest671);
}
; ( 93, ( rest671)) => { my result = values::QQ_OPTCAPTION (NULL);
( lr_table::NONTERM 33, ( result, default_position, default_position), rest671);
}
; ( 94, ( ( _, ( _, _, end_caption1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( values::START_CAPTION start_caption, (start_captionleft as start_caption1left), _)) !
rest671)) => { my result = values::QQ_OPTCAPTION (THE (htmlattrs::make_caption(
ctx start_captionleft, start_caption, textlist)));
( lr_table::NONTERM 33, ( result, start_caption1left,
end_caption1right), rest671);
}
; ( 95, ( ( _, ( values::QQ_TABLEROW tablerow, tablerow1left, tablerow1right)) ! rest671)) => { my result = values::QQ_TABLEROWLIST ([tablerow]);
( lr_table::NONTERM 34, ( result,
tablerow1left, tablerow1right), rest671);
}
; ( 96, ( ( _, ( values::QQ_TABLEROWLIST tablerowlist, _, tablerowlist1right)) ! ( _, ( values::QQ_TABLEROW tablerow, tablerow1left, _)) ! rest671)) => { my result =
values::QQ_TABLEROWLIST (tablerow ! tablerowlist);
( lr_table::NONTERM 34, ( result, tablerow1left, tablerowlist1right), rest671);
}
; ( 97, ( ( _, ( values::QQ_TABLECELLLIST tablecelllist, _, tablecelllist1right)) ! ( _, ( values::START_TR start_tr, (start_trleft as start_tr1left), _)) ! rest671)) => { my result =
values::QQ_TABLEROW (htmlattrs::make_tr (ctx start_trleft, start_tr, tablecelllist));
( lr_table::NONTERM 35, ( result, start_tr1left, tablecelllist1right), rest671);
}
; ( 98, ( ( _, ( _, _, end_tr1right)) ! ( _, ( values::QQ_TABLECELLLIST tablecelllist, _, _)) ! ( _, ( values::START_TR start_tr, (start_trleft as start_tr1left), _)) ! rest671)) => {
my result = values::QQ_TABLEROW (htmlattrs::make_tr (ctx start_trleft, start_tr, tablecelllist));
( lr_table::NONTERM 35, ( result, start_tr1left, end_tr1right), rest671);
}
; ( 99, ( ( _, ( values::QQ_TABLECELL tablecell, tablecell1left, tablecell1right)) ! rest671)) => { my result = values::QQ_TABLECELLLIST ([tablecell]);
( lr_table::NONTERM 36, ( result,
tablecell1left, tablecell1right), rest671);
}
; ( 100, ( ( _, ( values::QQ_TABLECELLLIST tablecelllist, _, tablecelllist1right)) ! ( _, ( values::QQ_TABLECELL tablecell, tablecell1left, _)) ! rest671)) => { my result =
values::QQ_TABLECELLLIST (tablecell ! tablecelllist);
( lr_table::NONTERM 36, ( result, tablecell1left, tablecelllist1right), rest671);
}
; ( 101, ( ( _, ( _, _, end_th1right)) ! ( _, ( values::QQ_BODYCONTENT bodycontent, _, _)) ! ( _, ( values::START_TH start_th, (start_thleft as start_th1left), _)) ! rest671)) => { my
result = values::QQ_TABLECELL (htmlattrs::make_th (ctx start_thleft, start_th, bodycontent));
( lr_table::NONTERM 37, ( result, start_th1left, end_th1right), rest671);
}
; ( 102, ( ( _, ( values::QQ_BODYCONTENT bodycontent, _, bodycontent1right)) ! ( _, ( values::START_TH start_th, (start_thleft as start_th1left), _)) ! rest671)) => { my result =
values::QQ_TABLECELL (htmlattrs::make_th (ctx start_thleft, start_th, bodycontent));
( lr_table::NONTERM 37, ( result, start_th1left, bodycontent1right), rest671);
}
; ( 103, ( ( _, ( _, _, end_td1right)) ! ( _, ( values::QQ_BODYCONTENT bodycontent, _, _)) ! ( _, ( values::START_TD start_td, (start_tdleft as start_td1left), _)) ! rest671)) => { my
result = values::QQ_TABLECELL (htmlattrs::make_td (ctx start_tdleft, start_td, bodycontent));
( lr_table::NONTERM 37, ( result, start_td1left, end_td1right), rest671);
}
; ( 104, ( ( _, ( values::QQ_BODYCONTENT bodycontent, _, bodycontent1right)) ! ( _, ( values::START_TD start_td, (start_tdleft as start_td1left), _)) ! rest671)) => { my result =
values::QQ_TABLECELL (htmlattrs::make_td (ctx start_tdleft, start_td, bodycontent));
( lr_table::NONTERM 37, ( result, start_td1left, bodycontent1right), rest671);
}
; ( 105, ( ( _, ( values::QQ_TEXTLIST' textlist', textlist'1left, textlist'1right)) ! rest671)) => { my result = values::QQ_TEXTLIST (text_list_fn textlist');
( lr_table::NONTERM 38, (
result, textlist'1left, textlist'1right), rest671);
}
; ( 106, ( rest671)) => { my result = values::QQ_TEXTLIST' ([]);
( lr_table::NONTERM 39, ( result, default_position, default_position), rest671);
}
; ( 107, ( ( _, ( values::QQ_TEXTLIST' textlist', _, textlist'1right)) ! ( _, ( values::QQ_TEXT text, text1left, _)) ! rest671)) => { my result = values::QQ_TEXTLIST' (text ! textlist');
( lr_table::NONTERM 39, ( result, text1left, textlist'1right), rest671);
}
; ( 108, ( ( _, ( values::QQ_PCDATAELEM pcdataelem, pcdataelem1left, pcdataelem1right)) ! rest671)) => { my result = values::QQ_TEXTWOSCRIPT (has::PCDATA pcdataelem);
( lr_table::NONTERM 40,
( result, pcdataelem1left, pcdataelem1right), rest671);
}
; ( 109, ( ( _, ( values::QQ_FONT font, font1left, font1right)) ! rest671)) => { my result = values::QQ_TEXTWOSCRIPT (font);
( lr_table::NONTERM 40, ( result, font1left, font1right),
rest671);
}
; ( 110, ( ( _, ( values::QQ_PHRASE phrase, phrase1left, phrase1right)) ! rest671)) => { my result = values::QQ_TEXTWOSCRIPT (phrase);
( lr_table::NONTERM 40, ( result, phrase1left,
phrase1right), rest671);
}
; ( 111, ( ( _, ( values::QQ_SPECIAL special, special1left, special1right)) ! rest671)) => { my result = values::QQ_TEXTWOSCRIPT (special);
( lr_table::NONTERM 40, ( result, special1left,
special1right), rest671);
}
; ( 112, ( ( _, ( values::QQ_FORM form, form1left, form1right)) ! rest671)) => { my result = values::QQ_TEXTWOSCRIPT (form);
( lr_table::NONTERM 40, ( result, form1left, form1right),
rest671);
}
; ( 113, ( ( _, ( values::QQ_TEXTWOSCRIPT textwoscript, textwoscript1left, textwoscript1right)) ! rest671)) => { my result = values::QQ_TEXT (textwoscript);
( lr_table::NONTERM 41, ( result
, textwoscript1left, textwoscript1right), rest671);
}
; ( 114, ( ( _, ( _, _, end_script1right)) ! ( _, ( values::QQ_PCDATA pcdata, _, _)) ! ( _, ( _, start_script1left, _)) ! rest671)) => { my result = values::QQ_TEXT (has::SCRIPT pcdata
);
( lr_table::NONTERM 41, ( result, start_script1left, end_script1right), rest671);
}
; ( 115, ( ( _, ( _, _, end_tt1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( _, start_tt1left, _)) ! rest671)) => { my result = values::QQ_FONT (has::TT (textlist));
( lr_table::NONTERM 42, ( result, start_tt1left, end_tt1right), rest671);
}
; ( 116, ( ( _, ( _, _, end_i1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( _, start_i1left, _)) ! rest671)) => { my result = values::QQ_FONT (has::IX (textlist));
(
lr_table::NONTERM 42, ( result, start_i1left, end_i1right), rest671);
}
; ( 117, ( ( _, ( _, _, end_b1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( _, start_b1left, _)) ! rest671)) => { my result = values::QQ_FONT (has::BX (textlist));
(
lr_table::NONTERM 42, ( result, start_b1left, end_b1right), rest671);
}
; ( 118, ( ( _, ( _, _, end_u1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( _, start_u1left, _)) ! rest671)) => { my result = values::QQ_FONT (has::UX (textlist));
(
lr_table::NONTERM 42, ( result, start_u1left, end_u1right), rest671);
}
; ( 119, ( ( _, ( _, _, end_strike1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( _, start_strike1left, _)) ! rest671)) => { my result = values::QQ_FONT (
has::STRIKE (textlist));
( lr_table::NONTERM 42, ( result, start_strike1left, end_strike1right), rest671);
}
; ( 120, ( ( _, ( _, _, end_big1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( _, start_big1left, _)) ! rest671)) => { my result = values::QQ_FONT (has::BIG (textlist))
;
( lr_table::NONTERM 42, ( result, start_big1left, end_big1right), rest671);
}
; ( 121, ( ( _, ( _, _, end_small1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( _, start_small1left, _)) ! rest671)) => { my result = values::QQ_FONT (
has::SMALL (textlist));
( lr_table::NONTERM 42, ( result, start_small1left, end_small1right), rest671);
}
; ( 122, ( ( _, ( _, _, end_sub1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( _, start_sub1left, _)) ! rest671)) => { my result = values::QQ_FONT (has::SUB (textlist))
;
( lr_table::NONTERM 42, ( result, start_sub1left, end_sub1right), rest671);
}
; ( 123, ( ( _, ( _, _, end_sup1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( _, start_sup1left, _)) ! rest671)) => { my result = values::QQ_FONT (has::SUP (textlist))
;
( lr_table::NONTERM 42, ( result, start_sup1left, end_sup1right), rest671);
}
; ( 124, ( ( _, ( _, _, end_em1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( _, start_em1left, _)) ! rest671)) => { my result = values::QQ_PHRASE (has::EM (textlist))
;
( lr_table::NONTERM 43, ( result, start_em1left, end_em1right), rest671);
}
; ( 125, ( ( _, ( _, _, end_strong1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( _, start_strong1left, _)) ! rest671)) => { my result = values::QQ_PHRASE (
has::STRONG (textlist));
( lr_table::NONTERM 43, ( result, start_strong1left, end_strong1right), rest671);
}
; ( 126, ( ( _, ( _, _, end_code1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( _, start_code1left, _)) ! rest671)) => { my result = values::QQ_PHRASE (
has::CODE (textlist));
( lr_table::NONTERM 43, ( result, start_code1left, end_code1right), rest671);
}
; ( 127, ( ( _, ( _, _, end_dfn1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( _, start_dfn1left, _)) ! rest671)) => { my result = values::QQ_PHRASE (
has::DFN (textlist));
( lr_table::NONTERM 43, ( result, start_dfn1left, end_dfn1right), rest671);
}
; ( 128, ( ( _, ( _, _, end_samp1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( _, start_samp1left, _)) ! rest671)) => { my result = values::QQ_PHRASE (
has::SAMP (textlist));
( lr_table::NONTERM 43, ( result, start_samp1left, end_samp1right), rest671);
}
; ( 129, ( ( _, ( _, _, end_kbd1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( _, start_kbd1left, _)) ! rest671)) => { my result = values::QQ_PHRASE (
has::KBD (textlist));
( lr_table::NONTERM 43, ( result, start_kbd1left, end_kbd1right), rest671);
}
; ( 130, ( ( _, ( _, _, end_var1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( _, start_var1left, _)) ! rest671)) => { my result = values::QQ_PHRASE (
has::VAR (textlist));
( lr_table::NONTERM 43, ( result, start_var1left, end_var1right), rest671);
}
; ( 131, ( ( _, ( _, _, end_cite1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( _, start_cite1left, _)) ! rest671)) => { my result = values::QQ_PHRASE (
has::CITE (textlist));
( lr_table::NONTERM 43, ( result, start_cite1left, end_cite1right), rest671);
}
; ( 132, ( ( _, ( _, _, end_a1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( values::START_A start_a, (start_aleft as start_a1left), _)) ! rest671)) => { my result =
values::QQ_SPECIAL (htmlattrs::make_a (ctx start_aleft, start_a, textlist));
( lr_table::NONTERM 44, ( result, start_a1left, end_a1right), rest671);
}
; ( 133, ( ( _, ( values::TAG_IMG tag_img, (tag_imgleft as tag_img1left), tag_img1right)) ! rest671)) => { my result = values::QQ_SPECIAL (htmlattrs::make_img (ctx tag_imgleft, tag_img));
(
lr_table::NONTERM 44, ( result, tag_img1left, tag_img1right), rest671);
}
; ( 134, ( ( _, ( _, _, end_applet1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( values::START_APPLET start_applet, (start_appletleft as start_applet1left), _)) !
rest671)) => { my result = values::QQ_SPECIAL (htmlattrs::make_applet (ctx start_appletleft, start_applet, textlist));
( lr_table::NONTERM 44, ( result, start_applet1left, end_applet1right),
rest671);
}
; ( 135, ( ( _, ( _, _, end_font1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( values::START_FONT start_font, (start_fontleft as start_font1left), _)) ! rest671)) => {
my result = values::QQ_SPECIAL (htmlattrs::make_font (ctx start_fontleft, start_font, textlist));
( lr_table::NONTERM 44, ( result, start_font1left, end_font1right), rest671);
}
; ( 136, ( ( _, ( _, _, end_basefont1right)) ! ( _, ( values::QQ_TEXTLIST textlist, _, _)) ! ( _, ( values::START_BASEFONT start_basefont, (start_basefontleft as start_basefont1left), _))
! rest671)) => { my result = values::QQ_SPECIAL (htmlattrs::make_basefont(
ctx start_basefontleft, start_basefont, textlist)
);
( lr_table::NONTERM 44, ( result, start_basefont1left,
end_basefont1right), rest671);
}
; ( 137, ( ( _, ( values::TAG_BR tag_br, (tag_brleft as tag_br1left), tag_br1right)) ! rest671)) => { my result = values::QQ_SPECIAL (htmlattrs::make_br (ctx tag_brleft, tag_br));
(
lr_table::NONTERM 44, ( result, tag_br1left, tag_br1right), rest671);
}
; ( 138, ( ( _, ( _, _, end_map1right)) ! ( _, ( values::QQ_AREALIST arealist, _, _)) ! ( _, ( values::START_MAP start_map, (start_mapleft as start_map1left), _)) ! rest671)) => { my
result = values::QQ_SPECIAL (htmlattrs::make_map (ctx start_mapleft, start_map, arealist));
( lr_table::NONTERM 44, ( result, start_map1left, end_map1right), rest671);
}
; ( 139, ( ( _, ( values::TAG_PARAM tag_param, (tag_paramleft as tag_param1left), tag_param1right)) ! rest671)) => { my result = values::QQ_SPECIAL (
htmlattrs::make_param (ctx tag_paramleft, tag_param));
( lr_table::NONTERM 44, ( result, tag_param1left, tag_param1right), rest671);
}
; ( 140, ( rest671)) => { my result = values::QQ_AREALIST ([]);
( lr_table::NONTERM 45, ( result, default_position, default_position), rest671);
}
; ( 141, ( ( _, ( values::QQ_AREALIST arealist, _, arealist1right)) ! ( _, ( values::TAG_AREA tag_area, (tag_arealeft as tag_area1left), _)) ! rest671)) => { my result =
values::QQ_AREALIST (htmlattrs::make_area (ctx tag_arealeft, tag_area) ! arealist);
( lr_table::NONTERM 45, ( result, tag_area1left, arealist1right), rest671);
}
; ( 142, ( ( _, ( values::TAG_INPUT tag_input, (tag_inputleft as tag_input1left), tag_input1right)) ! rest671)) => { my result = values::QQ_FORM (
htmlattrs::make_input (ctx tag_inputleft, tag_input));
( lr_table::NONTERM 46, ( result, tag_input1left, tag_input1right), rest671);
}
; ( 143, ( ( _, ( _, _, end_select1right)) ! ( _, ( values::QQ_OPTIONLIST optionlist, _, _)) ! ( _, ( values::START_SELECT start_select, (start_selectleft as start_select1left), _)) !
rest671)) => { my result = values::QQ_FORM (htmlattrs::make_select (ctx start_selectleft, start_select, optionlist));
( lr_table::NONTERM 46, ( result, start_select1left, end_select1right),
rest671);
}
; ( 144, ( ( _, ( _, _, end_textarea1right)) ! ( _, ( values::QQ_PCDATA pcdata, _, _)) ! ( _, ( values::START_TEXTAREA start_textarea, (start_textarealeft as start_textarea1left), _)) !
rest671)) => { my result = values::QQ_FORM (htmlattrs::make_textarea(
ctx start_textarealeft, start_textarea,
pcdata)
);
( lr_table::NONTERM 46, ( result, start_textarea1left,
end_textarea1right), rest671);
}
; ( 145, ( rest671)) => { my result = values::QQ_OPTIONLIST ([]);
( lr_table::NONTERM 47, ( result, default_position, default_position), rest671);
}
; ( 146, ( ( _, ( values::QQ_OPTIONLIST optionlist, _, optionlist1right)) ! _ ! ( _, ( values::QQ_PCDATA pcdata, _, _)) ! ( _, ( values::START_OPTION start_option, (start_optionleft as
start_option1left), _)) ! rest671)) => { my result = values::QQ_OPTIONLIST (htmlattrs::make_option (ctx start_optionleft, start_option, pcdata)
! optionlist
);
( lr_table::NONTERM 47, (
result, start_option1left, optionlist1right), rest671);
}
; ( 147, ( rest671)) => { my result = values::NT_VOID ();
( lr_table::NONTERM 48, ( result, default_position, default_position), rest671);
}
; ( 148, ( ( _, ( _, end_option1left, end_option1right)) ! rest671)) => { my result = values::NT_VOID ();
( lr_table::NONTERM 48, ( result, end_option1left, end_option1right), rest671)
;
}
; ( 149, ( ( _, ( values::QQ_PCDATALIST pcdatalist, pcdatalist1left, pcdatalist1right)) ! rest671)) => { my result = values::QQ_PCDATA (cat pcdatalist);
( lr_table::NONTERM 49, ( result,
pcdatalist1left, pcdatalist1right), rest671);
}
; ( 150, ( rest671)) => { my result = values::QQ_PCDATALIST ([]);
( lr_table::NONTERM 50, ( result, default_position, default_position), rest671);
}
; ( 151, ( ( _, ( values::QQ_PCDATALIST pcdatalist, _, pcdatalist1right)) ! ( _, ( values::QQ_PCDATAELEM pcdataelem, pcdataelem1left, _)) ! rest671)) => { my result = values::QQ_PCDATALIST
(pcdataelem ! pcdatalist);
( lr_table::NONTERM 50, ( result, pcdataelem1left, pcdatalist1right), rest671);
}
; ( 152, ( ( _, ( values::PCDATA pcdata, pcdata1left, pcdata1right)) ! rest671)) => { my result = values::QQ_PCDATAELEM (pcdata);
( lr_table::NONTERM 51, ( result, pcdata1left,
pcdata1right), rest671);
}
; ( 153, ( ( _, ( values::CHAR_REF char_ref, char_ref1left, char_ref1right)) ! rest671)) => { my result = values::QQ_PCDATAELEM (char_ref);
( lr_table::NONTERM 51, ( result, char_ref1left,
char_ref1right), rest671);
}
; ( 154, ( ( _, ( values::ENTITY_REF entity_ref, entity_ref1left, entity_ref1right)) ! rest671)) => { my result = values::QQ_PCDATAELEM (entity_ref);
( lr_table::NONTERM 51, ( result,
entity_ref1left, entity_ref1right), rest671);
}
; _ => raise exception (MLY_ACTION i392);
esac;
end;
void = values::TM_VOID;
extract = \\ a = (\\ values::QQ_DOCUMENT x => x;
_ => { exception PARSE_INTERNAL;
raise exception PARSE_INTERNAL; }; end ) a ;
};
};
package tokens : (weak) Html_Tokens {
Semantic_Value = parser_data::Semantic_Value;
Token (X,Y) = token::Token(X,Y);
fun eof (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 0, (parser_data::values::TM_VOID, p1, p2));
fun start_a (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 1, (parser_data::values::START_A i, p1, p2));
fun end_a (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 2, (parser_data::values::TM_VOID, p1, p2));
fun start_address (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 3, (parser_data::values::TM_VOID, p1, p2));
fun end_address (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 4, (parser_data::values::TM_VOID, p1, p2));
fun start_applet (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 5, (parser_data::values::START_APPLET i, p1, p2));
fun end_applet (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 6, (parser_data::values::TM_VOID, p1, p2));
fun tag_area (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 7, (parser_data::values::TAG_AREA i, p1, p2));
fun start_b (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 8, (parser_data::values::TM_VOID, p1, p2));
fun end_b (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 9, (parser_data::values::TM_VOID, p1, p2));
fun tag_base (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 10, (parser_data::values::TAG_BASE i, p1, p2));
fun start_big (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 11, (parser_data::values::TM_VOID, p1, p2));
fun end_big (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 12, (parser_data::values::TM_VOID, p1, p2));
fun start_blockquote (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 13, (parser_data::values::TM_VOID, p1, p2));
fun end_blockquote (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 14, (parser_data::values::TM_VOID, p1, p2));
fun start_body (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 15, (parser_data::values::START_BODY i, p1, p2));
fun end_body (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 16, (parser_data::values::TM_VOID, p1, p2));
fun tag_br (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 17, (parser_data::values::TAG_BR i, p1, p2));
fun start_caption (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 18, (parser_data::values::START_CAPTION i, p1, p2));
fun end_caption (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 19, (parser_data::values::TM_VOID, p1, p2));
fun start_center (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 20, (parser_data::values::TM_VOID, p1, p2));
fun end_center (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 21, (parser_data::values::TM_VOID, p1, p2));
fun start_cite (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 22, (parser_data::values::TM_VOID, p1, p2));
fun end_cite (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 23, (parser_data::values::TM_VOID, p1, p2));
fun start_code (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 24, (parser_data::values::TM_VOID, p1, p2));
fun end_code (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 25, (parser_data::values::TM_VOID, p1, p2));
fun start_dd (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 26, (parser_data::values::TM_VOID, p1, p2));
fun end_dd (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 27, (parser_data::values::TM_VOID, p1, p2));
fun start_dfn (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 28, (parser_data::values::TM_VOID, p1, p2));
fun end_dfn (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 29, (parser_data::values::TM_VOID, p1, p2));
fun start_dir (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 30, (parser_data::values::START_DIR i, p1, p2));
fun end_dir (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 31, (parser_data::values::TM_VOID, p1, p2));
fun start_div (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 32, (parser_data::values::START_DIV i, p1, p2));
fun end_div (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 33, (parser_data::values::TM_VOID, p1, p2));
fun start_dl (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 34, (parser_data::values::START_DL i, p1, p2));
fun end_dl (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 35, (parser_data::values::TM_VOID, p1, p2));
fun start_dt (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 36, (parser_data::values::TM_VOID, p1, p2));
fun end_dt (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 37, (parser_data::values::TM_VOID, p1, p2));
fun start_em (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 38, (parser_data::values::TM_VOID, p1, p2));
fun end_em (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 39, (parser_data::values::TM_VOID, p1, p2));
fun start_font (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 40, (parser_data::values::START_FONT i, p1, p2));
fun end_font (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 41, (parser_data::values::TM_VOID, p1, p2));
fun start_basefont (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 42, (parser_data::values::START_BASEFONT i, p1, p2));
fun end_basefont (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 43, (parser_data::values::TM_VOID, p1, p2));
fun start_form (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 44, (parser_data::values::START_FORM i, p1, p2));
fun end_form (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 45, (parser_data::values::TM_VOID, p1, p2));
fun start_h1 (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 46, (parser_data::values::START_H1 i, p1, p2));
fun end_h1 (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 47, (parser_data::values::TM_VOID, p1, p2));
fun start_h2 (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 48, (parser_data::values::START_H2 i, p1, p2));
fun end_h2 (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 49, (parser_data::values::TM_VOID, p1, p2));
fun start_h3 (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 50, (parser_data::values::START_H3 i, p1, p2));
fun end_h3 (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 51, (parser_data::values::TM_VOID, p1, p2));
fun start_h4 (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 52, (parser_data::values::START_H4 i, p1, p2));
fun end_h4 (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 53, (parser_data::values::TM_VOID, p1, p2));
fun start_h5 (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 54, (parser_data::values::START_H5 i, p1, p2));
fun end_h5 (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 55, (parser_data::values::TM_VOID, p1, p2));
fun start_h6 (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 56, (parser_data::values::START_H6 i, p1, p2));
fun end_h6 (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 57, (parser_data::values::TM_VOID, p1, p2));
fun start_head (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 58, (parser_data::values::TM_VOID, p1, p2));
fun end_head (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 59, (parser_data::values::TM_VOID, p1, p2));
fun tag_hr (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 60, (parser_data::values::TAG_HR i, p1, p2));
fun start_html (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 61, (parser_data::values::TM_VOID, p1, p2));
fun end_html (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 62, (parser_data::values::TM_VOID, p1, p2));
fun start_i (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 63, (parser_data::values::TM_VOID, p1, p2));
fun end_i (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 64, (parser_data::values::TM_VOID, p1, p2));
fun tag_img (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 65, (parser_data::values::TAG_IMG i, p1, p2));
fun tag_input (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 66, (parser_data::values::TAG_INPUT i, p1, p2));
fun tag_isindex (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 67, (parser_data::values::TAG_ISINDEX i, p1, p2));
fun start_kbd (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 68, (parser_data::values::TM_VOID, p1, p2));
fun end_kbd (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 69, (parser_data::values::TM_VOID, p1, p2));
fun start_li (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 70, (parser_data::values::START_LI i, p1, p2));
fun end_li (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 71, (parser_data::values::TM_VOID, p1, p2));
fun tag_link (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 72, (parser_data::values::TAG_LINK i, p1, p2));
fun start_map (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 73, (parser_data::values::START_MAP i, p1, p2));
fun end_map (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 74, (parser_data::values::TM_VOID, p1, p2));
fun start_menu (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 75, (parser_data::values::START_MENU i, p1, p2));
fun end_menu (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 76, (parser_data::values::TM_VOID, p1, p2));
fun tag_meta (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 77, (parser_data::values::TAG_META i, p1, p2));
fun start_ol (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 78, (parser_data::values::START_OL i, p1, p2));
fun end_ol (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 79, (parser_data::values::TM_VOID, p1, p2));
fun start_option (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 80, (parser_data::values::START_OPTION i, p1, p2));
fun end_option (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 81, (parser_data::values::TM_VOID, p1, p2));
fun start_p (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 82, (parser_data::values::START_P i, p1, p2));
fun end_p (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 83, (parser_data::values::TM_VOID, p1, p2));
fun tag_param (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 84, (parser_data::values::TAG_PARAM i, p1, p2));
fun start_pre (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 85, (parser_data::values::START_PRE i, p1, p2));
fun end_pre (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 86, (parser_data::values::TM_VOID, p1, p2));
fun start_samp (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 87, (parser_data::values::TM_VOID, p1, p2));
fun end_samp (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 88, (parser_data::values::TM_VOID, p1, p2));
fun start_script (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 89, (parser_data::values::TM_VOID, p1, p2));
fun end_script (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 90, (parser_data::values::TM_VOID, p1, p2));
fun start_select (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 91, (parser_data::values::START_SELECT i, p1, p2));
fun end_select (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 92, (parser_data::values::TM_VOID, p1, p2));
fun start_small (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 93, (parser_data::values::TM_VOID, p1, p2));
fun end_small (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 94, (parser_data::values::TM_VOID, p1, p2));
fun start_strike (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 95, (parser_data::values::TM_VOID, p1, p2));
fun end_strike (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 96, (parser_data::values::TM_VOID, p1, p2));
fun start_strong (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 97, (parser_data::values::TM_VOID, p1, p2));
fun end_strong (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 98, (parser_data::values::TM_VOID, p1, p2));
fun start_style (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 99, (parser_data::values::TM_VOID, p1, p2));
fun end_style (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 100, (parser_data::values::TM_VOID, p1, p2));
fun start_sub (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 101, (parser_data::values::TM_VOID, p1, p2));
fun end_sub (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 102, (parser_data::values::TM_VOID, p1, p2));
fun start_sup (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 103, (parser_data::values::TM_VOID, p1, p2));
fun end_sup (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 104, (parser_data::values::TM_VOID, p1, p2));
fun start_table (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 105, (parser_data::values::START_TABLE i, p1, p2));
fun end_table (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 106, (parser_data::values::TM_VOID, p1, p2));
fun start_td (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 107, (parser_data::values::START_TD i, p1, p2));
fun end_td (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 108, (parser_data::values::TM_VOID, p1, p2));
fun start_textarea (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 109, (parser_data::values::START_TEXTAREA i, p1, p2));
fun end_textarea (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 110, (parser_data::values::TM_VOID, p1, p2));
fun start_th (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 111, (parser_data::values::START_TH i, p1, p2));
fun end_th (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 112, (parser_data::values::TM_VOID, p1, p2));
fun start_title (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 113, (parser_data::values::TM_VOID, p1, p2));
fun end_title (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 114, (parser_data::values::TM_VOID, p1, p2));
fun start_tr (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 115, (parser_data::values::START_TR i, p1, p2));
fun end_tr (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 116, (parser_data::values::TM_VOID, p1, p2));
fun start_tt (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 117, (parser_data::values::TM_VOID, p1, p2));
fun end_tt (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 118, (parser_data::values::TM_VOID, p1, p2));
fun start_u (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 119, (parser_data::values::TM_VOID, p1, p2));
fun end_u (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 120, (parser_data::values::TM_VOID, p1, p2));
fun start_ul (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 121, (parser_data::values::START_UL i, p1, p2));
fun end_ul (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 122, (parser_data::values::TM_VOID, p1, p2));
fun start_var (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 123, (parser_data::values::TM_VOID, p1, p2));
fun end_var (p1, p2) = token::TOKEN (parser_data::lr_table::TERM 124, (parser_data::values::TM_VOID, p1, p2));
fun pcdata (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 125, (parser_data::values::PCDATA i, p1, p2));
fun char_ref (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 126, (parser_data::values::CHAR_REF i, p1, p2));
fun entity_ref (i, p1, p2) = token::TOKEN (parser_data::lr_table::TERM 127, (parser_data::values::ENTITY_REF i, p1, p2));
};
};