quelques modifs

This commit is contained in:
Ludovic Jacomme 2002-04-26 12:53:14 +00:00
parent 381273cd15
commit c5265bdb23
4 changed files with 36 additions and 27 deletions

View File

@ -139,8 +139,14 @@ typedef struct ctltype_list
{ {
struct ctltype_list *NEXT; struct ctltype_list *NEXT;
char *NAME; char *NAME;
unsigned long LEFT;
unsigned long RIGHT;
unsigned long SIZE; unsigned long SIZE;
char **VALUE; char **VALUE;
char CLASS;
unsigned long INDEX;
struct ctltype_list *BASE;
ctlline_list *LINE; ctlline_list *LINE;
long FLAGS; long FLAGS;
void *USER; void *USER;
@ -176,8 +182,8 @@ typedef struct ctltype_list
vexexpr *VEX_ATOM; vexexpr *VEX_ATOM;
vexexpr *VEX_INIT; vexexpr *VEX_INIT;
ctlsym *DECL_SYM; ctlsym *DECL_SYM;
ctltype_list *USER_TYPE; ctltype_list *TYPE;
unsigned char TYPE; unsigned char DECL_TYPE;
ctlline_list *LINE; ctlline_list *LINE;
long FLAGS; long FLAGS;
void *USER; void *USER;

View File

@ -118,11 +118,11 @@ ctlfig_list *addctlfig( Name )
| | | |
\------------------------------------------------------------*/ \------------------------------------------------------------*/
static ctldecl_list *loc_addctldecl( Figure, Expr, Type ) static ctldecl_list *loc_addctldecl( Figure, Expr, DeclType )
ctlfig_list *Figure; ctlfig_list *Figure;
vexexpr *Expr; vexexpr *Expr;
unsigned char Type; unsigned char DeclType;
{ {
ctldecl_list *Decl; ctldecl_list *Decl;
ctldecl_list **PrevDecl; ctldecl_list **PrevDecl;
@ -145,10 +145,10 @@ static ctldecl_list *loc_addctldecl( Figure, Expr, Type )
Name = GetVexAtomValue( Atom ); Name = GetVexAtomValue( Atom );
if ( ( Type <= CTL_DECLAR_ALL ) || if ( ( DeclType <= CTL_DECLAR_ALL ) ||
( Type >= CTL_MAX_DECLAR_TYPE ) ) ( DeclType >= CTL_MAX_DECLAR_TYPE ) )
{ {
ctlerror( CTL_UNKNOWN_DECLAR_TYPE, Type, Name ); ctlerror( CTL_UNKNOWN_DECLAR_TYPE, DeclType, Name );
} }
Decl = allocctldecl(); Decl = allocctldecl();
@ -177,12 +177,12 @@ static ctldecl_list *loc_addctldecl( Figure, Expr, Type )
Index += IndexStep; Index += IndexStep;
} }
PrevDecl = &Figure->DECLAR[ Type ]; PrevDecl = &Figure->DECLAR[ DeclType ];
Decl->VEX_ATOM = Expr; Decl->VEX_ATOM = Expr;
Decl->DECL_SYM = Sym; Decl->DECL_SYM = Sym;
Decl->TYPE = Type; Decl->DECL_TYPE = DeclType;
Decl->PREV = &Figure->DECLAR[ Type ]; Decl->PREV = &Figure->DECLAR[ DeclType ];
Decl->NEXT = *(Decl->PREV); Decl->NEXT = *(Decl->PREV);
if ( Decl->NEXT != (ctldecl_list *)0 ) if ( Decl->NEXT != (ctldecl_list *)0 )
@ -192,7 +192,7 @@ static ctldecl_list *loc_addctldecl( Figure, Expr, Type )
*(Decl->PREV) = Decl; *(Decl->PREV) = Decl;
addauthelem( Figure->HASH_DECLAR[ Type ], Name, (long)Decl ); addauthelem( Figure->HASH_DECLAR[ DeclType ], Name, (long)Decl );
addauthelem( Figure->HASH_DECLAR[ CTL_DECLAR_ALL ], Name, (long)Decl ); addauthelem( Figure->HASH_DECLAR[ CTL_DECLAR_ALL ], Name, (long)Decl );
return( Decl ); return( Decl );

View File

@ -117,7 +117,7 @@ static void loc_delctldecl( Figure, Declar )
} }
Name = Declar->DECL_SYM->NAME; Name = Declar->DECL_SYM->NAME;
delauthelem( Figure->HASH_DECLAR[ Declar->TYPE ], Name ); delauthelem( Figure->HASH_DECLAR[ Declar->DECL_TYPE ], Name );
delauthelem( Figure->HASH_DECLAR[ CTL_DECLAR_ALL ], Name ); delauthelem( Figure->HASH_DECLAR[ CTL_DECLAR_ALL ], Name );
freectlsym( Declar->DECL_SYM ); freectlsym( Declar->DECL_SYM );

View File

@ -171,13 +171,13 @@ void viewctldecl( Decl )
viewctlsym( &DeclSym[ Scan ] ); viewctlsym( &DeclSym[ Scan ] );
} }
if ( Decl->TYPE >= CTL_MAX_DECLAR_TYPE ) if ( Decl->DECL_TYPE >= CTL_MAX_DECLAR_TYPE )
{ {
fprintf( stdout, "\n\t\tTYPE : %d", Decl->TYPE ); fprintf( stdout, "\n\t\tDECL_TYPE : %d", Decl->DECL_TYPE );
} }
else else
{ {
fprintf( stdout, "\n\t\tTYPE : %s", CTL_DECLAR_TYPE[ Decl->TYPE ] ); fprintf( stdout, "\n\t\tDECL_TYPE : %s", CTL_DECLAR_TYPE[ Decl->DECL_TYPE ] );
} }
fprintf( stdout, "\n\t\tFLAGS : %lx", Decl->FLAGS ); fprintf( stdout, "\n\t\tFLAGS : %lx", Decl->FLAGS );
@ -200,6 +200,9 @@ void viewctltype( Type )
viewctlline( Type->LINE ); viewctlline( Type->LINE );
fprintf( stdout, "\n\t\tNAME : %s", Type->NAME ); fprintf( stdout, "\n\t\tNAME : %s", Type->NAME );
fprintf( stdout, "\n\t\tLEFT : %ld", Type->LEFT );
fprintf( stdout, "\n\t\tRIGHT : %ld", Type->RIGHT );
/* TO BE DONE */
fprintf( stdout, "\n\t\tFLAGS : %lx", Type->FLAGS ); fprintf( stdout, "\n\t\tFLAGS : %lx", Type->FLAGS );
fprintf( stdout, "\n\t\tUSER : %lx", (long)Type->USER ); fprintf( stdout, "\n\t\tUSER : %lx", (long)Type->USER );