]> git.proxmox.com Git - mirror_edk2.git/blobdiff - AppPkg/Applications/Python/Python-2.7.2/Parser/grammar.c
edk2: Remove AppPkg, StdLib, StdLibPrivateInternalFiles
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Parser / grammar.c
diff --git a/AppPkg/Applications/Python/Python-2.7.2/Parser/grammar.c b/AppPkg/Applications/Python/Python-2.7.2/Parser/grammar.c
deleted file mode 100644 (file)
index 4cce422..0000000
+++ /dev/null
@@ -1,254 +0,0 @@
-\r
-/* Grammar implementation */\r
-\r
-#include "Python.h"\r
-#include "pgenheaders.h"\r
-\r
-#include <ctype.h>\r
-\r
-#include "token.h"\r
-#include "grammar.h"\r
-\r
-#ifdef RISCOS\r
-#include <unixlib.h>\r
-#endif\r
-\r
-extern int Py_DebugFlag;\r
-\r
-grammar *\r
-newgrammar(int start)\r
-{\r
-    grammar *g;\r
-\r
-    g = (grammar *)PyObject_MALLOC(sizeof(grammar));\r
-    if (g == NULL)\r
-        Py_FatalError("no mem for new grammar");\r
-    g->g_ndfas = 0;\r
-    g->g_dfa = NULL;\r
-    g->g_start = start;\r
-    g->g_ll.ll_nlabels = 0;\r
-    g->g_ll.ll_label = NULL;\r
-    g->g_accel = 0;\r
-    return g;\r
-}\r
-\r
-dfa *\r
-adddfa(grammar *g, int type, char *name)\r
-{\r
-    dfa *d;\r
-\r
-    g->g_dfa = (dfa *)PyObject_REALLOC(g->g_dfa,\r
-                                        sizeof(dfa) * (g->g_ndfas + 1));\r
-    if (g->g_dfa == NULL)\r
-        Py_FatalError("no mem to resize dfa in adddfa");\r
-    d = &g->g_dfa[g->g_ndfas++];\r
-    d->d_type = type;\r
-    d->d_name = strdup(name);\r
-    d->d_nstates = 0;\r
-    d->d_state = NULL;\r
-    d->d_initial = -1;\r
-    d->d_first = NULL;\r
-    return d; /* Only use while fresh! */\r
-}\r
-\r
-int\r
-addstate(dfa *d)\r
-{\r
-    state *s;\r
-\r
-    d->d_state = (state *)PyObject_REALLOC(d->d_state,\r
-                                  sizeof(state) * (d->d_nstates + 1));\r
-    if (d->d_state == NULL)\r
-        Py_FatalError("no mem to resize state in addstate");\r
-    s = &d->d_state[d->d_nstates++];\r
-    s->s_narcs = 0;\r
-    s->s_arc = NULL;\r
-    s->s_lower = 0;\r
-    s->s_upper = 0;\r
-    s->s_accel = NULL;\r
-    s->s_accept = 0;\r
-    return s - d->d_state;\r
-}\r
-\r
-void\r
-addarc(dfa *d, int from, int to, int lbl)\r
-{\r
-    state *s;\r
-    arc *a;\r
-\r
-    assert(0 <= from && from < d->d_nstates);\r
-    assert(0 <= to && to < d->d_nstates);\r
-\r
-    s = &d->d_state[from];\r
-    s->s_arc = (arc *)PyObject_REALLOC(s->s_arc, sizeof(arc) * (s->s_narcs + 1));\r
-    if (s->s_arc == NULL)\r
-        Py_FatalError("no mem to resize arc list in addarc");\r
-    a = &s->s_arc[s->s_narcs++];\r
-    a->a_lbl = lbl;\r
-    a->a_arrow = to;\r
-}\r
-\r
-int\r
-addlabel(labellist *ll, int type, char *str)\r
-{\r
-    int i;\r
-    label *lb;\r
-\r
-    for (i = 0; i < ll->ll_nlabels; i++) {\r
-        if (ll->ll_label[i].lb_type == type &&\r
-            strcmp(ll->ll_label[i].lb_str, str) == 0)\r
-            return i;\r
-    }\r
-    ll->ll_label = (label *)PyObject_REALLOC(ll->ll_label,\r
-                                    sizeof(label) * (ll->ll_nlabels + 1));\r
-    if (ll->ll_label == NULL)\r
-        Py_FatalError("no mem to resize labellist in addlabel");\r
-    lb = &ll->ll_label[ll->ll_nlabels++];\r
-    lb->lb_type = type;\r
-    lb->lb_str = strdup(str);\r
-    if (Py_DebugFlag)\r
-        printf("Label @ %8p, %d: %s\n", ll, ll->ll_nlabels,\r
-               PyGrammar_LabelRepr(lb));\r
-    return lb - ll->ll_label;\r
-}\r
-\r
-/* Same, but rather dies than adds */\r
-\r
-int\r
-findlabel(labellist *ll, int type, char *str)\r
-{\r
-    int i;\r
-\r
-    for (i = 0; i < ll->ll_nlabels; i++) {\r
-        if (ll->ll_label[i].lb_type == type /*&&\r
-            strcmp(ll->ll_label[i].lb_str, str) == 0*/)\r
-            return i;\r
-    }\r
-    fprintf(stderr, "Label %d/'%s' not found\n", type, str);\r
-    Py_FatalError("grammar.c:findlabel()");\r
-    return 0; /* Make gcc -Wall happy */\r
-}\r
-\r
-/* Forward */\r
-static void translabel(grammar *, label *);\r
-\r
-void\r
-translatelabels(grammar *g)\r
-{\r
-    int i;\r
-\r
-#ifdef Py_DEBUG\r
-    printf("Translating labels ...\n");\r
-#endif\r
-    /* Don't translate EMPTY */\r
-    for (i = EMPTY+1; i < g->g_ll.ll_nlabels; i++)\r
-        translabel(g, &g->g_ll.ll_label[i]);\r
-}\r
-\r
-static void\r
-translabel(grammar *g, label *lb)\r
-{\r
-    int i;\r
-\r
-    if (Py_DebugFlag)\r
-        printf("Translating label %s ...\n", PyGrammar_LabelRepr(lb));\r
-\r
-    if (lb->lb_type == NAME) {\r
-        for (i = 0; i < g->g_ndfas; i++) {\r
-            if (strcmp(lb->lb_str, g->g_dfa[i].d_name) == 0) {\r
-                if (Py_DebugFlag)\r
-                    printf(\r
-                        "Label %s is non-terminal %d.\n",\r
-                        lb->lb_str,\r
-                        g->g_dfa[i].d_type);\r
-                lb->lb_type = g->g_dfa[i].d_type;\r
-                free(lb->lb_str);\r
-                lb->lb_str = NULL;\r
-                return;\r
-            }\r
-        }\r
-        for (i = 0; i < (int)N_TOKENS; i++) {\r
-            if (strcmp(lb->lb_str, _PyParser_TokenNames[i]) == 0) {\r
-                if (Py_DebugFlag)\r
-                    printf("Label %s is terminal %d.\n",\r
-                        lb->lb_str, i);\r
-                lb->lb_type = i;\r
-                free(lb->lb_str);\r
-                lb->lb_str = NULL;\r
-                return;\r
-            }\r
-        }\r
-        printf("Can't translate NAME label '%s'\n", lb->lb_str);\r
-        return;\r
-    }\r
-\r
-    if (lb->lb_type == STRING) {\r
-        if (isalpha(Py_CHARMASK(lb->lb_str[1])) ||\r
-            lb->lb_str[1] == '_') {\r
-            char *p;\r
-            char *src;\r
-            char *dest;\r
-            size_t name_len;\r
-            if (Py_DebugFlag)\r
-                printf("Label %s is a keyword\n", lb->lb_str);\r
-            lb->lb_type = NAME;\r
-            src = lb->lb_str + 1;\r
-            p = strchr(src, '\'');\r
-            if (p)\r
-                name_len = p - src;\r
-            else\r
-                name_len = strlen(src);\r
-            dest = (char *)malloc(name_len + 1);\r
-            if (!dest) {\r
-                printf("Can't alloc dest '%s'\n", src);\r
-                return;\r
-            }\r
-            strncpy(dest, src, name_len);\r
-            dest[name_len] = '\0';\r
-            free(lb->lb_str);\r
-            lb->lb_str = dest;\r
-        }\r
-        else if (lb->lb_str[2] == lb->lb_str[0]) {\r
-            int type = (int) PyToken_OneChar(lb->lb_str[1]);\r
-            if (type != OP) {\r
-                lb->lb_type = type;\r
-                free(lb->lb_str);\r
-                lb->lb_str = NULL;\r
-            }\r
-            else\r
-                printf("Unknown OP label %s\n",\r
-                    lb->lb_str);\r
-        }\r
-        else if (lb->lb_str[2] && lb->lb_str[3] == lb->lb_str[0]) {\r
-            int type = (int) PyToken_TwoChars(lb->lb_str[1],\r
-                                       lb->lb_str[2]);\r
-            if (type != OP) {\r
-                lb->lb_type = type;\r
-                free(lb->lb_str);\r
-                lb->lb_str = NULL;\r
-            }\r
-            else\r
-                printf("Unknown OP label %s\n",\r
-                    lb->lb_str);\r
-        }\r
-        else if (lb->lb_str[2] && lb->lb_str[3] && lb->lb_str[4] == lb->lb_str[0]) {\r
-            int type = (int) PyToken_ThreeChars(lb->lb_str[1],\r
-                                                lb->lb_str[2],\r
-                                                lb->lb_str[3]);\r
-            if (type != OP) {\r
-                lb->lb_type = type;\r
-                free(lb->lb_str);\r
-                lb->lb_str = NULL;\r
-            }\r
-            else\r
-                printf("Unknown OP label %s\n",\r
-                    lb->lb_str);\r
-        }\r
-        else\r
-            printf("Can't translate STRING label %s\n",\r
-                lb->lb_str);\r
-    }\r
-    else\r
-        printf("Can't translate label '%s'\n",\r
-               PyGrammar_LabelRepr(lb));\r
-}\r