Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

/home/groups/n/no/noxwizard/cvs/src/compiler/sc1.c File Reference

#include <assert.h>
#include <ctype.h>
#include <limits.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "sc.h"

Defines

#define VERSION_STR   "2.1.0"
#define VERSION_INT   0x210
#define MAX_OPTIONS   100
#define MAXTAGS   16

Functions

void resetglobals (void)
void initglobals (void)
void setopt (int argc, char **argv, char *iname, char *oname, char *bname, char *ename, char *pname, char *rname)
void setconfig (char *root)
void setcaption (void)
void about (void)
void setconstants (void)
void parse (void)
void dumplits (void)
void dumpzero (int count)
void declfuncvar (int tok, char *symname, int tag, int fpublic, int fstatic, int fstock, int fconst)
void declglb (char *firstname, int firsttag, int fpublic, int fstatic, int stock, int fconst)
int declloc (int fstatic)
void decl_const (int table)
void decl_enum (int table)
cell needsub (int *tag)
void initials (int ident, int tag, cell *size, int dim[], int numdim)
cell initvector (int ident, int tag, cell size, int fillzero)
cell init (int ident, int *tag)
void funcstub (int native)
int newfunc (char *firstname, int firsttag, int fpublic, int fstatic, int stock)
int declargs (symbol *sym)
void doarg (char *name, int ident, int offset, int tags[], int numtags, int fpublic, int fconst, arginfo *arg)
void dump_referrers (symbol *root, FILE *log)
void reduce_referrers (symbol *root)
int testsymbols (symbol *root, int level, int testlabs, int testconst)
void destructsymbols (symbol *root, int level)
constvalfind_constval_byval (constval *table, cell val)
void statement (int *lastindent)
void compound (void)
void doexpr (int comma, int chkeffect, int allowarray, int mark_endexpr, int *tag, int chkfuncresult)
void doassert (void)
void doexit (void)
void test (int label, int parens, int invert)
void doif (void)
void dowhile (void)
void dodo (void)
void dofor (void)
void doswitch (void)
void dogoto (void)
void dolabel (void)
symbolfetchlab (char *name)
void doreturn (void)
void dobreak (void)
void docont (void)
void dosleep (void)
void addwhile (int *ptr)
void delwhile (void)
int * readwhile (void)
int main (int argc, char *argv[], char *env[])
int sc_printf (const char *message,...)
int sc_error (int number, char *message, char *filename, int firstline, int lastline, va_list argptr)
void * sc_opensrc (char *filename)
void sc_closesrc (void *handle)
void sc_resetsrc (void *handle, void *position)
char * sc_readsrc (void *handle, char *target, int maxchars)
void * sc_getpossrc (void *handle)
int sc_eofsrc (void *handle)
void * sc_openasm (char *filename)
void sc_closeasm (void *handle, int deletefile)
void sc_resetasm (void *handle)
int sc_writeasm (void *handle, char *st)
char * sc_readasm (void *handle, char *target, int maxchars)
void * sc_openbin (char *filename)
void sc_closebin (void *handle, int deletefile)
void sc_resetbin (void *handle)
int sc_writebin (void *handle, void *buffer, int size)
long sc_lengthbin (void *handle)
int sc_compile (int argc, char *argv[])
int sc_addconstant (char *name, cell value, int tag)
int sc_addtag (char *name)
int toggle_option (char *optptr, int option)
void parserespf (char *filename, char *iname, char *oname, char *bname, char *ename, char *pname, char *rname)
void parseoptions (int argc, char **argv, char *iname, char *oname, char *bname, char *ename, char *pname, char *rname)
int waitkey (void)
void aligndata (int numbytes)
cell calc_arraysize (int dim[], int numdim, int cur)
symbolfetchfunc (char *name, int tag)
void define_args (void)
int operatorname (char *name)
int operatoradjust (int opertok, symbol *sym, char *opername)
int check_operatortag (int opertok, int resulttag, char *opername)
int parse_funcname (char *fname, int *tag1, int *tag2, char *opname)
char * funcdisplayname (char *dest, char *funcname)
int argcompare (arginfo *a1, arginfo *a2)
int count_referrers (symbol *entry)
cell calc_array_datasize (symbol *sym, cell *offset)
constvalinsert_constval (constval *prev, constval *next, char *name, cell val)
constvalappend_constval (constval *table, char *name, cell val)
constvalfind_constval (constval *table, char *name)
void delete_consttable (constval *table)
void add_constant (char *name, cell val, int vclass, int tag)
int constexpr (cell *val, int *tag)
void exporttag (int tag)

Variables

int lastst = 0
int nestlevel = 0
int rettype = 0
int skipinput = 0
int wq [(24 *wqSIZE)]
int * wqptr
char binfname [255]

Define Documentation

#define MAX_OPTIONS   100
 

#define MAXTAGS   16
 

#define VERSION_INT   0x210
 

#define VERSION_STR   "2.1.0"
 


Function Documentation

void about void    [static]
 

void add_constant char *    name,
cell    val,
int    vclass,
int    tag
 

void addwhile int *    ptr [static]
 

void aligndata int    numbytes [static]
 

constval* append_constval constval   table,
char *    name,
cell    val
 

int argcompare arginfo   a1,
arginfo   a2
[static]
 

cell calc_array_datasize symbol   sym,
cell   offset
[static]
 

