


# 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.
fun text_list_fn [text] => text;
text_list_fn l => html::TEXT_LIST l;
end;
fun block_list_fn [blk] => blk;
block_list_fn l => html::BLOCK_LIST l;
end;
fun textablock l
=
html::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 html::Text
| DL_ITEM html::Block;
fun group_def_list_contents []
=>
[];
group_def_list_contents (h ! t)
=>
{ fun gdlc (DL_TAG tag, [])
=>
( { dt=> [tag], dd=>html::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( html::Text )
| BL_BLOCK List( html::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 = html::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 lr_table; herein
my table={ action_rows =
"\
\\001\000\001\000\000\000\000\000\
\\001\000\002\000\081\000\004\000\080\000\006\000\079\000\009\000\078\000\
\\012\000\077\000\014\000\076\000\016\000\075\000\018\000\074\000\
\\021\000\073\000\023\000\072\000\025\000\071\000\029\000\070\000\
\\031\000\069\000\033\000\068\000\035\000\067\000\039\000\066\000\
\\041\000\065\000\043\000\064\000\045\000\063\000\047\000\062\000\
\\049\000\061\000\051\000\060\000\053\000\059\000\055\000\058\000\
\\057\000\057\000\061\000\056\000\064\000\055\000\066\000\054\000\
\\067\000\053\000\069\000\052\000\074\000\051\000\076\000\050\000\
\\079\000\049\000\083\000\048\000\085\000\047\000\086\000\046\000\
\\088\000\045\000\092\000\044\000\094\000\043\000\096\000\042\000\
\\098\000\041\000\102\000\040\000\104\000\039\000\106\000\038\000\
\\110\000\037\000\118\000\036\000\120\000\035\000\122\000\034\000\
\\124\000\033\000\126\000\032\000\127\000\031\000\128\000\030\000\000\000\
\\001\000\003\000\241\000\000\000\
\\001\000\005\000\240\000\000\000\
\\001\000\007\000\235\000\000\000\
\\001\000\010\000\234\000\000\000\
\\001\000\013\000\233\000\000\000\
\\001\000\015\000\232\000\000\000\
\\001\000\020\000\004\001\000\000\
\\001\000\022\000\231\000\000\000\
\\001\000\024\000\230\000\000\000\
\\001\000\026\000\229\000\000\000\
\\001\000\030\000\228\000\000\000\
\\001\000\032\000\227\000\000\000\
\\001\000\034\000\226\000\000\000\
\\001\000\036\000\223\000\000\000\
\\001\000\040\000\221\000\000\000\
\\001\000\042\000\220\000\000\000\
\\001\000\044\000\219\000\000\000\
\\001\000\046\000\218\000\000\000\
\\001\000\048\000\217\000\000\000\
\\001\000\050\000\216\000\000\000\
\\001\000\052\000\215\000\000\000\
\\001\000\054\000\214\000\000\000\
\\001\000\056\000\213\000\000\000\
\\001\000\058\000\212\000\000\000\
\\001\000\065\000\211\000\000\000\
\\001\000\070\000\210\000\000\000\
\\001\000\075\000\208\000\000\000\
\\001\000\077\000\207\000\000\000\
\\001\000\080\000\206\000\000\000\
\\001\000\087\000\205\000\000\000\
\\001\000\089\000\204\000\000\000\
\\001\000\091\000\170\000\000\000\
\\001\000\091\000\244\000\000\000\
\\001\000\093\000\202\000\000\000\
\\001\000\095\000\201\000\000\000\
\\001\000\097\000\200\000\000\000\
\\001\000\099\000\199\000\000\000\
\\001\000\101\000\169\000\000\000\
\\001\000\103\000\198\000\000\000\
\\001\000\105\000\197\000\000\000\
\\001\000\107\000\255\000\000\000\
\\001\000\108\000\003\001\112\000\002\001\000\000\
\\001\000\111\000\192\000\000\000\
\\001\000\114\000\083\000\000\000\
\\001\000\115\000\242\000\000\000\
\\001\000\116\000\195\000\000\000\
\\001\000\119\000\191\000\000\000\
\\001\000\121\000\190\000\000\000\
\\001\000\123\000\185\000\000\000\
\\001\000\125\000\183\000\000\000\
\\029\001\000\000\
\\030\001\062\000\004\000\000\000\
\\031\001\000\000\
\\032\001\063\000\109\000\000\000\
\\033\001\000\000\
\\034\001\000\000\
\\035\001\059\000\007\000\000\000\
\\036\001\000\000\
\\037\001\060\000\085\000\000\000\
\\038\001\000\000\
\\039\001\000\000\
\\040\001\011\000\016\000\068\000\015\000\073\000\014\000\078\000\013\000\
\\090\000\012\000\100\000\011\000\000\000\
\\041\001\000\000\
\\042\001\000\000\
\\043\001\000\000\
\\044\001\000\000\
\\045\001\000\000\
\\046\001\000\000\
\\047\001\000\000\
\\048\001\000\000\
\\049\001\017\000\107\000\000\000\
\\050\001\000\000\
\\051\001\000\000\
\\052\001\000\000\
\\053\001\000\000\
\\054\001\000\000\
\\055\001\000\000\
\\056\001\000\000\
\\057\001\000\000\
\\058\001\002\000\081\000\004\000\080\000\006\000\079\000\009\000\078\000\
\\012\000\077\000\014\000\076\000\018\000\074\000\021\000\073\000\
\\023\000\072\000\025\000\071\000\029\000\070\000\031\000\069\000\
\\033\000\068\000\035\000\067\000\039\000\066\000\041\000\065\000\
\\043\000\064\000\045\000\063\000\047\000\062\000\049\000\061\000\
\\051\000\060\000\053\000\059\000\055\000\058\000\057\000\057\000\
\\061\000\056\000\064\000\055\000\066\000\054\000\067\000\053\000\
\\068\000\098\000\069\000\052\000\074\000\051\000\076\000\050\000\
\\079\000\049\000\083\000\048\000\085\000\047\000\086\000\046\000\
\\088\000\045\000\090\000\097\000\092\000\044\000\094\000\043\000\
\\096\000\042\000\098\000\041\000\102\000\040\000\104\000\039\000\
\\106\000\038\000\110\000\037\000\118\000\036\000\120\000\035\000\
\\122\000\034\000\124\000\033\000\126\000\032\000\127\000\031\000\
\\128\000\030\000\000\000\
\\059\001\000\000\
\\060\001\000\000\
\\061\001\000\000\
\\062\001\000\000\
\\063\001\000\000\
\\064\001\004\000\080\000\014\000\076\000\021\000\073\000\031\000\069\000\
\\033\000\068\000\035\000\067\000\045\000\063\000\047\000\062\000\
\\049\000\061\000\051\000\060\000\053\000\059\000\055\000\058\000\
\\057\000\057\000\061\000\056\000\068\000\098\000\076\000\050\000\
\\079\000\049\000\083\000\048\000\084\000\103\000\086\000\046\000\
\\106\000\038\000\122\000\034\000\000\000\
\\064\001\004\000\080\000\014\000\076\000\021\000\073\000\031\000\069\000\
\\033\000\068\000\035\000\067\000\045\000\063\000\047\000\062\000\
\\049\000\061\000\051\000\060\000\053\000\059\000\055\000\058\000\
\\057\000\057\000\061\000\056\000\068\000\098\000\076\000\050\000\
\\079\000\049\000\083\000\048\000\084\000\173\000\086\000\046\000\
\\106\000\038\000\122\000\034\000\000\000\
\\064\001\004\000\080\000\014\000\076\000\021\000\073\000\031\000\069\000\
\\033\000\068\000\035\000\067\000\045\000\063\000\047\000\062\000\
\\049\000\061\000\051\000\060\000\053\000\059\000\055\000\058\000\
\\057\000\057\000\061\000\056\000\068\000\098\000\076\000\050\000\
\\079\000\049\000\083\000\048\000\084\000\178\000\086\000\046\000\
\\106\000\038\000\122\000\034\000\000\000\
\\065\001\000\000\
\\066\001\000\000\
\\067\001\000\000\
\\068\001\000\000\
\\069\001\000\000\
\\070\001\000\000\
\\071\001\000\000\
\\072\001\000\000\
\\073\001\000\000\
\\074\001\000\000\
\\075\001\000\000\
\\076\001\002\000\081\000\006\000\079\000\009\000\078\000\012\000\077\000\
\\018\000\074\000\023\000\072\000\025\000\071\000\029\000\070\000\
\\039\000\066\000\041\000\065\000\043\000\064\000\064\000\055\000\
\\066\000\054\000\067\000\053\000\069\000\052\000\074\000\051\000\
\\083\000\048\000\085\000\047\000\088\000\045\000\090\000\097\000\
\\092\000\044\000\094\000\043\000\096\000\042\000\098\000\041\000\
\\102\000\040\000\104\000\039\000\110\000\037\000\118\000\036\000\
\\120\000\035\000\124\000\033\000\126\000\032\000\127\000\031\000\
\\128\000\030\000\000\000\
\\077\001\000\000\
\\078\001\000\000\
\\079\001\000\000\
\\080\001\083\000\048\000\084\000\239\000\000\000\
\\080\001\083\000\048\000\084\000\012\001\000\000\
\\081\001\000\000\
\\082\001\000\000\
\\083\001\000\000\
\\084\001\000\000\
\\085\001\000\000\
\\086\001\000\000\
\\087\001\000\000\
\\088\001\000\000\
\\089\001\000\000\
\\090\001\000\000\
\\091\001\000\000\
\\092\001\000\000\
\\093\001\000\000\
\\094\001\000\000\
\\095\001\000\000\
\\096\001\000\000\
\\097\001\000\000\
\\098\001\000\000\
\\099\001\071\000\115\000\000\000\
\\100\001\000\000\
\\101\001\000\000\
\\102\001\027\000\151\000\037\000\150\000\000\000\
\\103\001\000\000\
\\104\001\000\000\
\\105\001\000\000\
\\106\001\002\000\081\000\006\000\079\000\009\000\078\000\012\000\077\000\
\\014\000\076\000\018\000\074\000\021\000\073\000\023\000\072\000\
\\025\000\071\000\029\000\070\000\031\000\069\000\033\000\068\000\
\\035\000\067\000\039\000\066\000\041\000\065\000\043\000\064\000\
\\045\000\063\000\061\000\056\000\064\000\055\000\066\000\054\000\
\\067\000\053\000\068\000\098\000\069\000\052\000\074\000\051\000\
\\076\000\050\000\079\000\049\000\083\000\048\000\085\000\047\000\
\\086\000\046\000\088\000\045\000\090\000\097\000\092\000\044\000\
\\094\000\043\000\096\000\042\000\098\000\041\000\102\000\040\000\
\\104\000\039\000\106\000\038\000\110\000\037\000\118\000\036\000\
\\120\000\035\000\122\000\034\000\124\000\033\000\126\000\032\000\
\\127\000\031\000\128\000\030\000\000\000\
\\107\001\000\000\
\\108\001\000\000\
\\109\001\000\000\
\\110\001\000\000\
\\111\001\014\000\076\000\021\000\073\000\031\000\069\000\033\000\068\000\
\\035\000\067\000\045\000\063\000\061\000\056\000\068\000\098\000\
\\076\000\050\000\079\000\049\000\083\000\048\000\084\000\252\000\
\\086\000\046\000\106\000\038\000\122\000\034\000\000\000\
\\111\001\014\000\076\000\021\000\073\000\031\000\069\000\033\000\068\000\
\\035\000\067\000\045\000\063\000\061\000\056\000\068\000\098\000\
\\076\000\050\000\079\000\049\000\083\000\048\000\084\000\016\001\
\\086\000\046\000\106\000\038\000\122\000\034\000\000\000\
\\112\001\000\000\
\\113\001\000\000\
\\114\001\000\000\
\\115\001\072\000\248\000\000\000\
\\116\001\000\000\
\\117\001\038\000\008\001\000\000\
\\118\001\000\000\
\\119\001\028\000\010\001\000\000\
\\120\001\000\000\
\\121\001\000\000\
\\122\001\019\000\120\000\000\000\
\\123\001\000\000\
\\124\001\116\000\195\000\000\000\
\\125\001\000\000\
\\126\001\117\000\020\001\000\000\
\\127\001\000\000\
\\128\001\108\000\003\001\112\000\002\001\000\000\
\\129\001\000\000\
\\130\001\000\000\
\\131\001\113\000\026\001\000\000\
\\132\001\000\000\
\\133\001\109\000\027\001\000\000\
\\134\001\000\000\
\\135\001\002\000\081\000\006\000\079\000\009\000\078\000\012\000\077\000\
\\018\000\074\000\023\000\072\000\025\000\071\000\029\000\070\000\
\\039\000\066\000\041\000\065\000\043\000\064\000\064\000\055\000\
\\066\000\054\000\067\000\053\000\069\000\052\000\074\000\051\000\
\\085\000\047\000\088\000\045\000\090\000\097\000\092\000\044\000\
\\094\000\043\000\096\000\042\000\098\000\041\000\102\000\040\000\
\\104\000\039\000\110\000\037\000\118\000\036\000\120\000\035\000\
\\124\000\033\000\126\000\032\000\127\000\031\000\128\000\030\000\000\000\
\\136\001\000\000\
\\137\001\000\000\
\\138\001\000\000\
\\139\001\000\000\
\\140\001\000\000\
\\141\001\000\000\
\\142\001\000\000\
\\143\001\000\000\
\\144\001\000\000\
\\145\001\000\000\
\\146\001\000\000\
\\147\001\000\000\
\\148\001\000\000\
\\149\001\000\000\
\\150\001\000\000\
\\151\001\000\000\
\\152\001\000\000\
\\153\001\000\000\
\\154\001\000\000\
\\155\001\000\000\
\\156\001\000\000\
\\157\001\000\000\
\\158\001\000\000\
\\159\001\000\000\
\\160\001\000\000\
\\161\001\000\000\
\\162\001\000\000\
\\163\001\000\000\
\\164\001\000\000\
\\165\001\000\000\
\\166\001\000\000\
\\167\001\000\000\
\\168\001\000\000\
\\169\001\008\000\134\000\000\000\
\\170\001\000\000\
\\171\001\000\000\
\\172\001\000\000\
\\173\001\000\000\
\\174\001\081\000\127\000\000\000\
\\175\001\000\000\
\\176\001\082\000\006\001\000\000\
\\177\001\000\000\
\\178\001\000\000\
\\179\001\126\000\032\000\127\000\031\000\128\000\030\000\000\000\
\\180\001\000\000\
\\181\001\000\000\
\\182\001\000\000\
\\183\001\000\000\
\";
action_row_numbers =
"\053\000\058\000\054\000\063\000\
\\001\000\059\000\063\000\045\000\
\\060\000\206\000\206\000\065\000\
\\066\000\067\000\068\000\164\000\
\\168\000\167\000\166\000\165\000\
\\081\000\110\000\109\000\087\000\
\\081\000\081\000\072\000\055\000\
\\210\000\209\000\208\000\162\000\
\\125\000\162\000\162\000\206\000\
\\149\000\162\000\162\000\162\000\
\\162\000\162\000\201\000\162\000\
\\162\000\195\000\162\000\125\000\
\\125\000\196\000\162\000\198\000\
\\189\000\162\000\115\000\162\000\
\\162\000\162\000\162\000\162\000\
\\162\000\081\000\162\000\162\000\
\\162\000\128\000\081\000\125\000\
\\162\000\162\000\162\000\081\000\
\\193\000\081\000\081\000\162\000\
\\162\000\162\000\101\000\162\000\
\\064\000\206\000\057\000\061\000\
\\206\000\205\000\039\000\033\000\
\\081\000\169\000\088\000\081\000\
\\117\000\081\000\076\000\206\000\
\\118\000\089\000\081\000\081\000\
\\080\000\081\000\078\000\077\000\
\\071\000\073\000\052\000\056\000\
\\162\000\161\000\051\000\125\000\
\\050\000\132\000\049\000\048\000\
\\044\000\047\000\162\000\041\000\
\\040\000\038\000\037\000\036\000\
\\035\000\206\000\032\000\031\000\
\\119\000\030\000\029\000\028\000\
\\196\000\027\000\026\000\025\000\
\\024\000\023\000\022\000\021\000\
\\020\000\074\000\019\000\018\000\
\\017\000\016\000\128\000\015\000\
\\162\000\132\000\014\000\013\000\
\\012\000\011\000\010\000\009\000\
\\075\000\007\000\006\000\005\000\
\\004\000\101\000\105\000\003\000\
\\002\000\046\000\207\000\069\000\
\\070\000\082\000\086\000\081\000\
\\084\000\083\000\034\000\093\000\
\\081\000\091\000\090\000\079\000\
\\163\000\186\000\126\000\120\000\
\\132\000\142\000\137\000\132\000\
\\174\000\171\000\200\000\151\000\
\\042\000\043\000\008\000\179\000\
\\178\000\181\000\175\000\177\000\
\\199\000\203\000\184\000\148\000\
\\121\000\123\000\194\000\197\000\
\\185\000\172\000\099\000\098\000\
\\097\000\096\000\095\000\094\000\
\\114\000\192\000\191\000\180\000\
\\129\000\124\000\144\000\146\000\
\\111\000\122\000\183\000\182\000\
\\187\000\112\000\113\000\176\000\
\\173\000\190\000\102\000\106\000\
\\104\000\101\000\100\000\188\000\
\\063\000\085\000\170\000\092\000\
\\133\000\127\000\143\000\136\000\
\\138\000\132\000\132\000\134\000\
\\152\000\116\000\155\000\153\000\
\\081\000\081\000\150\000\201\000\
\\204\000\130\000\145\000\131\000\
\\147\000\108\000\101\000\103\000\
\\062\000\141\000\132\000\139\000\
\\135\000\156\000\154\000\158\000\
\\160\000\202\000\107\000\140\000\
\\157\000\159\000\000\000";
goto_table =
"\
\\001\000\026\001\002\000\001\000\000\000\
\\004\000\004\000\005\000\003\000\000\000\
\\000\000\
\\007\000\008\000\008\000\007\000\009\000\006\000\000\000\
\\010\000\027\000\014\000\026\000\017\000\025\000\020\000\024\000\
\\022\000\023\000\023\000\022\000\033\000\021\000\041\000\020\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\000\000\
\\008\000\080\000\009\000\006\000\000\000\
\\000\000\
\\006\000\082\000\000\000\
\\050\000\086\000\051\000\085\000\052\000\084\000\000\000\
\\050\000\087\000\051\000\085\000\052\000\084\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\015\000\094\000\017\000\093\000\020\000\092\000\021\000\091\000\
\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
\\047\000\016\000\052\000\015\000\000\000\
\\000\000\
\\000\000\
\\016\000\100\000\017\000\099\000\020\000\092\000\021\000\098\000\
\\022\000\097\000\023\000\022\000\033\000\021\000\000\000\
\\015\000\102\000\017\000\093\000\020\000\092\000\021\000\091\000\
\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
\\047\000\016\000\052\000\015\000\000\000\
\\015\000\103\000\017\000\093\000\020\000\092\000\021\000\091\000\
\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
\\047\000\016\000\052\000\015\000\000\000\
\\012\000\104\000\000\000\
\\003\000\106\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\039\000\110\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\024\000\112\000\025\000\111\000\000\000\
\\039\000\114\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\039\000\115\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\050\000\116\000\051\000\085\000\052\000\084\000\000\000\
\\034\000\117\000\000\000\
\\039\000\119\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\039\000\120\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\039\000\121\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\039\000\122\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\039\000\123\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\048\000\124\000\000\000\
\\039\000\126\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\039\000\127\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\000\000\
\\039\000\128\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\024\000\129\000\025\000\111\000\000\000\
\\024\000\130\000\025\000\111\000\000\000\
\\046\000\131\000\000\000\
\\039\000\133\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\000\000\
\\000\000\
\\039\000\134\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\000\000\
\\039\000\135\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\039\000\136\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\039\000\137\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\039\000\138\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\039\000\139\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\039\000\140\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\013\000\142\000\015\000\141\000\017\000\093\000\020\000\092\000\
\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
\\039\000\143\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\039\000\144\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\039\000\145\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\026\000\147\000\027\000\146\000\000\000\
\\013\000\150\000\015\000\141\000\017\000\093\000\020\000\092\000\
\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
\\024\000\151\000\025\000\111\000\000\000\
\\039\000\152\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\039\000\153\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\039\000\154\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\013\000\155\000\015\000\141\000\017\000\093\000\020\000\092\000\
\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
\\000\000\
\\013\000\156\000\015\000\141\000\017\000\093\000\020\000\092\000\
\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
\\013\000\157\000\015\000\141\000\017\000\093\000\020\000\092\000\
\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
\\039\000\158\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\039\000\159\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\039\000\160\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\018\000\163\000\022\000\162\000\041\000\089\000\042\000\161\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\039\000\164\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\000\000\
\\050\000\165\000\051\000\085\000\052\000\084\000\000\000\
\\000\000\
\\000\000\
\\051\000\166\000\052\000\084\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\015\000\169\000\017\000\093\000\020\000\092\000\021\000\091\000\
\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
\\047\000\016\000\052\000\015\000\000\000\
\\000\000\
\\016\000\170\000\017\000\099\000\020\000\092\000\021\000\098\000\
\\022\000\097\000\023\000\022\000\033\000\021\000\000\000\
\\015\000\172\000\017\000\093\000\020\000\092\000\021\000\091\000\
\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
\\047\000\016\000\052\000\015\000\000\000\
\\000\000\
\\015\000\173\000\017\000\093\000\020\000\092\000\021\000\091\000\
\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
\\047\000\016\000\052\000\015\000\000\000\
\\000\000\
\\050\000\174\000\051\000\085\000\052\000\084\000\000\000\
\\000\000\
\\016\000\175\000\017\000\099\000\020\000\092\000\021\000\098\000\
\\022\000\097\000\023\000\022\000\033\000\021\000\000\000\
\\015\000\177\000\017\000\093\000\020\000\092\000\021\000\091\000\
\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
\\047\000\016\000\052\000\015\000\000\000\
\\015\000\178\000\017\000\093\000\020\000\092\000\021\000\091\000\
\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
\\047\000\016\000\052\000\015\000\000\000\
\\000\000\
\\015\000\179\000\017\000\093\000\020\000\092\000\021\000\091\000\
\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
\\047\000\016\000\052\000\015\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\040\000\180\000\041\000\089\000\042\000\108\000\043\000\019\000\
\\044\000\018\000\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
\\000\000\
\\000\000\
\\024\000\182\000\025\000\111\000\000\000\
\\000\000\
\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
\\028\000\185\000\033\000\021\000\041\000\089\000\042\000\184\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\035\000\192\000\036\000\191\000\000\000\
\\039\000\194\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\050\000\201\000\051\000\085\000\052\000\084\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\046\000\207\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\026\000\220\000\027\000\146\000\000\000\
\\000\000\
\\039\000\222\000\040\000\109\000\041\000\089\000\042\000\108\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
\\028\000\223\000\033\000\021\000\041\000\089\000\042\000\184\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\018\000\234\000\022\000\162\000\041\000\089\000\042\000\161\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\019\000\236\000\022\000\235\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\015\000\241\000\017\000\093\000\020\000\092\000\021\000\091\000\
\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
\\047\000\016\000\052\000\015\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\015\000\243\000\017\000\093\000\020\000\092\000\021\000\091\000\
\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
\\047\000\016\000\052\000\015\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
\\028\000\244\000\033\000\021\000\041\000\089\000\042\000\184\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\030\000\245\000\000\000\
\\020\000\092\000\021\000\249\000\022\000\248\000\023\000\022\000\
\\029\000\247\000\033\000\021\000\000\000\
\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
\\028\000\251\000\033\000\021\000\041\000\089\000\042\000\184\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\035\000\252\000\036\000\191\000\000\000\
\\000\000\
\\037\000\255\000\038\000\254\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\049\000\003\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\031\000\005\001\000\000\
\\032\000\007\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\019\000\009\001\022\000\235\000\000\000\
\\000\000\
\\018\000\011\001\022\000\162\000\041\000\089\000\042\000\161\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\000\000\
\\000\000\
\\008\000\012\001\009\000\006\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\020\000\092\000\021\000\249\000\022\000\248\000\023\000\022\000\
\\029\000\013\001\033\000\021\000\000\000\
\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
\\028\000\015\001\033\000\021\000\041\000\089\000\042\000\184\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
\\028\000\016\001\033\000\021\000\041\000\089\000\042\000\184\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\037\000\017\001\038\000\254\000\000\000\
\\000\000\
\\013\000\019\001\015\000\141\000\017\000\093\000\020\000\092\000\
\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
\\013\000\020\001\015\000\141\000\017\000\093\000\020\000\092\000\
\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
\\000\000\
\\048\000\021\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\018\000\022\001\022\000\162\000\041\000\089\000\042\000\161\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
\\028\000\023\001\033\000\021\000\041\000\089\000\042\000\184\000\
\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
\\052\000\015\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\";
numstates = 283;
numrules = 155;
s = REF ""; index = REF 0;
string_to_int = fn () =
{ i = *index;
index := i+2;
char::to_int (string::get(*s, i)) + char::to_int (string::get(*s, i+1)) * 256;
};
string_to_list = fn s' =
{ len = string::length s';
fun f () =
if (*index < len)
string_to_int() ! f();
else NIL; fi;
index := 0;
s := s';
f ();
};
string_to_pairlist = fn (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 = fn (conv_key, conv_entry) =
{ conv_row = string_to_pairlist (conv_key, conv_entry);
fn () =
{ default = conv_entry (string_to_int());
row = conv_row();
(row, default);
};
};
string_to_table = fn (convert_row, s') =
{ len = string::length 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
(SUBSCRIPT|INDEX_OUT_OF_BOUNDS) = ();
};
herein
entry_to_action
=
fn 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;
fn 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 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 (html::Pcdata) | QQ_PCDATALIST (List html::Pcdata ) | QQ_PCDATA (html::Pcdata) | QQ_OPTIONLIST (List html::Select_Option )
| QQ_FORM (html::Text) | QQ_AREALIST (List html::Area ) | QQ_SPECIAL (html::Text) | QQ_PHRASE (html::Text) | QQ_FONT (html::Text) | QQ_TEXT (html::Text) | QQ_TEXTWOSCRIPT (html::Text)
| QQ_TEXTLIST' (List html::Text ) | QQ_TEXTLIST (html::Text) | QQ_TABLECELL (html::Table_Cell) | QQ_TABLECELLLIST (List html::Table_Cell ) | QQ_TABLEROW (html::Tr)
| QQ_TABLEROWLIST (List html::Tr ) | QQ_OPTCAPTION (Null_Or html::Caption ) | QQ_PREFORMATTED (html::Block) | QQ_FLOW2 (List Blklist_Item ) | QQ_FLOW1 (List Blklist_Item )
| QQ_DLITEM (Deflist_Item) | QQ_DLITEMLIST (List Deflist_Item ) | QQ_LISTITEM (html::List_Item) | QQ_LISTITEMLIST (List html::List_Item ) | QQ_LIST (html::Block) | QQ_PARAGRAPH (html::Block)
| QQ_BLOCK (html::Block) | QQ_BLOCKWOINDEX (html::Block) | QQ_ADDRESSCONTENT2 (List Blklist_Item ) | QQ_ADDRESSCONTENT1 (List Blklist_Item ) | QQ_BODYELEMENT (html::Block)
| QQ_BODYCONTENT2 (List Blklist_Item ) | QQ_BODYCONTENT1 (List Blklist_Item ) | QQ_BODYCONTENT0 (html::Body) | QQ_BODYCONTENT (html::Block) | QQ_BODY (html::Body)
| QQ_HEADELEMENT (html::Head_Content) | QQ_HEADELEMENTS (List html::Head_Content ) | QQ_HEADCONTENTS (List html::Head_Content ) | QQ_HEAD (List html::Head_Content )
| QQ_STARTHTML (Null_Or html::Cdata ) | QQ_DOCUMENT (html::Html);
};
Semantic_Value = values::Semantic_Value;
Result = html::Html;
end;
package error_recovery{
include lr_table;
infix val 60 @@;
fun x @@ y = y ! x;
is_keyword =
fn _ => FALSE; end;
my preferred_change: List( (List( Terminal ), List( Terminal )) ) =
NIL;
no_shift =
fn (TERM 0) => TRUE; _ => FALSE; end;
show_terminal =
fn (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 header; herein
errtermvalue=
fn (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 header; herein
actions =
fn (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 (html::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 @ (html::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);
html::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 (
html::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 (
html::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 (html::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 (
html::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 (html::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);
html::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 (html::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 (
html::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 (html::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 (html::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 (html::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 (html::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 (
html::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 (html::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 (
html::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 (html::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 (html::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 (html::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 (
html::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 (
html::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 (
html::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 (
html::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 (
html::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 (
html::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 (
html::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 = fn a = (fn 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));
};
};


