Re: The Big Plan - was Euphoria 2.5 Features..... ??

new topic     » goto parent     » topic index » view thread      » older message » newer message

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!
>
>

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu