# Compiled by:
#
src/app/yacc/src/mythryl-yacc.libgeneric package lex_mlyacc_g (package tokens : Mlyacc_Tokens;
package header : Header # = header
where Precedence == header::Precedence
also Input_Source == header::Input_Source;) : (weak) Arg_Lexer
{
package user_declarations {
# Mythryl-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi
#
# yacc.lex: Lexer specification
### "This therefore, is mathematics:
### she reminds you of the invisible forms of the soul;
### she gives life to her own discoveries;
### she awakens the mind and purifies the intellect;
### she brings to light our intrinsic ideas;
### she abolishes the oblivion and ignorance which are ours by birth..."
###
### -- Proclus
package tokens = tokens;
Semantic_Value = tokens::Semantic_Value;
Source_Position = Int;
Token( X, Y ) = tokens::Token( X, Y );
Lex_Result = Token( Semantic_Value, Source_Position );
Lex_Arg = header::Input_Source;
Arg = Lex_Arg;
include package tokens;
error = header::error;
lineno = header::lineno;
text = header::text;
pcount = REF 0;
comment_level = REF 0;
actionstart = REF 0;
eof = \\ i =
{ if (*pcount > 0)
error i *actionstart
" eof encountered in action beginning here !";
fi;
eof_t (*lineno, *lineno);
};
fun add s
=
text := s ! *text;
stipulate
dictionary = [("%prec",prec_tag),("%term",term),
("%nonterm",nonterm), ("%eop",percent_eop),("%start",start),
("%prefer",prefer),("%subst",subst),("%change",change),
("%keyword",keyword),("%name",name),
("%verbose",verbose), ("%nodefault",nodefault),
("%value",value), ("%noshift",noshift),
("%header",percent_header),("%pure",percent_pure),
("%token_api_info",percent_token_api_info),
("%arg",percent_arg),
("%pos",percent_pos)];
herein
fun lookup (s,left,right)
=
{ fun f ((a,d) ! b) => if (a==s) d(left,right); else f b; fi;
f NIL => unknown(s,left,right);
end;
f dictionary;
};
end;
fun inc (ri as REF i) = ri := i + 1;
fun dec (ri as REF i) = ri := i - 1;
}; # end of user routines
exception LEX_ERROR; # Raised if illegal leaf action tried.
package internal {
Yyfinstate = NN Int;
Statedata = { fin: List( Yyfinstate ), trans: String };
# transition & final state table
tab = {
s = [
(0,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(1,
"\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x18\x11\x11\x17\x11\x11\
\\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\
\\x11\x11\x11\x11\x11\x15\x11\x11\x11\x11\x11\x11\x11\x11\x11\x13\
\\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\
\\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\
\\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\
\\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\
\\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\
\\x11"
),
(3,
"\x19\x19\x19\x19\x19\x19\x19\x19\x19\x4d\x50\x19\x19\x4f\x19\x19\
\\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\
\\x4d\x19\x19\x46\x19\x32\x19\x30\x2f\x19\x2e\x19\x2d\x2b\x19\x29\
\\x27\x27\x27\x27\x27\x27\x27\x27\x27\x27\x26\x19\x19\x19\x19\x19\
\\x19\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\
\\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x19\x19\x19\x19\x19\
\\x19\x1d\x1d\x1d\x1d\x1d\x23\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x21\
\\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1d\x1c\x1b\x1a\x19\x19\
\\x19"
),
(5,
"\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x18\x51\x51\x57\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x56\x51\x51\x51\x51\x51\x55\x54\x51\x51\x51\x51\x51\x52\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51"
),
(7,
"\x58\x58\x58\x58\x58\x58\x58\x58\x58\x5a\x18\x58\x58\x5c\x58\x58\
\\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\
\\x5a\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\
\\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\
\\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\
\\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x59\x58\x58\x58\
\\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\
\\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\x58\
\\x58"
),
(9,
"\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x18\x5d\x5d\x57\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x00\x00\x60\x5d\x5d\x5d\x5d\x5e\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\
\\x5d"
),
(11,
"\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x64\x62\x62\x63\x62\x62\
\\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\
\\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\
\\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\
\\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\
\\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\
\\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\
\\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\x62\
\\x62"
),
(13,
"\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x6d\x65\x65\x6c\x65\x65\
\\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\
\\x65\x65\x6b\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\
\\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\
\\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\
\\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x66\x65\x65\x65\
\\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\
\\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\
\\x65"
),
(15,
"\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x18\x6e\x6e\x57\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x73\x73\x71\x6e\x6e\x6e\x6e\x6f\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e"
),
(17,
"\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x00\x12\x12\x00\x12\x12\
\\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\
\\x12\x12\x12\x12\x12\x00\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\
\\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\
\\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\
\\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\
\\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\
\\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\
\\x12"
),
(19,
"\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x00\x12\x12\x00\x12\x12\
\\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\
\\x12\x12\x12\x12\x12\x00\x12\x12\x12\x12\x14\x12\x12\x12\x12\x12\
\\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\
\\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\
\\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\
\\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\
\\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\
\\x12"
),
(20,
"\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x00\x12\x12\x00\x12\x12\
\\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\
\\x12\x12\x12\x14\x12\x00\x12\x12\x12\x12\x14\x12\x12\x14\x12\x12\
\\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x14\x12\x12\
\\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\
\\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\
\\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\
\\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\
\\x12"
),
(21,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(23,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(29,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\
\\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1f\x00\x00\x00\x00\x00\
\\x00\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\
\\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x00\x00\x00\x00\x1e\
\\x00\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\
\\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x00\x00\x00\x00\x00\
\\x00"
),
(31,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(33,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\
\\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1f\x00\x00\x00\x00\x00\
\\x00\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\
\\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x00\x00\x00\x00\x1e\
\\x00\x1e\x1e\x1e\x1e\x1e\x22\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\
\\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x00\x00\x00\x00\x00\
\\x00"
),
(35,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\
\\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1f\x00\x00\x00\x00\x00\
\\x00\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\
\\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x00\x00\x00\x00\x1e\
\\x00\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x24\
\\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x00\x00\x00\x00\x00\
\\x00"
),
(36,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\
\\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1f\x00\x00\x00\x00\x00\
\\x00\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\
\\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x00\x00\x00\x00\x1e\
\\x00\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\
\\x1e\x1e\x25\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x00\x00\x00\x00\x00\
\\x00"
),
(39,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x28\x28\x28\x28\x28\x28\x28\x28\x28\x28\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(41,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(42,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x2a\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(43,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(48,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\
\\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x00\x00\x00\x00\x00\x00\
\\x00\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\
\\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x00\x00\x00\x00\x31\
\\x00\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\
\\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x31\x00\x00\x00\x00\x00\
\\x00"
),
(50,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\
\\x00\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x41\x33\x39\x33\
\\x33\x33\x34\x33\x33\x33\x33\x33\x33\x33\x33\x00\x00\x00\x00\x00\
\\x00"
),
(51,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\
\\x00\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\
\\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x00\x00\x00\x00\x00\
\\x00"
),
(52,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\
\\x00\x33\x33\x33\x33\x33\x33\x33\x33\x35\x33\x33\x33\x33\x33\x33\
\\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x00\x00\x00\x00\x00\
\\x00"
),
(53,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\
\\x00\x33\x33\x33\x33\x33\x33\x36\x33\x33\x33\x33\x33\x33\x33\x33\
\\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x00\x00\x00\x00\x00\
\\x00"
),
(54,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\
\\x00\x33\x33\x33\x33\x33\x33\x33\x37\x33\x33\x33\x33\x33\x33\x33\
\\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x00\x00\x00\x00\x00\
\\x00"
),
(55,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\
\\x00\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\
\\x33\x33\x33\x33\x38\x33\x33\x33\x33\x33\x33\x00\x00\x00\x00\x00\
\\x00"
),
(57,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\
\\x00\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x3a\
\\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x00\x00\x00\x00\x00\
\\x00"
),
(58,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\
\\x00\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x3b\x33\
\\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x00\x00\x00\x00\x00\
\\x00"
),
(59,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\
\\x00\x3c\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\
\\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x00\x00\x00\x00\x00\
\\x00"
),
(60,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\
\\x00\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\
\\x33\x33\x33\x3d\x33\x33\x33\x33\x33\x33\x33\x00\x00\x00\x00\x00\
\\x00"
),
(61,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\
\\x00\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\
\\x33\x33\x33\x3e\x33\x33\x33\x33\x33\x33\x33\x00\x00\x00\x00\x00\
\\x00"
),
(62,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\
\\x00\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x3f\
\\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x00\x00\x00\x00\x00\
\\x00"
),
(63,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\
\\x00\x33\x33\x40\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\
\\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x00\x00\x00\x00\x00\
\\x00"
),
(65,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\
\\x00\x33\x33\x33\x33\x42\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\
\\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x00\x00\x00\x00\x00\
\\x00"
),
(66,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\
\\x00\x33\x33\x33\x33\x33\x43\x33\x33\x33\x33\x33\x33\x33\x33\x33\
\\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x00\x00\x00\x00\x00\
\\x00"
),
(67,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\
\\x00\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\x33\
\\x33\x33\x33\x33\x44\x33\x33\x33\x33\x33\x33\x00\x00\x00\x00\x00\
\\x00"
),
(70,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x4b\x00\x00\x4a\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x49\x48\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(74,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(77,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x4e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(79,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(81,
"\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x00\x51\x51\x00\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x00\x51\x51\x51\x51\x51\x00\x00\x51\x51\x51\x51\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51"
),
(82,
"\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x00\x51\x51\x00\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x00\x51\x51\x51\x51\x51\x00\x00\x53\x51\x51\x51\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51"
),
(83,
"\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x00\x51\x51\x00\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x00\x53\x51\x51\x51\x51\x00\x00\x53\x51\x51\x53\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x53\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\x51\
\\x51"
),
(90,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x5b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(93,
"\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x00\x5d\x5d\x00\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x00\x00\x00\x5d\x5d\x5d\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\
\\x5d"
),
(94,
"\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x00\x5d\x5d\x00\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x00\x00\x5f\x5d\x5d\x5d\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\
\\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\x5d\
\\x5d"
),
(95,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x5f\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(96,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(99,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(101,
"\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x00\x65\x65\x00\x65\x65\
\\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\
\\x65\x65\x00\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\
\\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\
\\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\
\\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x00\x65\x65\x65\
\\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\
\\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\x65\
\\x65"
),
(102,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x6a\x00\x00\x69\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x68\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(105,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(108,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(110,
"\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x00\x6e\x6e\x00\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x00\x00\x00\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e"
),
(111,
"\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x00\x6e\x6e\x00\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x00\x00\x70\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\x6e\
\\x6e"
),
(112,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x70\x00\x00\x70\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(113,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
\\x00"
),
(0, "")];
fun f x = x;
s = map f (reverse (tail (reverse s)));
exception LEX_HACKING_ERROR;
fun get ((j, x) ! r, i: Int)
=>
if (i == j) x; else get (r, i); fi;
get ([], i)
=>
raise exception LEX_HACKING_ERROR;
end;
fun g { fin => x, trans => i }
=
{ fin => x, trans => get (s, i) };
vector::from_list (map g
[{ fin => [], trans => 0},
{ fin => [], trans => 1},
{ fin => [], trans => 1},
{ fin => [], trans => 3},
{ fin => [], trans => 3},
{ fin => [], trans => 5},
{ fin => [], trans => 5},
{ fin => [], trans => 7},
{ fin => [], trans => 7},
{ fin => [], trans => 9},
{ fin => [], trans => 9},
{ fin => [], trans => 11},
{ fin => [], trans => 11},
{ fin => [], trans => 13},
{ fin => [], trans => 13},
{ fin => [], trans => 15},
{ fin => [], trans => 15},
{ fin => [(NN 32), (NN 42)], trans => 17},
{ fin => [(NN 32)], trans => 17},
{ fin => [(NN 32), (NN 42)], trans => 19},
{ fin => [(NN 3), (NN 32)], trans => 20},
{ fin => [(NN 42)], trans => 21},
{ fin => [(NN 35)], trans => 0},
{ fin => [(NN 40), (NN 42)], trans => 23},
{ fin => [(NN 40)], trans => 0},
{ fin => [(NN 129)], trans => 0},
{ fin => [(NN 70), (NN 129)], trans => 0},
{ fin => [(NN 122), (NN 129)], trans => 0},
{ fin => [(NN 68), (NN 129)], trans => 0},
{ fin => [(NN 125), (NN 129)], trans => 29},
{ fin => [(NN 125)], trans => 29},
{ fin => [], trans => 31},
{ fin => [(NN 112)], trans => 0},
{ fin => [(NN 125), (NN 129)], trans => 33},
{ fin => [(NN 62), (NN 125)], trans => 29},
{ fin => [(NN 125), (NN 129)], trans => 35},
{ fin => [(NN 125)], trans => 36},
{ fin => [(NN 66), (NN 125)], trans => 29},
{ fin => [(NN 120), (NN 129)], trans => 0},
{ fin => [(NN 115), (NN 129)], trans => 39},
{ fin => [(NN 115)], trans => 39},
{ fin => [(NN 129)], trans => 41},
{ fin => [(NN 7)], trans => 42},
{ fin => [(NN 129)], trans => 43},
{ fin => [(NN 77)], trans => 0},
{ fin => [(NN 72), (NN 129)], trans => 0},
{ fin => [(NN 74), (NN 129)], trans => 0},
{ fin => [(NN 127), (NN 129)], trans => 0},
{ fin => [(NN 107), (NN 129)], trans => 48},
{ fin => [(NN 107)], trans => 48},
{ fin => [(NN 129)], trans => 50},
{ fin => [(NN 104)], trans => 51},
{ fin => [(NN 104)], trans => 52},
{ fin => [(NN 104)], trans => 53},
{ fin => [(NN 104)], trans => 54},
{ fin => [(NN 104)], trans => 55},
{ fin => [(NN 90), (NN 104)], trans => 51},
{ fin => [(NN 104)], trans => 57},
{ fin => [(NN 104)], trans => 58},
{ fin => [(NN 104)], trans => 59},
{ fin => [(NN 104)], trans => 60},
{ fin => [(NN 104)], trans => 61},
{ fin => [(NN 104)], trans => 62},
{ fin => [(NN 104)], trans => 63},
{ fin => [(NN 100), (NN 104)], trans => 51},
{ fin => [(NN 104)], trans => 65},
{ fin => [(NN 104)], trans => 66},
{ fin => [(NN 104)], trans => 67},
{ fin => [(NN 83), (NN 104)], trans => 51},
{ fin => [(NN 118)], trans => 0},
{ fin => [(NN 129)], trans => 70},
{ fin => [(NN 25)], trans => 0},
{ fin => [(NN 22)], trans => 0},
{ fin => [(NN 16)], trans => 0},
{ fin => [(NN 13)], trans => 74},
{ fin => [(NN 13)], trans => 0},
{ fin => [(NN 19)], trans => 0},
{ fin => [(NN 59), (NN 129)], trans => 77},
{ fin => [(NN 59)], trans => 77},
{ fin => [(NN 54), (NN 129)], trans => 79},
{ fin => [(NN 54)], trans => 0},
{ fin => [(NN 138)], trans => 81},
{ fin => [(NN 138)], trans => 82},
{ fin => [(NN 29), (NN 138)], trans => 83},
{ fin => [(NN 133)], trans => 0},
{ fin => [(NN 131)], trans => 0},
{ fin => [(NN 135)], trans => 0},
{ fin => [(NN 40)], trans => 23},
{ fin => [(NN 191)], trans => 0},
{ fin => [(NN 189), (NN 191)], trans => 0},
{ fin => [(NN 187), (NN 191)], trans => 90},
{ fin => [(NN 187)], trans => 90},
{ fin => [(NN 40), (NN 191)], trans => 23},
{ fin => [(NN 148)], trans => 93},
{ fin => [(NN 148)], trans => 94},
{ fin => [(NN 145)], trans => 95},
{ fin => [], trans => 96},
{ fin => [(NN 141)], trans => 0},
{ fin => [(NN 49)], trans => 0},
{ fin => [(NN 47), (NN 49)], trans => 99},
{ fin => [(NN 47)], trans => 0},
{ fin => [(NN 172)], trans => 101},
{ fin => [(NN 164)], trans => 102},
{ fin => [(NN 175)], trans => 0},
{ fin => [(NN 184)], trans => 0},
{ fin => [(NN 181)], trans => 105},
{ fin => [(NN 181)], trans => 0},
{ fin => [(NN 162)], trans => 0},
{ fin => [(NN 169)], trans => 108},
{ fin => [(NN 169)], trans => 0},
{ fin => [(NN 160)], trans => 110},
{ fin => [(NN 160)], trans => 111},
{ fin => [(NN 157)], trans => 112},
{ fin => [(NN 150)], trans => 113},
{ fin => [(NN 153)], trans => 0},
{ fin => [(NN 150)], trans => 0}]);
};
package start_states {
Yystartstate = STARTSTATE Int;
# start state definitions
my aaa = STARTSTATE 3;
my code = STARTSTATE 5;
my comment = STARTSTATE 9;
my emptycomment = STARTSTATE 15;
my fff = STARTSTATE 7;
my initial = STARTSTATE 1;
my linecomment = STARTSTATE 11;
my string = STARTSTATE 13;
};
Result = user_declarations::Lex_Result;
exception LEXER_ERROR; # Raised if illegal leaf action tried */
};
fun make_lexer yyinput =
{ my yygone0=1;
yyb = REF "\n"; # Buffer
yybl = REF 1; # Buffer length
yybufpos = REF 1; # location of next character to use
yygone = REF yygone0; # position in file of beginning of buffer
yydone = REF FALSE; # eof found yet?
yybegin_i = REF 1; # Current 'start state' for lexer
yybegin = \\ (internal::start_states::STARTSTATE x) =
yybegin_i := x;
fun lex (yyarg as (input_source)) =
{ fun continue () : internal::Result =
{ fun scan (s, accepting_leaves: List( List( internal::Yyfinstate ) ), l, i0) =
{ fun action (i, NIL) => raise exception LEX_ERROR;
action (i, NIL ! l) => action (i - 1, l);
action (i, (node ! acts) ! l) =>
case node
internal::NN yyk =>
( { fun yymktext () = substring(*yyb, i0, i-i0);
yypos = i0 + *yygone;
include package user_declarations;
include package internal::start_states;
{ yybufpos := i;
case yyk
# Application actions
100 => { prec(header::NONASSOC,*lineno,*lineno); };
104 => { yytext=yymktext();
lookup(yytext,*lineno,*lineno); };
107 => { yytext=yymktext();
tyvar(yytext,*lineno,*lineno); };
112 => { yytext=yymktext();
iddot(yytext,*lineno,*lineno); };
115 => { yytext=yymktext();
int (yytext,*lineno,*lineno); };
118 => { delimiter(*lineno,*lineno); };
120 => { colon(*lineno,*lineno); };
122 => { bar(*lineno,*lineno); };
125 => { yytext=yymktext();
id ((yytext,*lineno),*lineno,*lineno); };
127 => { pcount := 1; actionstart := *lineno;
text := NIL; yybegin code; continue() then yybegin aaa; };
129 => { yytext=yymktext();
unknown(yytext,*lineno,*lineno); };
13 => { inc lineno; continue(); };
131 => { yytext=yymktext();
inc pcount; add yytext; continue(); };
133 => { yytext=yymktext();
dec pcount;
if (*pcount == 0)
prog (cat (reverse *text),*lineno,*lineno);
else
add yytext;
continue();
fi
; };
135 => { yytext=yymktext();
add yytext; yybegin string; continue(); };
138 => { yytext=yymktext();
add yytext; continue(); };
141 => { yytext=yymktext();
add yytext; dec comment_level;
if (*comment_level==0)
bogus_value(*lineno,*lineno);
else
continue();
fi
; };
145 => { yytext=yymktext();
add yytext; inc comment_level; continue(); };
148 => { yytext=yymktext();
add yytext; continue(); };
150 => { continue(); };
153 => { dec comment_level;
if (*comment_level==0)
yybegin aaa;
fi;
continue (); };
157 => { inc comment_level; continue(); };
16 => { yybegin linecomment; continue(); };
160 => { continue(); };
162 => { yytext=yymktext();
add yytext; yybegin code; continue(); };
164 => { yytext=yymktext();
add yytext; continue(); };
169 => { yytext=yymktext();
add yytext; error input_source *lineno "unclosed string";
inc lineno; yybegin code; continue(); };
172 => { yytext=yymktext();
add yytext; continue(); };
175 => { yytext=yymktext();
add yytext; continue(); };
181 => { yytext=yymktext();
add yytext; inc lineno; yybegin fff; continue(); };
184 => { yytext=yymktext();
add yytext; yybegin fff; continue(); };
187 => { yytext=yymktext();
add yytext; continue(); };
189 => { yytext=yymktext();
add yytext; yybegin string; continue(); };
19 => { yybegin linecomment; continue(); };
191 => { yytext=yymktext();
add yytext; error input_source *lineno "unclosed string";
yybegin code; continue(); };
22 => { yybegin linecomment; continue(); };
25 => { yybegin linecomment; continue(); };
29 => { yytext=yymktext();
add yytext; yybegin comment; comment_level := 1;
continue() then yybegin code; };
3 => { yytext=yymktext();
add yytext; yybegin comment; comment_level := 1;
continue() then yybegin initial; };
32 => { yytext=yymktext();
add yytext; continue(); };
35 => { yybegin aaa; header (cat (reverse *text),*lineno,*lineno); };
40 => { yytext=yymktext();
add yytext; inc lineno; continue(); };
42 => { yytext=yymktext();
add yytext; continue(); };
47 => { inc lineno; yybegin aaa; continue(); };
49 => { continue(); };
54 => { inc lineno; continue (); };
59 => { continue(); };
62 => { of_t(*lineno,*lineno); };
66 => { for_t(*lineno,*lineno); };
68 => { lbrace(*lineno,*lineno); };
7 => { yybegin emptycomment; comment_level := 1; continue(); };
70 => { rbrace(*lineno,*lineno); };
72 => { comma(*lineno,*lineno); };
74 => { asterisk(*lineno,*lineno); };
77 => { arrow(*lineno,*lineno); };
83 => { prec(header::LEFT,*lineno,*lineno); };
90 => { prec(header::RIGHT,*lineno,*lineno); };
_ => raise exception internal::LEXER_ERROR;
esac; }; } ); esac; end; # fun action
my { fin, trans } = unsafe::vector::get (internal::tab, s);
new_accepting_leaves = fin ! accepting_leaves;
if (l == *yybl)
if (trans == .trans (vector::get (internal::tab, 0)))
action (l, new_accepting_leaves);
else newchars= if *yydone ""; else yyinput 1024; fi;
if ((size newchars) == 0)
yydone := TRUE;
if (l == i0) user_declarations::eof yyarg;
else action (l, new_accepting_leaves); fi;
else if (l == i0) yyb := newchars;
else yyb := substring(*yyb, i0, l-i0) + newchars; fi;
yygone := *yygone+i0;
yybl := size *yyb;
scan (s, accepting_leaves, l-i0, 0);
fi; # (size newchars) == 0
fi; # trans == $trans ...
else new_char = char::to_int (unsafe::vector_of_chars::get(*yyb, l));
new_char = if (new_char < 128) new_char; else 128; fi;
new_state = char::to_int (unsafe::vector_of_chars::get (trans, new_char));
if (new_state == 0) action (l, new_accepting_leaves);
else scan (new_state, new_accepting_leaves, l+1, i0); fi;
fi;
}; # fun scan
/*
start= if (substring(*yyb,*yybufpos - 1, 1)=="\n") *yybegin_i+1; else *yybegin_i; fi;
*/
scan(*yybegin_i /* start */ , NIL, *yybufpos, *yybufpos); # fun continue
}; # fun continue
continue; }; # fun lex
lex;
}; # fun make_lexer
};