Re: The Big Plan - was Euphoria 2.5 Features..... ??
- Posted by Pete Lomax <petelomax at blueyonder.co.uk> Dec 09, 2003
- 550 views
On Tue, 9 Dec 2003 14:05:05 +0700, aku saya <akusaya at gmx.net> wrote: > > >R> - binder (has always been written 100% in Euphoria) >R> becomes radically simpler, smaller (reduced to 1/10 the size?, >R> plus shared copy of front-end to produce the IL), >R> easier to maintain in the future > >In addition, I have a tip to reduce the back-end interpreter size, >that is removing the machine_proc/func code that can be replaced by >Windows/Linux API. > >The code of the API implementation is only automatically included when >it is used in the program. > >So, if the program uses (for example) free_console(), the bound >program will consist of back-end interpreter, free_console.lib and >the program itself. But if the program doesn't use free_console(), the >bound program will consist of back-end interpreter and the program >itself. So it's smaller. > >Some machine_func/proc code that can be replaced that I found are: >(win32 only, i don't know linux APIs) > > >M_FREE_CONSOLE = 54 change to kernel32:FreeConsole > > >M_SEEK = 19, >M_WHERE = 20, >M_DIR = 22, >M_CURRENT_DIR = 23, change to kernel32: file functions >M_FLUSH = 60, >M_LOCK_FILE = 61, >M_UNLOCK_FILE = 62, >M_CHDIR = 63 > With the exception of M_SLEEP, I think the remainder are all DOS32 routines. I think it would make sense, and be alot simpler, to put all of these in a single [optional] DOS32 link pack. It wouldn't surprise me if it adds up to less than 1K, though. > >M_SOUND = 1, >M_LINE = 2, >M_PALETTE = 3, >M_GRAPHICS_MODE = 5, >M_CURSOR = 6, are these still needed? >M_WRAP = 7, maybe these can be changed to >M_SCROLL = 8, respective machine-code (for the dos32) >M_SET_T_COLOR = 9, >M_SET_B_COLOR = 10, or to ncurses library/win32 console API >M_POLYGON = 11, (in separate file) >M_TEXTROWS = 12, >M_VIDEO_CONFIG = 13, >M_ELLIPSE = 18, >M_GET_POSITION = 25, >M_ALL_PALETTE = 27 > > >M_SLEEP = 64 change to kernel32:Sleep > > >M_GET_MOUSE = 14, >M_MOUSE_EVENTS = 15, don't know >M_MOUSE_POINTER = 24 > > > >TOPICA - Start your own email discussion group. FREE! > >