Main Page   Alphabetical List   Compound List   File List   Compound Members   File Members  

lclsyntable.c File Reference

#include "lclintMacros.nf"
#include "basic.h"
#include "lcltokentable.h"
#include "lclsyntable.h"

Go to the source code of this file.

Functions

void LCLAddSyn (lsymbol ntok, lsymbol otok)
ltoken LCLGetTokenForSyn (lsymbol ntok)
bool LCLIsSyn (lsymbol str)
void LCLSynTableInit (void)
void LCLSynTableReset (void)
void LCLSynTableCleanup (void)


Function Documentation

void LCLAddSyn ( lsymbol ntok,
lsymbol otok )
 

Definition at line 53 of file lclsyntable.c.

Referenced by LCLProcessInitFileInit().

00054 {
00055   while (otok >= MaxSyn)
00056     {
00057       /* No more space available.  Allocate more. */
00058       AllocSynTable ();
00059     }
00060 
00061   llassert (SynTable != NULL);
00062 
00063   if (SynTable[ntok] == 0)
00064     {
00065      /* Entry is empty. Fill it in. */
00066       SynTable[ntok] = otok;
00067 
00068       /* Mark oldToken as having a synonym. */
00069       LCLSetTokenHasSyn (otok, TRUE);
00070     }
00071   else
00072     {
00073       llbuglit ("LCLAddSyn: invalid argument");
00074     }
00075 }

ltoken LCLGetTokenForSyn ( lsymbol ntok )
 

Definition at line 78 of file lclsyntable.c.

Referenced by lsymbol_sortFromType().

00079 {
00080   llassert (SynTable != NULL);
00081 
00082   if (!((ntok < MaxSyn) || (SynTable[ntok] != 0)))
00083     llbuglit ("LCLGetSyn: bad argument");
00084 
00085   return LCLGetToken (SynTable[ntok]);
00086 }

bool LCLIsSyn ( lsymbol str )
 

Definition at line 89 of file lclsyntable.c.

Referenced by LCLScanLine(), and lsymbol_sortFromType().

00090 {
00091   if (MaxSyn == 0)
00092     {
00093       return FALSE;
00094     }
00095   else
00096     {
00097       llassert (SynTable != NULL);
00098 
00099       if (str < MaxSyn)
00100         {
00101           /* Check for synonym entry in table. */
00102           return (SynTable[str] != 0);
00103         }
00104       else
00105         {
00106           /* No token for synonym.  Return FALSE. */
00107           return FALSE;
00108         }
00109     }
00110 }

void LCLSynTableCleanup ( void )
 

Definition at line 177 of file lclsyntable.c.

00178 {
00179   sfree (SynTable);
00180   SynTable = NULL;
00181 }

void LCLSynTableInit ( void )
 

Definition at line 166 of file lclsyntable.c.

00167 {
00168   MaxSyn = 0;
00169 }

void LCLSynTableReset ( void )
 

Definition at line 172 of file lclsyntable.c.

00173 {
00174 }


Generated at Fri Nov 3 18:58:00 2000 for LCLint by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000