cell calc_arraysize int    dim[],
int    numdim,
int    cur
[static]
 

int check_operatortag int    opertok,
int    resulttag,
char *    opername
[static]
 

void compound void    [static]
 

int constexpr cell   val,
int *    tag
 

int count_referrers symbol   entry [static]
 

void decl_const int    table [static]
 

void decl_enum int    table [static]
 

int declargs symbol   sym [static]
 

void declfuncvar int    tok,
char *    symname,
int    tag,
int    fpublic,
int    fstatic,
int    fstock,
int    fconst
[static]
 

void declglb char *    firstname,
int    firsttag,
int    fpublic,
int    fstatic,
int    stock,
int    fconst
[static]
 

int declloc int    fstatic [static]
 

void define_args void    [static]
 

void delete_consttable constval   table
 

void delwhile void    [static]
 

void destructsymbols symbol   root,
int    level
[static]
 

void doarg char *    name,
int    ident,
int    offset,
int    tags[],
int    numtags,
int    fpublic,
int    fconst,
arginfo   arg
[static]
 

void doassert void    [static]
 

void dobreak void    [static]
 

void docont void    [static]
 

void dodo void    [static]
 

void doexit void    [static]
 

void doexpr int    comma,
int    chkeffect,
int    allowarray,
int    mark_endexpr,
int *    tag,
int    chkfuncresult
[static]
 

void dofor void    [static]
 

void dogoto void    [static]
 

void doif void    [static]
 

void dolabel void    [static]
 

void doreturn void    [static]
 

void dosleep void    [static]
 

void doswitch void    [static]
 

void dowhile void    [static]
 

void dump_referrers symbol   root,
FILE *    log
[static]
 

void dumplits void    [static]
 

void dumpzero int    count [static]
 

void exporttag int    tag [static]
 

symbol* fetchfunc char *    name,
int    tag
 

symbol * fetchlab char *    name [static]
 

constval* find_constval constval   table,
char *    name
 

constval * find_constval_byval constval   table,
cell    val
[static]
 

char* funcdisplayname char *    dest,
char *    funcname
 

void funcstub int    native [static]
 

cell init int    ident,
int *    tag
[static]
 

void initglobals void    [static]
 

void initials int    ident,
int    tag,
cell   size,
int    dim[],
int    numdim
[static]
 

cell initvector int    ident,
int    tag,
cell    size,
int    fillzero
[static]
 

constval* insert_constval constval   prev,
constval   next,
char *    name,
cell    val
[static]
 

int main int    argc,
char *    argv[],
char *    env[]
 

cell needsub int *    tag [static]
 

int newfunc char *    firstname,
int    firsttag,
int    fpublic,
int    fstatic,
int    stock
[static]
 

int operatoradjust int    opertok,
symbol   sym,
char *    opername
[static]
 

int operatorname char *    name [static]
 

void parse void    [static]
 

int parse_funcname char *    fname,
int *    tag1,
int *    tag2,
char *    opname
[static]
 

void parseoptions int    argc,
char **    argv,
char *    iname,
char *    oname,
char *    bname,
char *    ename,
char *    pname,
char *    rname
[static]
 

void parserespf char *    filename,
char *    iname,
char *    oname,
char *    bname,
char *    ename,
char *    pname,
char *    rname
[static]
 

int * readwhile void    [static]
 

void reduce_referrers symbol   root [static]
 

void resetglobals void    [static]
 

int sc_addconstant char *    name,
cell    value,
int    tag
 

int sc_addtag char *    name
 

void sc_closeasm void *    handle,
int    deletefile
 

void sc_closebin void *    handle,
int    deletefile
 

void sc_closesrc void *    handle
 

int sc_compile int    argc,
char *    argv[]
 

int sc_eofsrc void *    handle
 

int sc_error int    number,
char *    message,
char *    filename,
int    firstline,
int    lastline,
va_list    argptr
 

void* sc_getpossrc void *    handle
 

long sc_lengthbin void *    handle
 

void* sc_openasm char *    filename
 

void* sc_openbin char *    filename
 

void* sc_opensrc char *    filename
 

int sc_printf const char *    message,
...   
 

char* sc_readasm void *    handle,
char *    target,
int    maxchars
 

char* sc_readsrc void *    handle,
char *    target,
int    maxchars
 

void sc_resetasm void *    handle
 

void sc_resetbin void *    handle
 

void sc_resetsrc void *    handle,
void *    position
 

int sc_writeasm void *    handle,
char *    st
 

int sc_writebin void *    handle,
void *    buffer,
int    size
 

void setcaption void    [static]
 

void setconfig char *    root [static]
 

void setconstants void    [static]
 

void setopt int    argc,
char **    argv,
char *    iname,
char *    oname,
char *    bname,
char *    ename,
char *    pname,
char *    rname
[static]
 

void statement int *    lastindent [static]
 

void test int    label,
int    parens,
int    invert
[static]
 

int testsymbols symbol   root,
int    level,
int    testlabs,
int    testconst
[static]
 

int toggle_option char *    optptr,
int    option
[static]
 

int waitkey void    [static]
 


Variable Documentation

char binfname[ 255 ] [static]
 

int lastst = 0 [static]
 

int nestlevel = 0 [static]
 

int rettype = 0 [static]
 

int skipinput = 0 [static]
 

int wq[ (24*wqSIZE) ] [static]
 

int* wqptr [static]
 

SourceForge.net Logo