/* */
/* */
/* */
-/* (C) 2003 Ullrich von Bassewitz */
-/* Römerstraße 52 */
-/* D-70794 Filderstadt */
-/* EMail: uz@cc65.org */
+/* (C) 2003-2011, Ullrich von Bassewitz */
+/* Roemerstrasse 52 */
+/* D-70794 Filderstadt */
+/* EMail: uz@cc65.org */
/* */
/* */
/* This software is provided 'as-is', without any expressed or implied */
ExprNode* BaseExpr = GenLiteral0 ();
/* Check for a name */
- int Anon = (Tok != TOK_IDENT);
+ int Anon = (CurTok.Tok != TOK_IDENT);
if (!Anon) {
/* Enter a new scope, then skip the name */
- SymEnterLevel (SVal, ST_ENUM, ADDR_SIZE_ABS);
+ SymEnterLevel (&CurTok.SVal, ST_ENUM, ADDR_SIZE_ABS);
NextTok ();
}
ConsumeSep ();
/* Read until end of struct */
- while (Tok != TOK_ENDENUM && Tok != TOK_EOF) {
+ while (CurTok.Tok != TOK_ENDENUM && CurTok.Tok != TOK_EOF) {
SymEntry* Sym;
ExprNode* EnumExpr;
/* Skip empty lines */
- if (Tok == TOK_SEP) {
+ if (CurTok.Tok == TOK_SEP) {
NextTok ();
continue;
}
/* The format is "identifier [ = value ]" */
- if (Tok != TOK_IDENT) {
+ if (CurTok.Tok != TOK_IDENT) {
/* Maybe it's a conditional? */
if (!CheckConditionals ()) {
ErrorSkip ("Identifier expected");
}
/* We have an identifier, generate a symbol */
- Sym = SymFind (CurrentScope, SVal, SYM_ALLOC_NEW);
+ Sym = SymFind (CurrentScope, &CurTok.SVal, SYM_ALLOC_NEW);
/* Skip the member name */
NextTok ();
/* Check for an assignment */
- if (Tok == TOK_EQ) {
+ if (CurTok.Tok == TOK_EQ) {
/* Skip the equal sign */
NextTok ();
+