/
Sapphire/bin/
Sapphire/db/
Sapphire/db/OLC_rooms/
Sapphire/db/abi/
Sapphire/db/em_src/
Sapphire/db/helps/
Sapphire/db/helps/emman/ifunc/
Sapphire/db/npcs/Tatt/
Sapphire/db/objects/Tatt/
Sapphire/db/q_data/
Sapphire/db/rooms/Tatt/
Sapphire/doc/
Sapphire/doc/em/
Sapphire/etc/
Sapphire/src/abic/
Sapphire/src/areacon/
Sapphire/src/client/
Sapphire/src/embc/
Sapphire/src/emi/
Sapphire/src/emi/test/
Sapphire/src/include/
Sapphire/src/sapphire/em/
Sapphire/src/tcon/
The Automatic Binary Interface Compiler
---------------------------------------

Program name  : abic
Usage         : abic [input file] [output file]


    Abic reads text Automatic Binary Interface files (.abi) and compiles
them into actaul binary files.

    Automatic Binary Interface files consist of literal types followed by
values.  In file comments are also allowed.  Comments start with a `;' and
terminate when the end of the line is reached.


- Literal types

    int1                      integer; one byte
    int2                      integer; two bytes
    int4                      integer; four bytes
    float4                    floating point; four bytes
    float8                    floating point; eight bytes
    string                    string; size varys (one byte per character)


- ABI Example Code


;
; File:         hello.abi
; Author:       Christopher D. Granz
;
; Binary File:  Compiles to an Emerald object file.
;
; Description:
;     Defines one function, hello().  When called, hello() prints the
; message "Hello World!" to the standard output terminal.  Calls one
; builtin function, sysout().
;

int1 1                       ; File format version.

int2 2                       ; Number of entries in the symbol table.
;
; Symbol Table
;
int2 5
string "hello"
int2 6
string "sysout"

int4 1                       ; Global code size.
;
; Global code
;
int1 0                       ; END

int2 1                       ; Number of functions.

;
; Function: hello()
;
int4 0                       ; Function flags.
int1 0                       ; Number of arguments.
int2 0                       ; Symbol table name reference.
int4 23                      ; Code size.
; Function code.
int1 14                      ; PUSH_STRING
int2 14
string "\nHello World!\n"
int1 77
int2 1
int1 41                      ; CALL_BUILTIN_FUNC
int1 21
int1 0                       ; END
; Function code end.

;
; End of hello.abi
;



--