func Init() fvar(old, s, c, a) if(isndef(Numbers)) // static array a = Numbers c = _arr.count(a) fvar(n, i) for(i = 0; i < c; i++) n &= a[i][0] end s = code(_arr.join(n, ',')) old = block.select(BLK_LOC) println('int ' + arr + '[' + c + '] = {' + s + '};') block.select(old) else // dynamic array lng.decl_priv_var(arr, 'int*') lng.decl_priv_var(arr_count, 'int') old = block.select(BLK_INIT) println(arr + ' = NULL;') println(arr_count + ' = 0;') block.select(old) end end func Array(_data) // read write count add if(_data[0] = "@perm@") if(isdef(Numbers)) return(1 & 1 & 1 & 1) else return(1 & 1 & 0 & 0) end elseif(_data[0] = "@read@") return((arr + '[' + _data[1] + ']')@int) elseif(_data[0] = "@write@") return(arr + '[' + _data[1] + '] = ' + e_int(_data[2])) elseif(_data[0] = "@count@") if(isndef(Numbers)) return(arr_count@int) end elseif(_data[0] = "@add@") if(isndef(Numbers)) return(arr_count + '++; ' + arr + ' = (int*)realloc(' + arr + ', sizeof(int)*' + arr_count + '); ' + arr + '[' + arr_count + '-1] = ' + e_int(_data[1])) end else return('') end end