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

lltok.c File Reference

#include "lclintMacros.nf"
#include "basic.h"
#include "cgrammar.h"
#include "cgrammar_tokens.h"

Go to the source code of this file.

Functions

bool lltok_isSemi (lltok tok)
cstring lltok_unparse (lltok tok)
lltok lltok_create (int tok, fileloc loc)
void lltok_release (lltok t)


Function Documentation

lltok lltok_create ( int tok,
fileloc loc )
 

Definition at line 146 of file lltok.c.

Referenced by YY_RULE_SETUP().

00147 {
00148   lltok l;
00149 
00150   l.tok = tok;
00151   l.loc = loc;
00152 
00153   return (l);
00154 }

bool lltok_isSemi ( lltok tok )
 

Definition at line 35 of file lltok.c.

Referenced by exprNode_concat().

00036 {
00037   return (tok.tok == TSEMI);
00038 }

void lltok_release ( lltok t )
 

Definition at line 156 of file lltok.c.

Referenced by exprNode_cast().

00157 {
00158   fileloc_free (t.loc);
00159 }

cstring lltok_unparse ( lltok tok )
 

Definition at line 41 of file lltok.c.

Referenced by exprNode_assign(), and exprNode_postOp().

00042 {
00043   char *lit;
00044 
00045   switch (tok.tok)
00046     {
00047     case BREAK:      lit = "break"; break;
00048     case CASE:       lit = "case"; break;
00049     case CONTINUE:   lit = "continue"; break;
00050     case DEFAULT:    lit = "default"; break;
00051     case DO:         lit = "do"; break;
00052     case CDOUBLE:    lit = "double"; break;
00053     case CELSE:      lit = "else"; break;
00054     case CFOR:       lit = "for"; break;
00055     case GOTO:       lit = "goto"; break;
00056     case CIF:        lit = "if"; break;
00057     case RETURN:     lit = "return"; break;
00058     case CSIZEOF:    lit = "sizeof"; break;
00059     case SWITCH:     lit = "switch"; break;
00060     case WHILE:      lit = "while"; break;
00061     case CSTRUCT:    lit = "struct"; break;
00062     case CTYPEDEF:   lit = "typedef"; break;
00063     case CUNION:     lit = "union"; break;
00064     case CENUM:      lit = "enum"; break;
00065     case QEXTERN:     lit = "extern"; break;
00066     case QAUTO:       lit = "auto"; break;
00067     case QSTATIC:     lit = "static"; break;
00068     case RIGHT_ASSIGN: lit = ">>="; break;
00069     case LEFT_ASSIGN:  lit = "<<="; break;
00070     case ADD_ASSIGN: lit = "+="; break;
00071     case SUB_ASSIGN: lit = "-="; break;
00072     case MUL_ASSIGN: lit = "*="; break;
00073     case DIV_ASSIGN: lit = "/="; break;
00074     case MOD_ASSIGN: lit = "%="; break;
00075     case AND_ASSIGN: lit = "&="; break;
00076     case XOR_ASSIGN: lit = "^="; break;
00077     case OR_ASSIGN:  lit = "|="; break;
00078     case RIGHT_OP:   lit = ">>"; break;
00079     case LEFT_OP:    lit = "<<"; break;
00080     case INC_OP:     lit = "++"; break; 
00081     case DEC_OP:     lit = "--"; break;
00082     case ARROW_OP:   lit = "->"; break;
00083     case AND_OP:     lit = "&&"; break;
00084     case OR_OP:      lit = "||"; break;
00085     case LE_OP:      lit = "<="; break;
00086     case GE_OP:      lit = ">="; break;
00087     case EQ_OP:      lit = "=="; break;
00088     case NE_OP:      lit = "!="; break;
00089     case TSEMI:      lit = ";"; break;
00090     case TLBRACE:    lit = "{"; break;
00091     case TRBRACE:    lit = "}"; break;
00092     case TCOMMA:     lit = ","; break;
00093     case TCOLON:     lit = ":"; break;
00094     case TASSIGN:        lit = "="; break;
00095     case TLPAREN:    lit = "("; break;
00096     case TRPAREN:    lit = ")"; break;
00097     case TLSQBR:     lit = "["; break;
00098     case TRSQBR:     lit = "]"; break;
00099     case TDOT:       lit = "."; break;
00100     case TAMPERSAND: lit = "&"; break;
00101     case TEXCL:      lit = "!"; break;
00102     case TTILDE:     lit = "~"; break;
00103     case TMINUS:     lit = "-"; break;
00104     case TPLUS:      lit = "+"; break;
00105     case TMULT:      lit = "*"; break;
00106     case TDIV:       lit = "/"; break;
00107     case TPERCENT:   lit = "%"; break;
00108     case TLT:        lit = "<"; break;
00109     case TGT:        lit = ">"; break;
00110     case TCIRC:      lit = "^"; break;
00111     case TBAR:       lit = "|"; break;
00112     case TQUEST:     lit = "?"; break;  
00113     case QOUT:       lit = "out"; break;
00114     case QONLY:      lit = "only"; break;
00115     case QKEEP:      lit = "keep"; break;
00116     case QKEPT:      lit = "kept"; break;
00117     case QTEMP:      lit = "temp"; break;
00118     case QSHARED:    lit = "shared"; break;
00119     case QUNIQUE:    lit = "unique"; break;
00120     case QREF:       lit = "ref"; break;
00121     case QCHECKED:   lit = "checked"; break;
00122     case QCHECKEDSTRICT: lit = "checkedstrict"; break;
00123     case QCHECKMOD:  lit = "checkmod"; break;
00124     case QUNCHECKED: lit = "unchecked"; break;
00125     case QTRUENULL:  lit = "truenull"; break;
00126     case QFALSENULL: lit = "falsenull"; break;
00127     case QRETURNED:  lit = "returned"; break;
00128     case QEXPOSED:   lit = "exposed"; break;
00129     case QNULL:      lit = "null"; break;
00130     case QRELNULL:   lit = "refnull"; break;
00131     case QOBSERVER:  lit = "observer"; break;
00132     case QPARTIAL:   lit = "partial"; break;
00133     case QSPECIAL:   lit = "special"; break;
00134     case QUSES:      lit = "uses"; break;
00135     case QDEFINES:   lit = "defines"; break;
00136     case QALLOCATES: lit = "allocates"; break;
00137     case QSETS:      lit = "sets"; break;
00138     case QRELEASES:  lit = "releases"; break;
00139     BADDEFAULT;
00140     }
00141  
00142   return cstring_makeLiteralTemp (lit);
00143 }


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