symbols[]: global scope global global scope implicit__test_str type int8 = int8 type uint8 = uint8 type int16 = int16 type uint16 = uint16 type int32 = int32 type uint32 = uint32 type int64 = int64 type uint64 = uint64 type float64 = float32 type offs = int16 type addr = uint16 type void = void type byte = int8 type ubyte = uint8 type short = int16 type ushort = uint16 type long = int32 type ulong = uint32 type int = int16 type uint = uint16 type utf8char = enum uint8 type ucs1char = enum uint8 type ucs2char = enum uint16 type ucs4char = enum uint32 type utf8str = utf8char[] utf8str spacestr ( uint16 ) utf8str spacestr ( uint16, utf8char ) utf8str charstr ( uint16 ) ucs1char hexchar ( uint16 ) utf8str hexstr ( uint8 ) utf8str hexstr ( uint16 ) utf8str hexstr ( uint32 ) utf8str hexstr ( uint16, uint16 digits ) utf8str hexstr ( uint32, uint16 digits ) utf8str binstr ( uint8 ) utf8str binstr ( uint16 ) utf8str binstr ( uint32 ) utf8str binstr ( uint16, uint16 digits ) utf8str binstr ( uint32, uint16 digits ) utf8str binstr ( uint16, utf8str¢ o, utf8str¢ l ) utf8str binstr ( uint32, utf8str¢ o, utf8str¢ l ) utf8str numstr ( int16 ) utf8str numstr ( uint16 ) utf8str numstr ( int32 ) utf8str numstr ( uint32 ) utf8str toupper ( utf8str¢ ) utf8str tolower ( utf8str¢ ) utf8str escape ( utf8str¢, ucs1char leftquote ) utf8str unescape ( utf8str¢ ) utf8str urlencode ( utf8str¢ ) utf8str urldecode ( utf8str¢ ) utf8str entab ( utf8str¢, uint16 tabwidth ) utf8str detab ( utf8str¢, uint16 tabwidth ) utf8str toupper ( utf8char[to] ) utf8str tolower ( utf8char[to] ) utf8str escape ( utf8char[to], ucs1char leftquote ) utf8str unescape ( utf8char[to] ) utf8str urlencode ( utf8char[to] ) utf8str urldecode ( utf8char[to] ) utf8str entab ( utf8char[to], uint16 tabwidth ) utf8str detab ( utf8char[to], uint16 tabwidth ) ucs1str toucs1 ( utf8str¢ ) ucs2str toucs2 ( utf8str¢ ) utf8str toutf8 ( utf8str¢ ) ucs1str toucs1 ( utf8char[to] ) ucs2str toucs2 ( utf8char[to] ) utf8str toutf8 ( utf8char[to] ) utf8str min ( utf8str, utf8str ) utf8str min ( utf8str, utf8str¢ ) utf8str min ( utf8str¢, utf8str ) utf8str¢ min ( utf8str¢, utf8str¢ ) utf8str¢ min ( utf8str[]¢ ) utf8str¢ min ( utf8str[to] ) utf8str max ( utf8str, utf8str ) utf8str max ( utf8str, utf8str¢ ) utf8str max ( utf8str¢, utf8str ) utf8str¢ max ( utf8str¢, utf8str¢ ) utf8str¢ max ( utf8str[]¢ ) utf8str¢ max ( utf8str[to] ) void flip ( utf8str[to] ) void rol ( utf8str[to] ) void ror ( utf8str[to] ) void sort ( utf8str[to] ) void rsort ( utf8str[to] ) void shuffle ( utf8str[to] ) void revert ( utf8str[to] ) type ucs1str = ucs1char[] ucs1str spacestr ( uint16 ) ucs1str spacestr ( uint16, ucs1char ) ucs1str charstr ( uint16 ) ucs1char hexchar ( uint16 ) ucs1str hexstr ( uint8 ) ucs1str hexstr ( uint16 ) ucs1str hexstr ( uint32 ) ucs1str hexstr ( uint16, uint16 digits ) ucs1str hexstr ( uint32, uint16 digits ) ucs1str binstr ( uint8 ) ucs1str binstr ( uint16 ) ucs1str binstr ( uint32 ) ucs1str binstr ( uint16, uint16 digits ) ucs1str binstr ( uint32, uint16 digits ) ucs1str binstr ( uint16, ucs1str¢ o, ucs1str¢ l ) ucs1str binstr ( uint32, ucs1str¢ o, ucs1str¢ l ) ucs1str numstr ( int16 ) ucs1str numstr ( uint16 ) ucs1str numstr ( int32 ) ucs1str numstr ( uint32 ) ucs1str toupper ( ucs1str¢ ) ucs1str tolower ( ucs1str¢ ) ucs1str escape ( ucs1str¢, ucs1char leftquote ) ucs1str unescape ( ucs1str¢ ) ucs1str urlencode ( ucs1str¢ ) ucs1str urldecode ( ucs1str¢ ) ucs1str entab ( ucs1str¢, uint16 tabwidth ) ucs1str detab ( ucs1str¢, uint16 tabwidth ) ucs1str toupper ( ucs1char[to] ) ucs1str tolower ( ucs1char[to] ) ucs1str escape ( ucs1char[to], ucs1char leftquote ) ucs1str unescape ( ucs1char[to] ) ucs1str urlencode ( ucs1char[to] ) ucs1str urldecode ( ucs1char[to] ) ucs1str entab ( ucs1char[to], uint16 tabwidth ) ucs1str detab ( ucs1char[to], uint16 tabwidth ) ucs1str toucs1 ( ucs1str¢ ) ucs2str toucs2 ( ucs1str¢ ) utf8str toutf8 ( ucs1str¢ ) ucs1str toucs1 ( ucs1char[to] ) ucs2str toucs2 ( ucs1char[to] ) utf8str toutf8 ( ucs1char[to] ) ucs1str min ( ucs1str, ucs1str ) ucs1str min ( ucs1str, ucs1str¢ ) ucs1str min ( ucs1str¢, ucs1str ) ucs1str¢ min ( ucs1str¢, ucs1str¢ ) ucs1str¢ min ( ucs1str[]¢ ) ucs1str¢ min ( ucs1str[to] ) ucs1str max ( ucs1str, ucs1str ) ucs1str max ( ucs1str, ucs1str¢ ) ucs1str max ( ucs1str¢, ucs1str ) ucs1str¢ max ( ucs1str¢, ucs1str¢ ) ucs1str¢ max ( ucs1str[]¢ ) ucs1str¢ max ( ucs1str[to] ) void flip ( ucs1str[to] ) void rol ( ucs1str[to] ) void ror ( ucs1str[to] ) void sort ( ucs1str[to] ) void rsort ( ucs1str[to] ) void shuffle ( ucs1str[to] ) void revert ( ucs1str[to] ) type ucs2str = ucs2char[] ucs2str spacestr ( uint16 ) ucs2str spacestr ( uint16, ucs2char ) ucs2str charstr ( uint16 ) ucs2char hexchar ( uint16 ) ucs2str hexstr ( uint8 ) ucs2str hexstr ( uint16 ) ucs2str hexstr ( uint32 ) ucs2str hexstr ( uint16, uint16 digits ) ucs2str hexstr ( uint32, uint16 digits ) ucs2str binstr ( uint8 ) ucs2str binstr ( uint16 ) ucs2str binstr ( uint32 ) ucs2str binstr ( uint16, uint16 digits ) ucs2str binstr ( uint32, uint16 digits ) ucs2str binstr ( uint16, ucs2str¢ o, ucs2str¢ l ) ucs2str binstr ( uint32, ucs2str¢ o, ucs2str¢ l ) ucs2str numstr ( int16 ) ucs2str numstr ( uint16 ) ucs2str numstr ( int32 ) ucs2str numstr ( uint32 ) ucs2str toupper ( ucs2str¢ ) ucs2str tolower ( ucs2str¢ ) ucs2str escape ( ucs2str¢, ucs2char leftquote ) ucs2str unescape ( ucs2str¢ ) ucs2str urlencode ( ucs2str¢ ) ucs2str urldecode ( ucs2str¢ ) ucs2str entab ( ucs2str¢, uint16 tabwidth ) ucs2str detab ( ucs2str¢, uint16 tabwidth ) ucs2str toupper ( ucs2char[to] ) ucs2str tolower ( ucs2char[to] ) ucs2str escape ( ucs2char[to], ucs2char leftquote ) ucs2str unescape ( ucs2char[to] ) ucs2str urlencode ( ucs2char[to] ) ucs2str urldecode ( ucs2char[to] ) ucs2str entab ( ucs2char[to], uint16 tabwidth ) ucs2str detab ( ucs2char[to], uint16 tabwidth ) ucs1str toucs1 ( ucs2str¢ ) ucs2str toucs2 ( ucs2str¢ ) utf8str toutf8 ( ucs2str¢ ) ucs1str toucs1 ( ucs2char[to] ) ucs2str toucs2 ( ucs2char[to] ) utf8str toutf8 ( ucs2char[to] ) ucs2str min ( ucs2str, ucs2str ) ucs2str min ( ucs2str, ucs2str¢ ) ucs2str min ( ucs2str¢, ucs2str ) ucs2str¢ min ( ucs2str¢, ucs2str¢ ) ucs2str¢ min ( ucs2str[]¢ ) ucs2str¢ min ( ucs2str[to] ) ucs2str max ( ucs2str, ucs2str ) ucs2str max ( ucs2str, ucs2str¢ ) ucs2str max ( ucs2str¢, ucs2str ) ucs2str¢ max ( ucs2str¢, ucs2str¢ ) ucs2str¢ max ( ucs2str[]¢ ) ucs2str¢ max ( ucs2str[to] ) void flip ( ucs2str[to] ) void rol ( ucs2str[to] ) void ror ( ucs2str[to] ) void sort ( ucs2str[to] ) void rsort ( ucs2str[to] ) void shuffle ( ucs2str[to] ) void revert ( ucs2str[to] ) type ucs4str = ucs4char[] type char = enum uint8 type bool = enum uint8 type float = float32 type str = ucs1char[] type Thread = {} type Mutex = {} type Sema = {} type Irpt = {} type Object = {} type Stream = {} type FileInfo = {} type FD = { FD_Handlers¢ handlers, NodeType nodetype, ucs1str name, init ( FD¢, NodeType, ucs1str¢ name, FD_Handlers¢ ), kill ( FD¢ ), ill ( FD ), 16 getctl ( FD¢, uint8 fu ), setctl ( FD¢, uint8 fu, uint16 n ), 16 avail_in ( FD¢ ), 16 avail_out ( FD¢ ), char getc ( FD¢ ), putc ( FD¢, ucs1char c ), str gets ( FD¢, uint16 delimiters ), puts ( FD¢, ucs1str¢ ), puts ( FD¢, ucs1str ), putnum ( FD¢, uint16 ), putnum ( FD¢, int16 ), read ( FD¢, uint8[to] ), write ( FD¢, uint8[to] ), read_block ( FD¢, uint32 blk, uint8[]¢ ), write_block ( FD¢, uint32 blk, uint8[]¢ ), 32 getfpos ( FD¢ ), setfpos ( FD¢, uint32 fpos ), is_dir ( FD¢ ), is_file ( FD¢ ) } var FD_Handlers¢ handlers var NodeType nodetype var ucs1str name void init ( FD¢, NodeType, ucs1str¢ name, FD_Handlers¢ ) void kill ( FD¢ ) FD kill ( FD ) uint16 getctl ( FD¢, uint8 fu ) void setctl ( FD¢, uint8 fu, uint16 n ) uint16 avail_in ( FD¢ ) uint16 avail_out ( FD¢ ) ucs1char getc ( FD¢ ) void putc ( FD¢, ucs1char c ) ucs1str gets ( FD¢, uint16 delimiters ) void puts ( FD¢, ucs1str¢ ) void puts ( FD¢, ucs1str ) void putnum ( FD¢, uint16 ) void putnum ( FD¢, int16 ) bool read ( FD¢, uint8[to] ) bool write ( FD¢, uint8[to] ) bool read_block ( FD¢, uint32 blk, uint8[]¢ ) bool write_block ( FD¢, uint32 blk, uint8[]¢ ) uint32 getfpos ( FD¢ ) bool setfpos ( FD¢, uint32 fpos ) bool is_dir ( FD¢ ) bool is_file ( FD¢ ) const bool yes = 1 const bool no = 0 const bool true = 1 const bool false = 0 uint8 msbit ( uint16 ) uint8 msbit ( uint32 ) int16 sign ( int16 ) int16 sign ( int32 ) uint16 abs ( int16 ) uint32 abs ( int32 ) uint16 swap_bytes ( uint16 ) uint32 revert_bytes ( uint32 ) uint32 swap_words ( uint32 ) uint16 random () uint32 mul_wwl ( uint16, uint16 ) void flip ( int8[to] ) = opcode flip void rol ( int8[to] ) = opcode rol void ror ( int8[to] ) = opcode ror void sort ( int8[to] ) = opcode sort void rsort ( int8[to] ) = opcode rsort void shuffle ( int8[to] ) = opcode shuffle void revert ( int8[to] ) = opcode revert int8[] join ( int8[][]¢, int8 ) = opcode join int8[] join ( int8[][]¢, int8[]¢ ) = opcode join int8[][] split ( int8[]¢, int8 ) = opcode split int8[][] split ( int8[]¢, int8[]¢ ) = opcode split int8 min ( int8, int8 ) int8 min ( int8, int8, int8 ) int8 min ( int8[to] ) int8 max ( int8, int8 ) int8 max ( int8, int8, int8 ) int8 max ( int8[to] ) uint16 find ( int8[to], int8 ) = opcode find uint16 find ( int8[to], int8[]¢ ) = opcode find uint16 rfind ( int8[to], int8 ) = opcode rfind uint16 rfind ( int8[to], int8[]¢ ) = opcode rfind void shrinktofit ( int8[]& ) int8[to] substr ( int8[]¢, uint16 a, uint16 e ) int8[to] midstr ( int8[]¢, uint16 i, uint16 n ) int8[to] leftstr ( int8[]¢, uint16 n ) int8[to] rightstr ( int8[]¢, uint16 n ) int8 numval ( utf8str¢ ) int8 numval ( ucs1str¢ ) int8 numval ( ucs2str¢ ) void flip ( uint8[to] ) = opcode flip void rol ( uint8[to] ) = opcode rol void ror ( uint8[to] ) = opcode ror void sort ( uint8[to] ) = opcode sort void rsort ( uint8[to] ) = opcode rsort void shuffle ( uint8[to] ) = opcode shuffle void revert ( uint8[to] ) = opcode revert uint8[] join ( uint8[][]¢, uint8 ) = opcode join uint8[] join ( uint8[][]¢, uint8[]¢ ) = opcode join uint8[][] split ( uint8[]¢, uint8 ) = opcode split uint8[][] split ( uint8[]¢, uint8[]¢ ) = opcode split uint8 min ( uint8, uint8 ) uint8 min ( uint8, uint8, uint8 ) uint8 min ( uint8[to] ) uint8 max ( uint8, uint8 ) uint8 max ( uint8, uint8, uint8 ) uint8 max ( uint8[to] ) uint16 find ( uint8[to], uint8 ) = opcode find uint16 find ( uint8[to], uint8[]¢ ) = opcode find uint16 rfind ( uint8[to], uint8 ) = opcode rfind uint16 rfind ( uint8[to], uint8[]¢ ) = opcode rfind void shrinktofit ( uint8[]& ) uint8[to] substr ( uint8[]¢, uint16 a, uint16 e ) uint8[to] midstr ( uint8[]¢, uint16 i, uint16 n ) uint8[to] leftstr ( uint8[]¢, uint16 n ) uint8[to] rightstr ( uint8[]¢, uint16 n ) uint8 numval ( utf8str¢ ) uint8 numval ( ucs1str¢ ) uint8 numval ( ucs2str¢ ) void flip ( int16[to] ) = opcode flip void rol ( int16[to] ) = opcode rol void ror ( int16[to] ) = opcode ror void sort ( int16[to] ) = opcode sort void rsort ( int16[to] ) = opcode rsort void shuffle ( int16[to] ) = opcode shuffle void revert ( int16[to] ) = opcode revert int16[] join ( int16[][]¢, int16 ) = opcode join int16[] join ( int16[][]¢, int16[]¢ ) = opcode join int16[][] split ( int16[]¢, int16 ) = opcode split int16[][] split ( int16[]¢, int16[]¢ ) = opcode split int16 min ( int16, int16 ) int16 min ( int16, int16, int16 ) int16 min ( int16[to] ) int16 max ( int16, int16 ) int16 max ( int16, int16, int16 ) int16 max ( int16[to] ) uint16 find ( int16[to], int16 ) = opcode find uint16 find ( int16[to], int16[]¢ ) = opcode find uint16 rfind ( int16[to], int16 ) = opcode rfind uint16 rfind ( int16[to], int16[]¢ ) = opcode rfind void shrinktofit ( int16[]& ) int16[to] substr ( int16[]¢, uint16 a, uint16 e ) int16[to] midstr ( int16[]¢, uint16 i, uint16 n ) int16[to] leftstr ( int16[]¢, uint16 n ) int16[to] rightstr ( int16[]¢, uint16 n ) int16 numval ( utf8str¢ ) int16 numval ( ucs1str¢ ) int16 numval ( ucs2str¢ ) void flip ( uint16[to] ) = opcode flip void rol ( uint16[to] ) = opcode rol void ror ( uint16[to] ) = opcode ror void sort ( uint16[to] ) = opcode sort void rsort ( uint16[to] ) = opcode rsort void shuffle ( uint16[to] ) = opcode shuffle void revert ( uint16[to] ) = opcode revert uint16[] join ( uint16[][]¢, uint16 ) = opcode join uint16[] join ( uint16[][]¢, uint16[]¢ ) = opcode join uint16[][] split ( uint16[]¢, uint16 ) = opcode split uint16[][] split ( uint16[]¢, uint16[]¢ ) = opcode split uint16 min ( uint16, uint16 ) uint16 min ( uint16, uint16, uint16 ) uint16 min ( uint16[to] ) uint16 max ( uint16, uint16 ) uint16 max ( uint16, uint16, uint16 ) uint16 max ( uint16[to] ) uint16 find ( uint16[to], uint16 ) = opcode find uint16 find ( uint16[to], uint16[]¢ ) = opcode find uint16 rfind ( uint16[to], uint16 ) = opcode rfind uint16 rfind ( uint16[to], uint16[]¢ ) = opcode rfind void shrinktofit ( uint16[]& ) uint16[to] substr ( uint16[]¢, uint16 a, uint16 e ) uint16[to] midstr ( uint16[]¢, uint16 i, uint16 n ) uint16[to] leftstr ( uint16[]¢, uint16 n ) uint16[to] rightstr ( uint16[]¢, uint16 n ) uint16 numval ( utf8str¢ ) uint16 numval ( ucs1str¢ ) uint16 numval ( ucs2str¢ ) void flip ( int32[to] ) = opcode flip void rol ( int32[to] ) = opcode rol void ror ( int32[to] ) = opcode ror void sort ( int32[to] ) = opcode sort void rsort ( int32[to] ) = opcode rsort void shuffle ( int32[to] ) = opcode shuffle void revert ( int32[to] ) = opcode revert int32[] join ( int32[][]¢, int32 ) = opcode join int32[] join ( int32[][]¢, int32[]¢ ) = opcode join int32[][] split ( int32[]¢, int32 ) = opcode split int32[][] split ( int32[]¢, int32[]¢ ) = opcode split int32 min ( int32, int32 ) int32 min ( int32, int32, int32 ) int32 min ( int32[to] ) int32 max ( int32, int32 ) int32 max ( int32, int32, int32 ) int32 max ( int32[to] ) uint16 find ( int32[to], int32 ) = opcode find uint16 find ( int32[to], int32[]¢ ) = opcode find uint16 rfind ( int32[to], int32 ) = opcode rfind uint16 rfind ( int32[to], int32[]¢ ) = opcode rfind void shrinktofit ( int32[]& ) int32[to] substr ( int32[]¢, uint16 a, uint16 e ) int32[to] midstr ( int32[]¢, uint16 i, uint16 n ) int32[to] leftstr ( int32[]¢, uint16 n ) int32[to] rightstr ( int32[]¢, uint16 n ) int32 numval ( utf8str¢ ) int32 numval ( ucs1str¢ ) int32 numval ( ucs2str¢ ) void flip ( uint32[to] ) = opcode flip void rol ( uint32[to] ) = opcode rol void ror ( uint32[to] ) = opcode ror void sort ( uint32[to] ) = opcode sort void rsort ( uint32[to] ) = opcode rsort void shuffle ( uint32[to] ) = opcode shuffle void revert ( uint32[to] ) = opcode revert uint32[] join ( uint32[][]¢, uint32 ) = opcode join uint32[] join ( uint32[][]¢, uint32[]¢ ) = opcode join uint32[][] split ( uint32[]¢, uint32 ) = opcode split uint32[][] split ( uint32[]¢, uint32[]¢ ) = opcode split uint32 min ( uint32, uint32 ) uint32 min ( uint32, uint32, uint32 ) uint32 min ( uint32[to] ) uint32 max ( uint32, uint32 ) uint32 max ( uint32, uint32, uint32 ) uint32 max ( uint32[to] ) uint16 find ( uint32[to], uint32 ) = opcode find uint16 find ( uint32[to], uint32[]¢ ) = opcode find uint16 rfind ( uint32[to], uint32 ) = opcode rfind uint16 rfind ( uint32[to], uint32[]¢ ) = opcode rfind void shrinktofit ( uint32[]& ) uint32[to] substr ( uint32[]¢, uint16 a, uint16 e ) uint32[to] midstr ( uint32[]¢, uint16 i, uint16 n ) uint32[to] leftstr ( uint32[]¢, uint16 n ) uint32[to] rightstr ( uint32[]¢, uint16 n ) uint32 numval ( utf8str¢ ) uint32 numval ( ucs1str¢ ) uint32 numval ( ucs2str¢ ) void flip ( utf8char[to] ) = opcode flip void rol ( utf8char[to] ) = opcode rol void ror ( utf8char[to] ) = opcode ror void sort ( utf8char[to] ) = opcode sort void rsort ( utf8char[to] ) = opcode rsort void shuffle ( utf8char[to] ) = opcode shuffle void revert ( utf8char[to] ) = opcode revert utf8str join ( utf8str[]¢, utf8char ) = opcode join utf8str join ( utf8str[]¢, utf8str¢ ) = opcode join utf8str[] split ( utf8str¢, utf8char ) = opcode split utf8str[] split ( utf8str¢, utf8str¢ ) = opcode split utf8char min ( utf8char, utf8char ) utf8char min ( utf8char, utf8char, utf8char ) utf8char min ( utf8char[to] ) utf8char max ( utf8char, utf8char ) utf8char max ( utf8char, utf8char, utf8char ) utf8char max ( utf8char[to] ) uint16 find ( utf8char[to], utf8char ) = opcode find uint16 find ( utf8char[to], utf8str¢ ) = opcode find uint16 rfind ( utf8char[to], utf8char ) = opcode rfind uint16 rfind ( utf8char[to], utf8str¢ ) = opcode rfind void shrinktofit ( utf8str& ) utf8char[to] substr ( utf8str¢, uint16 a, uint16 e ) utf8char[to] midstr ( utf8str¢, uint16 i, uint16 n ) utf8char[to] leftstr ( utf8str¢, uint16 n ) utf8char[to] rightstr ( utf8str¢, uint16 n ) utf8char numval ( utf8str¢ ) utf8char numval ( ucs1str¢ ) utf8char numval ( ucs2str¢ ) void flip ( ucs1char[to] ) = opcode flip void rol ( ucs1char[to] ) = opcode rol void ror ( ucs1char[to] ) = opcode ror void sort ( ucs1char[to] ) = opcode sort void rsort ( ucs1char[to] ) = opcode rsort void shuffle ( ucs1char[to] ) = opcode shuffle void revert ( ucs1char[to] ) = opcode revert ucs1str join ( ucs1str[]¢, ucs1char ) = opcode join ucs1str join ( ucs1str[]¢, ucs1str¢ ) = opcode join ucs1str[] split ( ucs1str¢, ucs1char ) = opcode split ucs1str[] split ( ucs1str¢, ucs1str¢ ) = opcode split ucs1char min ( ucs1char, ucs1char ) ucs1char min ( ucs1char, ucs1char, ucs1char ) ucs1char min ( ucs1char[to] ) ucs1char max ( ucs1char, ucs1char ) ucs1char max ( ucs1char, ucs1char, ucs1char ) ucs1char max ( ucs1char[to] ) uint16 find ( ucs1char[to], ucs1char ) = opcode find uint16 find ( ucs1char[to], ucs1str¢ ) = opcode find uint16 rfind ( ucs1char[to], ucs1char ) = opcode rfind uint16 rfind ( ucs1char[to], ucs1str¢ ) = opcode rfind void shrinktofit ( ucs1str& ) ucs1char[to] substr ( ucs1str¢, uint16 a, uint16 e ) ucs1char[to] midstr ( ucs1str¢, uint16 i, uint16 n ) ucs1char[to] leftstr ( ucs1str¢, uint16 n ) ucs1char[to] rightstr ( ucs1str¢, uint16 n ) ucs1char numval ( utf8str¢ ) ucs1char numval ( ucs1str¢ ) ucs1char numval ( ucs2str¢ ) void flip ( ucs2char[to] ) = opcode flip void rol ( ucs2char[to] ) = opcode rol void ror ( ucs2char[to] ) = opcode ror void sort ( ucs2char[to] ) = opcode sort void rsort ( ucs2char[to] ) = opcode rsort void shuffle ( ucs2char[to] ) = opcode shuffle void revert ( ucs2char[to] ) = opcode revert ucs2str join ( ucs2str[]¢, ucs2char ) = opcode join ucs2str join ( ucs2str[]¢, ucs2str¢ ) = opcode join ucs2str[] split ( ucs2str¢, ucs2char ) = opcode split ucs2str[] split ( ucs2str¢, ucs2str¢ ) = opcode split ucs2char min ( ucs2char, ucs2char ) ucs2char min ( ucs2char, ucs2char, ucs2char ) ucs2char min ( ucs2char[to] ) ucs2char max ( ucs2char, ucs2char ) ucs2char max ( ucs2char, ucs2char, ucs2char ) ucs2char max ( ucs2char[to] ) uint16 find ( ucs2char[to], ucs2char ) = opcode find uint16 find ( ucs2char[to], ucs2str¢ ) = opcode find uint16 rfind ( ucs2char[to], ucs2char ) = opcode rfind uint16 rfind ( ucs2char[to], ucs2str¢ ) = opcode rfind void shrinktofit ( ucs2str& ) ucs2char[to] substr ( ucs2str¢, uint16 a, uint16 e ) ucs2char[to] midstr ( ucs2str¢, uint16 i, uint16 n ) ucs2char[to] leftstr ( ucs2str¢, uint16 n ) ucs2char[to] rightstr ( ucs2str¢, uint16 n ) ucs2char numval ( utf8str¢ ) ucs2char numval ( ucs1str¢ ) ucs2char numval ( ucs2str¢ ) bool is_letter ( ucs1char ) bool is_bin_digit ( ucs1char ) bool is_dec_digit ( ucs1char ) bool is_hex_digit ( ucs1char ) uint16 digit_value ( ucs1char ) float32 round ( float32 ) float32 floor ( float32 ) float32 ceil ( float32 ) float32 integ ( float32 ) float32 fract ( float32 ) int16 sign ( float32 ) float32 abs ( float32 ) float32 min ( float32, float32 ) float32 max ( float32, float32 ) float32 min ( float32, float32, float32 ) float32 max ( float32, float32, float32 ) float32 random () float32 random ( float32 ) float32 sin ( float32 ) float32 cos ( float32 ) float32 tan ( float32 ) float32 asin ( float32 ) float32 acos ( float32 ) float32 atan ( float32 ) float32 sinh ( float32 ) float32 cosh ( float32 ) float32 tanh ( float32 ) float32 exp10 ( float32 ) float32 log10 ( float32 ) float32 exp2 ( float32 ) float32 log2 ( float32 ) float32 expe ( float32 ) float32 loge ( float32 ) float32 exp ( float32, float32 ) float32 log ( float32, float32 ) float32 pow ( float32, int16 ) float32 sqrt ( float32 ) ucs1str numstr ( float32 ) float32 numval ( ucs1str¢ ) float32 min ( float32[]¢ ) float32 min ( float32[to] ) float32 max ( float32[]¢ ) float32 max ( float32[to] ) ucs1str spacestr ( uint16 ) ucs1str spacestr ( uint16, ucs1char ) ucs1str charstr ( uint16 ) ucs1char hexchar ( uint16 ) ucs1str hexstr ( uint8 ) ucs1str hexstr ( uint16 ) ucs1str hexstr ( uint32 ) ucs1str hexstr ( uint16, uint16 digits ) ucs1str hexstr ( uint32, uint16 digits ) ucs1str binstr ( uint8 ) ucs1str binstr ( uint16 ) ucs1str binstr ( uint32 ) ucs1str binstr ( uint16, uint16 digits ) ucs1str binstr ( uint32, uint16 digits ) ucs1str binstr ( uint16, ucs1str¢ o, ucs1str¢ l ) ucs1str binstr ( uint32, ucs1str¢ o, ucs1str¢ l ) ucs1str numstr ( int16 ) ucs1str numstr ( uint16 ) ucs1str numstr ( int32 ) ucs1str numstr ( uint32 ) ucs1str toupper ( ucs1str¢ ) ucs1str tolower ( ucs1str¢ ) ucs1str escape ( ucs1str¢, ucs1char leftquote ) ucs1str unescape ( ucs1str¢ ) ucs1str urlencode ( ucs1str¢ ) ucs1str urldecode ( ucs1str¢ ) ucs1str entab ( ucs1str¢, uint16 tabwidth ) ucs1str detab ( ucs1str¢, uint16 tabwidth ) ucs1str toupper ( ucs1char[to] ) ucs1str tolower ( ucs1char[to] ) ucs1str escape ( ucs1char[to], ucs1char leftquote ) ucs1str unescape ( ucs1char[to] ) ucs1str urlencode ( ucs1char[to] ) ucs1str urldecode ( ucs1char[to] ) ucs1str entab ( ucs1char[to], uint16 tabwidth ) ucs1str detab ( ucs1char[to], uint16 tabwidth ) ucs1str toucs1 ( ucs1str¢ ) ucs2str toucs2 ( ucs1str¢ ) utf8str toutf8 ( ucs1str¢ ) ucs1str toucs1 ( ucs1char[to] ) ucs2str toucs2 ( ucs1char[to] ) utf8str toutf8 ( ucs1char[to] ) ucs1str min ( ucs1str, ucs1str ) ucs1str min ( ucs1str, ucs1str¢ ) ucs1str min ( ucs1str¢, ucs1str ) ucs1str¢ min ( ucs1str¢, ucs1str¢ ) ucs1str¢ min ( ucs1str[]¢ ) ucs1str¢ min ( ucs1str[to] ) ucs1str max ( ucs1str, ucs1str ) ucs1str max ( ucs1str, ucs1str¢ ) ucs1str max ( ucs1str¢, ucs1str ) ucs1str¢ max ( ucs1str¢, ucs1str¢ ) ucs1str¢ max ( ucs1str[]¢ ) ucs1str¢ max ( ucs1str[to] ) void flip ( ucs1str[to] ) void rol ( ucs1str[to] ) void ror ( ucs1str[to] ) void sort ( ucs1str[to] ) void rsort ( ucs1str[to] ) void shuffle ( ucs1str[to] ) void revert ( ucs1str[to] ) const uint16 tm_utc = 0 const uint16 tm_localtime = 1 const uint16 tm_time = 2 const uint16 tm_date = 4 const uint16 tm_timezone = 8 const uint16 tm_sec = 16 const uint16 tm_msec = 32 float32 now () ucs1str timestr ( float32 seconds, uint16 flags ) float32 timeval ( ucs1str¢, uint16 flags ) const uint8 c_reset = 0 const uint8 c_speed = 1 const uint8 c_hwhsk = 2 const uint8 c_swhsk = 3 const uint8 c_flushin = 4 const uint8 c_availin = 4 const uint8 c_flushout = 5 const uint8 c_availout = 5 const uint8 c_clk_hsk = 6 const uint8 c_log2blocksize = 7 const uint8 c_totalblocks_lo = 8 const uint8 c_totalblocks_hi = 9 const uint8 c_reserved2 = 10 type OSErr = enum uint8 const OSErr ok = 0 const OSErr parameter_error = 1 const OSErr function_not_supported = 1 const OSErr io_error = 2 const OSErr device_not_responding = 3 const OSErr file_error = 4 const OSErr filesystem_invalid = 5 const OSErr device_not_found = 6 const OSErr directory_not_found = 7 const OSErr file_not_found = 8 const OSErr not_a_directory = 9 const OSErr is_a_directory = 10 const OSErr file_already_open_for_writing = 11 const OSErr file_already_open = 12 const OSErr file_exists = 13 const OSErr file_not_writable = 14 const OSErr end_of_file = 15 const OSErr disk_full = 16 const OSErr directory_corrupted = 17 const OSErr filesystem_corrupted = 18 var OSErr errno OSErr error () void clear_error () void set_error ( OSErr ) bool yes_with_error ( OSErr ) void* null_with_error ( OSErr ) type NodeType = enum uint8 NodeType operator | ( NodeType, NodeType ) = opcode | NodeType operator & ( NodeType, NodeType ) = opcode & const NodeType t_endmarker = 0 const NodeType t_file = 1 const NodeType t_dir = 2 const NodeType t_ser = 3 const NodeType t_block = 4 const NodeType m_erased = 128 type FD_Handlers = { uint16(FD¢, uint8) getctl, void(FD¢, uint8, uint16) setctl, uint16(FD¢) avail_in, uint16(FD¢) avail_out, ucs1char(FD¢) getc, void(FD¢, ucs1char) putc, bool(FD¢, uint8[to]) read, bool(FD¢, uint8[to]) write, bool(FD¢, uint32, uint8[]¢) read_block, bool(FD¢, uint32, uint8[]¢) write_block, void(FD¢) kill, uint32(FD¢) getfpos, bool(FD¢, uint32) setfpos } var uint16(FD¢, uint8) getctl var void(FD¢, uint8, uint16) setctl var uint16(FD¢) avail_in var uint16(FD¢) avail_out var ucs1char(FD¢) getc var void(FD¢, ucs1char) putc var bool(FD¢, uint8[to]) read var bool(FD¢, uint8[to]) write var bool(FD¢, uint32, uint8[]¢) read_block var bool(FD¢, uint32, uint8[]¢) write_block var void(FD¢) kill var uint32(FD¢) getfpos var bool(FD¢, uint32) setfpos uint16 no_avail_in ( FD¢ ) uint16 no_avail_out ( FD¢ ) ucs1char no_getc ( FD¢ ) void no_putc ( FD¢, ucs1char ) uint32 no_getfpos ( FD¢ ) bool no_setfpos ( FD¢, uint32 ) bool no_read ( FD¢, uint8[to] ) bool no_write ( FD¢, uint8[to] ) bool no_read_block ( FD¢, uint32, uint8[]¢ ) bool no_write_block ( FD¢, uint32, uint8[]¢ ) uint16 avail_in () uint16 avail_out () extern const uint16 delimiters = 13329 ucs1char getc () void putc ( ucs1char c ) ucs1str gets ( uint16 delimiters ) void puts ( ucs1str¢ ) void puts ( ucs1str ) void putnum ( uint16 ) void putnum ( int16 ) bool read ( uint8[to] ) bool write ( uint8[to] ) extern const bool option_a5 = 1 extern const uint8 bSIO_SELECT = 1 extern const uint8 bIDE_SELECT = 2 extern const uint8 mSIO_SELECT extern const uint8 mIDE_SELECT = 251 type BlockDevice = FD + { uint16 blocksize, uint16 blockmask, uint8 log2blocksize, uint32 totalblocks, bool wide, File[] open_files, init ( BlockDevice¢, NodeType, ucs1str¢ name, FD_Handlers¢, uint8 log2blksz, uint32 totalblocks ), kill ( BlockDevice¢ ), 16 getctl ( BlockDevice¢ fd, uint8 fu ), setctl ( BlockDevice¢ fd, uint8 fu, uint16 n ) } var uint16 blocksize var uint16 blockmask var uint8 log2blocksize var uint32 totalblocks var bool wide var File[] open_files void init ( BlockDevice¢, NodeType, ucs1str¢ name, FD_Handlers¢, uint8 log2blksz, uint32 totalblocks ) void kill ( BlockDevice¢ ) uint16 getctl ( BlockDevice¢ fd, uint8 fu ) void setctl ( BlockDevice¢ fd, uint8 fu, uint16 n ) type IdeBlockDevice = BlockDevice + { uint8 drive_head, lockDevice kill ( IdeBlockDevice ), 8 select_drive ( uint8 drive_head ), 8 select_master (), 8 select_slave (), 8 read_status (), 8 read_error (), 8 command_nop (), 8 set_feature ( uint8 ), 8 set_8bit_data (), 8 set_16bit_data (), 8 write_sector ( uint32 lba, void* bu ), 8 read_sector ( uint32 lba, void* bu ), 8 identify_device ( void* bu ), 16 getctl ( IdeBlockDevice¢, uint8 fu ), setctl ( IdeBlockDevice¢, uint8 fu, uint16 n ), read_block ( IdeBlockDevice¢, uint32 blk, uint8[]¢ ), write_block ( IdeBlockDevice¢, uint32 blk, uint8[]¢ ), tifyData identify ( IdeBlockDevice¢ ) } var uint8 drive_head IdeBlockDevice kill ( IdeBlockDevice ) uint8 select_drive ( uint8 drive_head ) uint8 select_master () uint8 select_slave () uint8 read_status () uint8 read_error () uint8 command_nop () uint8 set_feature ( uint8 ) uint8 set_8bit_data () uint8 set_16bit_data () uint8 write_sector ( uint32 lba, void* bu ) uint8 read_sector ( uint32 lba, void* bu ) uint8 identify_device ( void* bu ) uint16 getctl ( IdeBlockDevice¢, uint8 fu ) void setctl ( IdeBlockDevice¢, uint8 fu, uint16 n ) bool read_block ( IdeBlockDevice¢, uint32 blk, uint8[]¢ ) bool write_block ( IdeBlockDevice¢, uint32 blk, uint8[]¢ ) IdentifyData identify ( IdeBlockDevice¢ ) type I2cBlockDevice = BlockDevice + { uint8 select_mask, lockDevice kill ( I2cBlockDevice ), 8 readbyte ( bool lastbyteflag ), writebyte ( uint8 byte ), waitendwriting (), start_writing ( uint16 addr ), start_reading ( uint16 addr ), send_end (), 16 getctl ( I2cBlockDevice¢, uint8 fu ), setctl ( I2cBlockDevice¢, uint8 fu, uint16 n ), read_block ( I2cBlockDevice¢, uint32 blk, uint8[]¢ ), write_block ( I2cBlockDevice¢, uint32 blk, uint8[]¢ ) } var uint8 select_mask I2cBlockDevice kill ( I2cBlockDevice ) uint8 readbyte ( bool lastbyteflag ) bool writebyte ( uint8 byte ) bool waitendwriting () bool start_writing ( uint16 addr ) bool start_reading ( uint16 addr ) void send_end () uint16 getctl ( I2cBlockDevice¢, uint8 fu ) void setctl ( I2cBlockDevice¢, uint8 fu, uint16 n ) bool read_block ( I2cBlockDevice¢, uint32 blk, uint8[]¢ ) bool write_block ( I2cBlockDevice¢, uint32 blk, uint8[]¢ ) type SerialDevice = FD + { bool hw_handshake, uint8 sw_handshake, uint8 clk_handshake, uint8 device, uint8 channel, uint8 baudrate, uint8 sreg, uint8 rxreg, uint8 txreg, uint8 ibuwi, uint8 iburi, uint8 obuwi, uint8 oburi, ucs1str ibu, ucs1str obu, rn const uint8 obusz = 64, rn const uint8 ibusz = 64, rn const uint8 obumask = 63, rn const uint8 ibumask = 63, rn const uint8 mSWHSK_ENABLED = 1, rn const uint8 mXOFF_RECEIVED = 2, rn const uint8 mXOFF_SENT = 4, rn const uint8 bSWHSK_ENABLED = 0, rn const uint8 bXOFF_RECEIVED = 1, rn const uint8 bXOFF_SENT = 2, reset ( SerialDevice¢, bool tx, bool rx ), set_baudrate ( SerialDevice¢, uint8 baudrate ), set_sw_handshake ( SerialDevice¢, bool f ), set_hw_handshake ( SerialDevice¢, bool f ), set_clock_handshake ( SerialDevice¢, uint8 f ), alDevice kill ( SerialDevice ), setctl ( SerialDevice¢, uint8 fu, uint16 n ), 16 getctl ( SerialDevice¢, uint8 fu ), 16 avail_in ( SerialDevice¢ ), 16 avail_out ( SerialDevice¢ ), char getc ( SerialDevice¢ ), putc ( SerialDevice¢, ucs1char c ), puts ( SerialDevice¢, ucs1str¢ ), puts ( SerialDevice¢, ucs1str ), read ( SerialDevice¢, uint8[]¢ bu, uint16 a, uint16 e ), write ( SerialDevice¢, uint8[]¢ bu, uint16 a, uint16 e ), read ( SerialDevice¢, uint8[to] ), write ( SerialDevice¢, uint8[to] ) } var bool hw_handshake var uint8 sw_handshake var uint8 clk_handshake var uint8 device var uint8 channel var uint8 baudrate var uint8 sreg var uint8 rxreg var uint8 txreg var uint8 ibuwi var uint8 iburi var uint8 obuwi var uint8 oburi var ucs1str ibu var ucs1str obu extern const uint8 obusz = 64 extern const uint8 ibusz = 64 extern const uint8 obumask = 63 extern const uint8 ibumask = 63 extern const uint8 mSWHSK_ENABLED = 1 extern const uint8 mXOFF_RECEIVED = 2 extern const uint8 mXOFF_SENT = 4 extern const uint8 bSWHSK_ENABLED = 0 extern const uint8 bXOFF_RECEIVED = 1 extern const uint8 bXOFF_SENT = 2 void reset ( SerialDevice¢, bool tx, bool rx ) void set_baudrate ( SerialDevice¢, uint8 baudrate ) void set_sw_handshake ( SerialDevice¢, bool f ) void set_hw_handshake ( SerialDevice¢, bool f ) void set_clock_handshake ( SerialDevice¢, uint8 f ) SerialDevice kill ( SerialDevice ) void setctl ( SerialDevice¢, uint8 fu, uint16 n ) uint16 getctl ( SerialDevice¢, uint8 fu ) uint16 avail_in ( SerialDevice¢ ) uint16 avail_out ( SerialDevice¢ ) ucs1char getc ( SerialDevice¢ ) void putc ( SerialDevice¢, ucs1char c ) void puts ( SerialDevice¢, ucs1str¢ ) void puts ( SerialDevice¢, ucs1str ) bool read ( SerialDevice¢, uint8[]¢ bu, uint16 a, uint16 e ) bool write ( SerialDevice¢, uint8[]¢ bu, uint16 a, uint16 e ) bool read ( SerialDevice¢, uint8[to] ) bool write ( SerialDevice¢, uint8[to] ) type Range = {} type File = {} var uint8 k1_irpt_mask var uint8 sysflags var uint32 systemtime var uint16 period var uint32 timestamp var uint16 tsmsec var ucs1char* romdate var ucs1char* romtime var FD[] devs var File[] fds var FD stdin var FD stdout var SerialDevice sio1A var SerialDevice sio1B var IdeBlockDevice ide2A var IdeBlockDevice ide2B var I2cBlockDevice sio1rom var I2cBlockDevice ide2rom void di () void ei () void ei_all () void select ( uint8 ) uint8 in ( uint8 ) void out ( uint8, uint8 ) void wait () void memcpy ( void* z, void* q, uint16 cnt ) void memset ( void* z, uint16 c, uint16 cnt ) void memclr ( void* z, uint16 cnt ) void set_red_led () void set_yellow_led () void set_both_leds () void clear_both_leds () OSErr lock_eeprom () OSErr unlock_eeprom () void write_eeprom ( void* q, void* z, uint16 cnt ) void download_firmware () void abort () = opcode abort void panic ( uint8 blinkcode ) void assert1 ( bool ) void assert0 ( bool ) uint16 mem_get_free () uint16 mem_get_free_total () uint8 fd_function_not_supported () void sio_init_channel ( SerialDevice¢, ucs1str¢ name, uint8 devselbit, uint8 ch ) void ide_init_blockdevice ( BlockDevice¢ ) void i2c_init_blockdevice ( BlockDevice¢ ) extern const uint8 k1_wr_data extern const uint8 k1_rd_data extern const ucs1char xon = 17 extern const ucs1char xoff = 19 extern const uint8 baud_9600 = 4 extern const uint8 baud_57k6 = 24 SerialDevice new ( uint8 ch, ucs1str¢ name ) var uint8 imr_value var uint8 opcr_value I2cBlockDevice new ( uint8 select_mask, ucs1str¢ name ) type IdentifyData = { uint16[256] sector, ucs1str model_name, ucs1str serial_number, ucs1str firmware_revision, uint16 ata_version, uint32 cmd_sets_supported, uint32 cmd_sets_enabled, bool supports_pio3_dma1, bool supports_ultra_dma, uint8 max_rw_multiple, bool fixed_disk, bool removable_medium, uint8 cfa_power_mode, bool lba_supported, uint32 lba_dflt_capacity } var uint16[256] sector var ucs1str model_name var ucs1str serial_number var ucs1str firmware_revision var uint16 ata_version var uint32 cmd_sets_supported var uint32 cmd_sets_enabled var bool supports_pio3_dma1 var bool supports_ultra_dma var uint8 max_rw_multiple var bool fixed_disk var bool removable_medium var uint8 cfa_power_mode var bool lba_supported var uint32 lba_dflt_capacity IdeBlockDevice new ( ucs1str¢ name, bool master ) void flush () void test_str () local scope ANON var ucs1str a var ucs1str b var ucs1str c var ucs1str d local scope ANON var ucs1str a var ucs1str b