FORM  4.2.1
Functions
names.c File Reference
#include "form3.h"

Go to the source code of this file.

Functions

NAMENODEGetNode (NAMETREE *nametree, UBYTE *name)
 
int AddName (NAMETREE *nametree, UBYTE *name, WORD type, WORD number, int *nodenum)
 
int GetName (NAMETREE *nametree, UBYTE *name, WORD *number, int par)
 
UBYTE * GetFunction (UBYTE *s, WORD *funnum)
 
UBYTE * GetNumber (UBYTE *s, WORD *num)
 
int GetLastExprName (UBYTE *name, WORD *number)
 
int GetOName (NAMETREE *nametree, UBYTE *name, WORD *number, int par)
 
int GetAutoName (UBYTE *name, WORD *number)
 
int GetVar (UBYTE *name, WORD *type, WORD *number, int wantedtype, int par)
 
WORD EntVar (WORD type, UBYTE *name, WORD x, WORD y, WORD z, WORD d)
 
int GetDollar (UBYTE *name)
 
VOID DumpTree (NAMETREE *nametree)
 
VOID DumpNode (NAMETREE *nametree, WORD node, WORD depth)
 
int CompactifyTree (NAMETREE *nametree, WORD par)
 
VOID CopyTree (NAMETREE *newtree, NAMETREE *oldtree, WORD node, WORD par)
 
VOID LinkTree (NAMETREE *tree, WORD offset, WORD numnodes)
 
NAMETREEMakeNameTree ()
 
VOID FreeNameTree (NAMETREE *n)
 
void ClearWildcardNames ()
 
int AddWildcardName (UBYTE *name)
 
int GetWildcardName (UBYTE *name)
 
int AddSymbol (UBYTE *name, int minpow, int maxpow, int cplx, int dim)
 
int CoSymbol (UBYTE *s)
 
int AddIndex (UBYTE *name, int dim, int dim4)
 
int CoIndex (UBYTE *s)
 
UBYTE * DoDimension (UBYTE *s, int *dim, int *dim4)
 
int CoDimension (UBYTE *s)
 
int AddVector (UBYTE *name, int cplx, int dim)
 
int CoVector (UBYTE *s)
 
int AddFunction (UBYTE *name, int comm, int istensor, int cplx, int symprop, int dim, int argmax, int argmin)
 
int CoCommuteInSet (UBYTE *s)
 
int CoFunction (UBYTE *s, int comm, int istensor)
 
int CoNFunction (UBYTE *s)
 
int CoCFunction (UBYTE *s)
 
int CoNTensor (UBYTE *s)
 
int CoCTensor (UBYTE *s)
 
int DoTable (UBYTE *s, int par)
 
int CoTable (UBYTE *s)
 
int CoNTable (UBYTE *s)
 
int CoCTable (UBYTE *s)
 
void EmptyTable (TABLES T)
 
int AddSet (UBYTE *name, WORD dim)
 
int DoElements (UBYTE *s, SETS set, UBYTE *name)
 
int CoSet (UBYTE *s)
 
int DoTempSet (UBYTE *from, UBYTE *to)
 
int CoAuto (UBYTE *inp)
 
int AddDollar (UBYTE *name, WORD type, WORD *start, LONG size)
 
int ReplaceDollar (WORD number, WORD newtype, WORD *newstart, LONG newsize)
 
int AddDubious (UBYTE *name)
 
int MakeDubious (NAMETREE *nametree, UBYTE *name, WORD *number)
 
int NameConflict (int type, UBYTE *name)
 
int AddExpression (UBYTE *name, int x, int y)
 
int GetLabel (UBYTE *name)
 
void ResetVariables (int par)
 
void RemoveDollars ()
 
void Globalize (int par)
 
int TestName (UBYTE *name)
 

Detailed Description

The complete names administration. All variables with a name have to pass here to be properly registered, have structs of the proper type assigned to them etc. The file also contains the utility routines for maintaining the balanced trees that make searching for names rather fast.

Definition in file names.c.