Changeset 409


Ignore:
Timestamp:
Nov 15, 2008, 1:19:16 PM (11 years ago)
Author:
ylafon@…
Message:

modified list production to match the consumer version in p1

File:
1 edited

Legend:

Unmodified
Added
Removed
  • abnfparser/bap/main.c

    r407 r409  
    363363                                printf(" )");
    364364                        break;
    365                 case T_RULE:
    366                         if (tflag)
    367                                 printf("{RULE}");
    368                         if (o->u.e.islist) {
    369         if (o->u.e.repetition.lo == 0) {
    370           printf("( [ *LWS ");
    371                           if (o->u.e.e.rule.rule) {
    372                                   printf("%s", o->u.e.e.rule.rule->name);
    373                                   o->u.e.e.rule.rule->used = 1;
    374                           }
    375           else {
    376                                   printf("%s", o->u.e.e.rule.name);
    377           }
    378           printf(" ] *( *LWS \",\" *LWS ");
    379                           if (o->u.e.e.rule.rule) {
    380                                   printf("%s", o->u.e.e.rule.rule->name);
    381                                   o->u.e.e.rule.rule->used = 1;
    382                           }
    383           else {
    384                                   printf("%s", o->u.e.e.rule.name);
    385           }
    386           printf(" ) )");
    387         }
    388         else if (o->u.e.repetition.lo == 1) {
    389           printf("( *LWS ");
    390                           if (o->u.e.e.rule.rule) {
    391                                   printf("%s", o->u.e.e.rule.rule->name);
    392                                   o->u.e.e.rule.rule->used = 1;
    393                           }
    394           else {
    395                                   printf("%s", o->u.e.e.rule.name);
    396           }
    397           printf(" *( *LWS \",\" *LWS ");
    398                           if (o->u.e.e.rule.rule) {
    399                                   printf("%s", o->u.e.e.rule.rule->name);
    400                                   o->u.e.e.rule.rule->used = 1;
    401                           }
    402           else {
    403                                   printf("%s", o->u.e.e.rule.name);
    404           }
    405           printf(" ) )");
    406         }
    407         else {
    408           printf("TODO: something is wrong");
    409         }
    410       }
    411       else {
    412         printrep(&o->u.e.repetition);
    413                           if (o->u.e.e.rule.rule) {
    414                                   printf("%s", o->u.e.e.rule.rule->name);
    415                                   o->u.e.e.rule.rule->used = 1;
    416                           }
    417         else {
    418                                   printf("%s", o->u.e.e.rule.name);
    419         }
    420       }
    421                         break;
     365                case T_RULE: /* identation to delimit the code change */
     366                  if (tflag)
     367                    printf("{RULE}");
     368                  if (o->u.e.islist) {
     369                    if (o->u.e.repetition.lo == 0) {
     370                      printf("[ ( \",\" / ");
     371                      if (o->u.e.e.rule.rule) {
     372                        printf("%s", o->u.e.e.rule.rule->name);
     373                        o->u.e.e.rule.rule->used = 1;
     374                      } else {
     375                        printf("%s", o->u.e.e.rule.name);
     376                      }
     377                      printf(" ) *( OWS \",\" [ OWS ");
     378                      printf("%s", (o->u.e.e.rule.rule) ?
     379                             o->u.e.e.rule.rule->name :
     380                             o->u.e.e.rule.name);
     381                      printf(" ] ) ]");
     382                    } else if (o->u.e.repetition.lo == 1) {
     383                      printf(" *( \",\" OWS ) ");
     384                      if (o->u.e.e.rule.rule) {
     385                        printf("%s", o->u.e.e.rule.rule->name);
     386                        o->u.e.e.rule.rule->used = 1;
     387                      } else {
     388                        printf("%s", o->u.e.e.rule.name);
     389                      }
     390                      printf(" *( OWS \",\" [ OWS ");
     391                      printf("%s", (o->u.e.e.rule.rule) ?
     392                             o->u.e.e.rule.rule->name :
     393                             o->u.e.e.rule.name);
     394                      printf(" ] )");
     395                    }
     396                    else {
     397                      printf("TODO: something is wrong");
     398                    }
     399                  } else {
     400                    printrep(&o->u.e.repetition);
     401                    if (o->u.e.e.rule.rule) {
     402                      printf("%s", o->u.e.e.rule.rule->name);
     403                      o->u.e.e.rule.rule->used = 1;
     404                    }
     405                    else {
     406                      printf("%s", o->u.e.e.rule.name);
     407                    }
     408                  }
     409                  break;
    422410                case T_GROUP:
    423411                        if (tflag)
Note: See TracChangeset for help on using the changeset viewer.