a/c2iec.y b/c2iec.y
...
...
336
        strcpy($<str>$, szTypeName);
336
        strcpy($<str>$, szTypeName);
337
    }
337
    }
338
    | struct_or_union IDENTIFIER
338
    | struct_or_union IDENTIFIER
339
    ;
339
    ;
340
340
341
unnamed_struct_or_union_specifier
342
    : struct_or_union '{' struct_declaration_list '}'
343
    {
344
        strcpy($<str>$, $<str>3);
345
    }
346
    ;
347
341
struct_or_union
348
struct_or_union
342
    : STRUCT
349
    : STRUCT
343
    | UNION
350
    | UNION
344
    ;
351
    ;
345
352
...
...
359
            sprintf(TAIL($<str>$), p, $<str>1);
366
            sprintf(TAIL($<str>$), p, $<str>1);
360
//          printf(p, $<str>1);
367
//          printf(p, $<str>1);
361
//          strcpy($<str>$, "");
368
//          strcpy($<str>$, "");
362
        }
369
        }
363
    }
370
    }
371
    | unnamed_struct_or_union_specifier ';'
364
    ;
372
    ;
365
373
366
specifier_qualifier_list
374
specifier_qualifier_list
367
    : type_specifier specifier_qualifier_list
375
    : type_specifier specifier_qualifier_list
368
    { sprintf($<str>$, "%s %s",$<str>1, $<str>2); }
376
    { sprintf($<str>$, "%s %s",$<str>1, $<str>2); }