symbols[]: global scope global global scope implicit__FD 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 ucs1char operator + ( ucs1char, uint8 ) = opcode + 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¢ fd, NodeType nodetype, ucs1str¢ name, FD_Handlers¢ handlers ), kill ( FD¢ fd ), ill ( FD fd ), 16 getctl ( FD¢ fd, uint8 fu ), setctl ( FD¢ fd, uint8 fu, uint16 n ), 16 avail_in ( FD¢ fd ), 16 avail_out ( FD¢ fd ), char getc ( FD¢ fd ), putc ( FD¢ fd, ucs1char c ), str gets ( FD¢ fd, uint16 delimiters ), puts ( FD¢ fd, ucs1str¢ s ), puts ( FD¢ fd, ucs1str s ), putnum ( FD¢ fd, uint16 n ), putnum ( FD¢ fd, int16 n ), read ( FD¢ fd, uint8[to] bu ), write ( FD¢ fd, uint8[to] bu ), read_block ( FD¢ fd, uint32 blk, uint8[]¢ bu ), write_block ( FD¢ fd, uint32 blk, uint8[]¢ bu ), 32 getfpos ( FD¢ fd ), setfpos ( FD¢ fd, uint32 fpos ), is_dir ( FD¢ fd ), is_file ( FD¢ fd ) } var FD_Handlers¢ handlers var NodeType nodetype var ucs1str name void init ( FD¢ fd, NodeType nodetype, ucs1str¢ name, FD_Handlers¢ handlers ) void kill ( FD¢ fd ) FD kill ( FD fd ) uint16 getctl ( FD¢ fd, uint8 fu ) void setctl ( FD¢ fd, uint8 fu, uint16 n ) uint16 avail_in ( FD¢ fd ) uint16 avail_out ( FD¢ fd ) ucs1char getc ( FD¢ fd ) void putc ( FD¢ fd, ucs1char c ) ucs1str gets ( FD¢ fd, uint16 delimiters ) var ucs1char(FD¢) getc var uint16 n var uint16 i var ucs1str s local scope ANON var ucs1char c void puts ( FD¢ fd, ucs1str¢ s ) void puts ( FD¢ fd, ucs1str s ) void putnum ( FD¢ fd, uint16 n ) void putnum ( FD¢ fd, int16 n ) bool read ( FD¢ fd, uint8[to] bu ) bool write ( FD¢ fd, uint8[to] bu ) bool read_block ( FD¢ fd, uint32 blk, uint8[]¢ bu ) bool write_block ( FD¢ fd, uint32 blk, uint8[]¢ bu ) uint32 getfpos ( FD¢ fd ) bool setfpos ( FD¢ fd, uint32 fpos ) bool is_dir ( FD¢ fd ) bool is_file ( FD¢ 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 e ) bool yes_with_error ( OSErr e ) void* null_with_error ( OSErr e ) 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¢ fd ) uint16 no_avail_out ( FD¢ fd ) ucs1char no_getc ( FD¢ fd ) void no_putc ( FD¢ fd, ucs1char ) uint32 no_getfpos ( FD¢ fd ) bool no_setfpos ( FD¢ fd, uint32 ) bool no_read ( FD¢ fd, uint8[to] ) bool no_write ( FD¢, uint8[to] ) bool no_read_block ( FD¢ 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¢ s ) void puts ( ucs1str s ) void putnum ( uint16 n ) void putnum ( int16 n ) bool read ( uint8[to] range ) bool write ( uint8[to] range ) 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 ), e allocate_blocks ( BlockDevice¢ bdev, uint32 maxnum, uint32 bestpos ) } 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 ) Range allocate_blocks ( BlockDevice¢ bdev, uint32 maxnum, uint32 bestpos ) type IdeBlockDevice = {} type I2cBlockDevice = {} 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 = { uint32 start, uint32 count, 32 ende ( Range¢ r ) } var uint32 start var uint32 count uint32 ende ( Range¢ r ) type File = BlockDevice + { uint32 parent, BlockDevice device, uint32 fsize, Ranges ranges, bool writable, bool file_dirty, bool buffer_dirty, bool buffer_valid, uint8[] buffer, uint32 blkno, uint32 fpos, uint16 ri, uint32 bi, kill ( File ), kill ( File¢ ), 16 getctl ( File¢, uint8 fu ), setctl ( File¢, uint8 fu, uint16 n ), 16 bu_free ( File¢ ), 16 bu_avail ( File¢ ), 16 avail_in ( File¢ ), 16 avail_out ( File¢ ), 32 getfpos ( File¢ ), 32 getfsize ( File¢ ), 32 getfavail ( File¢ ), setfpos ( File¢, uint32 fpos ), rewind ( File¢ ), seek_end ( File¢ ), skip ( File¢, int32 offs ), truncate ( File¢ ), readbyte ( File¢, uint8& ), writebyte ( File¢, uint8 ), char getc ( File¢ ), putc ( File¢, ucs1char c ), puts ( File¢, ucs1str¢ s ), puts ( File¢, ucs1str s ), write ( File¢, uint8[]¢, uint16 a, uint16 e ), read ( File¢, uint8[]¢, uint16 a, uint16 e ), write ( File¢, uint8[to] ), read ( File¢, uint8[to] ), write_block ( File¢, uint32, uint8[]¢ ), read_block ( File¢, uint32, uint8[]¢ ), copy_block ( File¢ fd, uint32 z, uint32 q, uint32 n ), open_gap ( File¢ fd, uint32 start, uint32 size ), close_gap ( File¢ fd, uint32 start, uint32 size ), sync ( File¢ ), purge_buffer ( File¢ ), 32 block0 ( File¢ ), _rewind ( File¢ fd ) } var uint32 parent var BlockDevice device var uint32 fsize var Ranges ranges var bool writable var bool file_dirty var bool buffer_dirty var bool buffer_valid var uint8[] buffer var uint32 blkno var uint32 fpos var uint16 ri var uint32 bi File kill ( File ) void kill ( File¢ ) uint16 getctl ( File¢, uint8 fu ) void setctl ( File¢, uint8 fu, uint16 n ) uint16 bu_free ( File¢ ) uint16 bu_avail ( File¢ ) uint16 avail_in ( File¢ ) uint16 avail_out ( File¢ ) uint32 getfpos ( File¢ ) uint32 getfsize ( File¢ ) uint32 getfavail ( File¢ ) bool setfpos ( File¢, uint32 fpos ) bool rewind ( File¢ ) bool seek_end ( File¢ ) bool skip ( File¢, int32 offs ) bool truncate ( File¢ ) bool readbyte ( File¢, uint8& ) bool writebyte ( File¢, uint8 ) ucs1char getc ( File¢ ) void putc ( File¢, ucs1char c ) void puts ( File¢, ucs1str¢ s ) void puts ( File¢, ucs1str s ) bool write ( File¢, uint8[]¢, uint16 a, uint16 e ) bool read ( File¢, uint8[]¢, uint16 a, uint16 e ) bool write ( File¢, uint8[to] ) bool read ( File¢, uint8[to] ) bool write_block ( File¢, uint32, uint8[]¢ ) bool read_block ( File¢, uint32, uint8[]¢ ) bool copy_block ( File¢ fd, uint32 z, uint32 q, uint32 n ) bool open_gap ( File¢ fd, uint32 start, uint32 size ) bool close_gap ( File¢ fd, uint32 start, uint32 size ) bool sync ( File¢ ) bool purge_buffer ( File¢ ) uint32 block0 ( File¢ ) void _rewind ( File¢ fd ) 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 Range new ( uint32 start, uint32 count ) type Ranges = Range[] uint32 totalblocks ( Ranges¢ ) Range pop ( Ranges¢ ) Ranges new ( Range ) Ranges new ( uint32 start, uint32 count ) type FileType = enum uint8 var FD_Handlers file_handlers