Ignore:
Timestamp:
Mar 19, 2014, 11:11:30 AM (11 years ago)
Author:
dmik
Message:

python: Update vendor to 2.7.6.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • python/vendor/current/Parser/printgrammar.c

    r2 r388  
    1414printgrammar(grammar *g, FILE *fp)
    1515{
    16         fprintf(fp, "/* Generated by Parser/pgen */\n\n");
    17         fprintf(fp, "#include \"pgenheaders.h\"\n");
    18         fprintf(fp, "#include \"grammar.h\"\n");
    19         fprintf(fp, "PyAPI_DATA(grammar) _PyParser_Grammar;\n");
    20         printdfas(g, fp);
    21         printlabels(g, fp);
    22         fprintf(fp, "grammar _PyParser_Grammar = {\n");
    23         fprintf(fp, "\t%d,\n", g->g_ndfas);
    24         fprintf(fp, "\tdfas,\n");
    25         fprintf(fp, "\t{%d, labels},\n", g->g_ll.ll_nlabels);
    26         fprintf(fp, "\t%d\n", g->g_start);
    27         fprintf(fp, "};\n");
     16    fprintf(fp, "/* Generated by Parser/pgen */\n\n");
     17    fprintf(fp, "#include \"pgenheaders.h\"\n");
     18    fprintf(fp, "#include \"grammar.h\"\n");
     19    fprintf(fp, "PyAPI_DATA(grammar) _PyParser_Grammar;\n");
     20    printdfas(g, fp);
     21    printlabels(g, fp);
     22    fprintf(fp, "grammar _PyParser_Grammar = {\n");
     23    fprintf(fp, "    %d,\n", g->g_ndfas);
     24    fprintf(fp, "    dfas,\n");
     25    fprintf(fp, "    {%d, labels},\n", g->g_ll.ll_nlabels);
     26    fprintf(fp, "    %d\n", g->g_start);
     27    fprintf(fp, "};\n");
    2828}
    2929
     
    3131printnonterminals(grammar *g, FILE *fp)
    3232{
    33         dfa *d;
    34         int i;
    35        
    36         fprintf(fp, "/* Generated by Parser/pgen */\n\n");
    37        
    38         d = g->g_dfa;
    39         for (i = g->g_ndfas; --i >= 0; d++)
    40                 fprintf(fp, "#define %s %d\n", d->d_name, d->d_type);
     33    dfa *d;
     34    int i;
     35
     36    fprintf(fp, "/* Generated by Parser/pgen */\n\n");
     37
     38    d = g->g_dfa;
     39    for (i = g->g_ndfas; --i >= 0; d++)
     40        fprintf(fp, "#define %s %d\n", d->d_name, d->d_type);
    4141}
    4242
     
    4444printarcs(int i, dfa *d, FILE *fp)
    4545{
    46         arc *a;
    47         state *s;
    48         int j, k;
    49        
    50         s = d->d_state;
    51         for (j = 0; j < d->d_nstates; j++, s++) {
    52                 fprintf(fp, "static arc arcs_%d_%d[%d] = {\n",
    53                         i, j, s->s_narcs);
    54                 a = s->s_arc;
    55                 for (k = 0; k < s->s_narcs; k++, a++)
    56                         fprintf(fp, "\t{%d, %d},\n", a->a_lbl, a->a_arrow);
    57                 fprintf(fp, "};\n");
    58         }
     46    arc *a;
     47    state *s;
     48    int j, k;
     49
     50    s = d->d_state;
     51    for (j = 0; j < d->d_nstates; j++, s++) {
     52        fprintf(fp, "static arc arcs_%d_%d[%d] = {\n",
     53            i, j, s->s_narcs);
     54        a = s->s_arc;
     55        for (k = 0; k < s->s_narcs; k++, a++)
     56            fprintf(fp, "    {%d, %d},\n", a->a_lbl, a->a_arrow);
     57        fprintf(fp, "};\n");
     58    }
    5959}
    6060
     
    6262printstates(grammar *g, FILE *fp)
    6363{
    64         state *s;
    65         dfa *d;
    66         int i, j;
    67        
    68         d = g->g_dfa;
    69         for (i = 0; i < g->g_ndfas; i++, d++) {
    70                 printarcs(i, d, fp);
    71                 fprintf(fp, "static state states_%d[%d] = {\n",
    72                         i, d->d_nstates);
    73                 s = d->d_state;
    74                 for (j = 0; j < d->d_nstates; j++, s++)
    75                         fprintf(fp, "\t{%d, arcs_%d_%d},\n",
    76                                 s->s_narcs, i, j);
    77                 fprintf(fp, "};\n");
    78         }
     64    state *s;
     65    dfa *d;
     66    int i, j;
     67
     68    d = g->g_dfa;
     69    for (i = 0; i < g->g_ndfas; i++, d++) {
     70        printarcs(i, d, fp);
     71        fprintf(fp, "static state states_%d[%d] = {\n",
     72            i, d->d_nstates);
     73        s = d->d_state;
     74        for (j = 0; j < d->d_nstates; j++, s++)
     75            fprintf(fp, "    {%d, arcs_%d_%d},\n",
     76                s->s_narcs, i, j);
     77        fprintf(fp, "};\n");
     78    }
    7979}
    8080
     
    8282printdfas(grammar *g, FILE *fp)
    8383{
    84         dfa *d;
    85         int i, j;
    86        
    87         printstates(g, fp);
    88         fprintf(fp, "static dfa dfas[%d] = {\n", g->g_ndfas);
    89         d = g->g_dfa;
    90         for (i = 0; i < g->g_ndfas; i++, d++) {
    91                 fprintf(fp, "\t{%d, \"%s\", %d, %d, states_%d,\n",
    92                         d->d_type, d->d_name, d->d_initial, d->d_nstates, i);
    93                 fprintf(fp, "\t \"");
    94                 for (j = 0; j < NBYTES(g->g_ll.ll_nlabels); j++)
    95                         fprintf(fp, "\\%03o", d->d_first[j] & 0xff);
    96                 fprintf(fp, "\"},\n");
    97         }
    98         fprintf(fp, "};\n");
     84    dfa *d;
     85    int i, j;
     86
     87    printstates(g, fp);
     88    fprintf(fp, "static dfa dfas[%d] = {\n", g->g_ndfas);
     89    d = g->g_dfa;
     90    for (i = 0; i < g->g_ndfas; i++, d++) {
     91        fprintf(fp, "    {%d, \"%s\", %d, %d, states_%d,\n",
     92            d->d_type, d->d_name, d->d_initial, d->d_nstates, i);
     93        fprintf(fp, "    \"");
     94        for (j = 0; j < NBYTES(g->g_ll.ll_nlabels); j++)
     95            fprintf(fp, "\\%03o", d->d_first[j] & 0xff);
     96        fprintf(fp, "\"},\n");
     97    }
     98    fprintf(fp, "};\n");
    9999}
    100100
     
    102102printlabels(grammar *g, FILE *fp)
    103103{
    104         label *l;
    105         int i;
    106        
    107         fprintf(fp, "static label labels[%d] = {\n", g->g_ll.ll_nlabels);
    108         l = g->g_ll.ll_label;
    109         for (i = g->g_ll.ll_nlabels; --i >= 0; l++) {
    110                 if (l->lb_str == NULL)
    111                         fprintf(fp, "\t{%d, 0},\n", l->lb_type);
    112                 else
    113                         fprintf(fp, "\t{%d, \"%s\"},\n",
    114                                 l->lb_type, l->lb_str);
    115         }
    116         fprintf(fp, "};\n");
     104    label *l;
     105    int i;
     106
     107    fprintf(fp, "static label labels[%d] = {\n", g->g_ll.ll_nlabels);
     108    l = g->g_ll.ll_label;
     109    for (i = g->g_ll.ll_nlabels; --i >= 0; l++) {
     110        if (l->lb_str == NULL)
     111            fprintf(fp, "    {%d, 0},\n", l->lb_type);
     112        else
     113            fprintf(fp, "    {%d, \"%s\"},\n",
     114                l->lb_type, l->lb_str);
     115    }
     116    fprintf(fp, "};\n");
    117117}
Note: See TracChangeset for help on using the changeset viewer.