blob: 53810b8125523b060fb8d46fab5e18e02e140806 [file] [log] [blame]
Guido van Rossumf70e43a1991-02-19 12:39:46 +00001
Guido van Rossum3f5da241990-12-20 15:06:42 +00002#include "pgenheaders.h"
Guido van Rossum85a5fbb1990-10-14 12:07:46 +00003#include "metagrammar.h"
4#include "grammar.h"
Guido van Rossum3f5da241990-12-20 15:06:42 +00005#include "pgen.h"
Guido van Rossum85a5fbb1990-10-14 12:07:46 +00006static arc arcs_0_0[3] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +00007 {2, 0},
8 {3, 0},
9 {4, 1},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000010};
11static arc arcs_0_1[1] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000012 {0, 1},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000013};
14static state states_0[2] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000015 {3, arcs_0_0},
16 {1, arcs_0_1},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000017};
18static arc arcs_1_0[1] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000019 {5, 1},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000020};
21static arc arcs_1_1[1] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000022 {6, 2},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000023};
24static arc arcs_1_2[1] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000025 {7, 3},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000026};
27static arc arcs_1_3[1] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000028 {3, 4},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000029};
30static arc arcs_1_4[1] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000031 {0, 4},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000032};
33static state states_1[5] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000034 {1, arcs_1_0},
35 {1, arcs_1_1},
36 {1, arcs_1_2},
37 {1, arcs_1_3},
38 {1, arcs_1_4},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000039};
40static arc arcs_2_0[1] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000041 {8, 1},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000042};
43static arc arcs_2_1[2] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000044 {9, 0},
45 {0, 1},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000046};
47static state states_2[2] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000048 {1, arcs_2_0},
49 {2, arcs_2_1},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000050};
51static arc arcs_3_0[1] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000052 {10, 1},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000053};
54static arc arcs_3_1[2] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000055 {10, 1},
56 {0, 1},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000057};
58static state states_3[2] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000059 {1, arcs_3_0},
60 {2, arcs_3_1},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000061};
62static arc arcs_4_0[2] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000063 {11, 1},
64 {13, 2},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000065};
66static arc arcs_4_1[1] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000067 {7, 3},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000068};
69static arc arcs_4_2[3] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000070 {14, 4},
71 {15, 4},
72 {0, 2},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000073};
74static arc arcs_4_3[1] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000075 {12, 4},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000076};
77static arc arcs_4_4[1] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000078 {0, 4},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000079};
80static state states_4[5] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000081 {2, arcs_4_0},
82 {1, arcs_4_1},
83 {3, arcs_4_2},
84 {1, arcs_4_3},
85 {1, arcs_4_4},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000086};
87static arc arcs_5_0[3] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000088 {5, 1},
89 {16, 1},
90 {17, 2},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000091};
92static arc arcs_5_1[1] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000093 {0, 1},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000094};
95static arc arcs_5_2[1] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000096 {7, 3},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000097};
98static arc arcs_5_3[1] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000099 {18, 1},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +0000100};
101static state states_5[4] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000102 {3, arcs_5_0},
103 {1, arcs_5_1},
104 {1, arcs_5_2},
105 {1, arcs_5_3},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +0000106};
107static dfa dfas[6] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000108 {256, "MSTART", 0, 2, states_0,
109 "\070\000\000"},
110 {257, "RULE", 0, 5, states_1,
111 "\040\000\000"},
112 {258, "RHS", 0, 2, states_2,
113 "\040\010\003"},
114 {259, "ALT", 0, 2, states_3,
115 "\040\010\003"},
116 {260, "ITEM", 0, 5, states_4,
117 "\040\010\003"},
118 {261, "ATOM", 0, 4, states_5,
119 "\040\000\003"},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +0000120};
121static label labels[19] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000122 {0, "EMPTY"},
123 {256, 0},
124 {257, 0},
125 {4, 0},
126 {0, 0},
127 {1, 0},
128 {11, 0},
129 {258, 0},
130 {259, 0},
131 {18, 0},
132 {260, 0},
133 {9, 0},
134 {10, 0},
135 {261, 0},
136 {16, 0},
137 {14, 0},
138 {3, 0},
139 {7, 0},
140 {8, 0},
Guido van Rossum85a5fbb1990-10-14 12:07:46 +0000141};
Guido van Rossum86bea461997-04-29 21:03:06 +0000142static grammar _PyParser_Grammar = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000143 6,
144 dfas,
145 {19, labels},
146 256
Guido van Rossum85a5fbb1990-10-14 12:07:46 +0000147};
148
149grammar *
Thomas Wouters23c9e002000-07-22 19:20:54 +0000150meta_grammar(void)
Guido van Rossum85a5fbb1990-10-14 12:07:46 +0000151{
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000152 return &_PyParser_Grammar;
Guido van Rossum85a5fbb1990-10-14 12:07:46 +0000153}
Guido van Rossumd3ab37f2003-04-17 14:55:42 +0000154
155grammar *
156Py_meta_grammar(void)
157{
158 return meta_grammar();
159}