The default implementation returns the result of calling 18 | * {@link #visitChildren} on {@code ctx}.
19 | */ 20 | @Override public T visitJson(MingBdJSONParser.JsonContext ctx) { return visitChildren(ctx); } 21 | /** 22 | * {@inheritDoc} 23 | * 24 | *The default implementation returns the result of calling 25 | * {@link #visitChildren} on {@code ctx}.
26 | */ 27 | @Override public T visitValue(MingBdJSONParser.ValueContext ctx) { return visitChildren(ctx); } 28 | /** 29 | * {@inheritDoc} 30 | * 31 | *The default implementation returns the result of calling 32 | * {@link #visitChildren} on {@code ctx}.
33 | */ 34 | @Override public T visitPair(MingBdJSONParser.PairContext ctx) { return visitChildren(ctx); } 35 | /** 36 | * {@inheritDoc} 37 | * 38 | *The default implementation returns the result of calling 39 | * {@link #visitChildren} on {@code ctx}.
40 | */ 41 | @Override public T visitRuntype(MingBdJSONParser.RuntypeContext ctx) { return visitChildren(ctx); } 42 | /** 43 | * {@inheritDoc} 44 | * 45 | *The default implementation returns the result of calling 46 | * {@link #visitChildren} on {@code ctx}.
47 | */ 48 | @Override public T visitLoad(MingBdJSONParser.LoadContext ctx) { return visitChildren(ctx); } 49 | /** 50 | * {@inheritDoc} 51 | * 52 | *The default implementation returns the result of calling 53 | * {@link #visitChildren} on {@code ctx}.
54 | */ 55 | @Override public T visitJoin(MingBdJSONParser.JoinContext ctx) { return visitChildren(ctx); } 56 | /** 57 | * {@inheritDoc} 58 | * 59 | *The default implementation returns the result of calling 60 | * {@link #visitChildren} on {@code ctx}.
61 | */ 62 | @Override public T visitTrans(MingBdJSONParser.TransContext ctx) { return visitChildren(ctx); } 63 | /** 64 | * {@inheritDoc} 65 | * 66 | *The default implementation returns the result of calling 67 | * {@link #visitChildren} on {@code ctx}.
68 | */ 69 | @Override public T visitDataSource(MingBdJSONParser.DataSourceContext ctx) { return visitChildren(ctx); } 70 | /** 71 | * {@inheritDoc} 72 | * 73 | *The default implementation returns the result of calling 74 | * {@link #visitChildren} on {@code ctx}.
75 | */ 76 | @Override public T visitHbaseSource(MingBdJSONParser.HbaseSourceContext ctx) { return visitChildren(ctx); } 77 | /** 78 | * {@inheritDoc} 79 | * 80 | *The default implementation returns the result of calling 81 | * {@link #visitChildren} on {@code ctx}.
82 | */ 83 | @Override public T visitMysqlSource(MingBdJSONParser.MysqlSourceContext ctx) { return visitChildren(ctx); } 84 | /** 85 | * {@inheritDoc} 86 | * 87 | *The default implementation returns the result of calling 88 | * {@link #visitChildren} on {@code ctx}.
89 | */ 90 | @Override public T visitMysqlInfo(MingBdJSONParser.MysqlInfoContext ctx) { return visitChildren(ctx); } 91 | /** 92 | * {@inheritDoc} 93 | * 94 | *The default implementation returns the result of calling 95 | * {@link #visitChildren} on {@code ctx}.
96 | */ 97 | @Override public T visitMysqlSchema(MingBdJSONParser.MysqlSchemaContext ctx) { return visitChildren(ctx); } 98 | /** 99 | * {@inheritDoc} 100 | * 101 | *The default implementation returns the result of calling 102 | * {@link #visitChildren} on {@code ctx}.
103 | */ 104 | @Override public T visitTransinfo(MingBdJSONParser.TransinfoContext ctx) { return visitChildren(ctx); } 105 | /** 106 | * {@inheritDoc} 107 | * 108 | *The default implementation returns the result of calling 109 | * {@link #visitChildren} on {@code ctx}.
110 | */ 111 | @Override public T visitSelect(MingBdJSONParser.SelectContext ctx) { return visitChildren(ctx); } 112 | /** 113 | * {@inheritDoc} 114 | * 115 | *The default implementation returns the result of calling 116 | * {@link #visitChildren} on {@code ctx}.
117 | */ 118 | @Override public T visitGroupBy(MingBdJSONParser.GroupByContext ctx) { return visitChildren(ctx); } 119 | /** 120 | * {@inheritDoc} 121 | * 122 | *The default implementation returns the result of calling 123 | * {@link #visitChildren} on {@code ctx}.
124 | */ 125 | @Override public T visitFilter(MingBdJSONParser.FilterContext ctx) { return visitChildren(ctx); } 126 | /** 127 | * {@inheritDoc} 128 | * 129 | *The default implementation returns the result of calling 130 | * {@link #visitChildren} on {@code ctx}.
131 | */ 132 | @Override public T visitCols(MingBdJSONParser.ColsContext ctx) { return visitChildren(ctx); } 133 | /** 134 | * {@inheritDoc} 135 | * 136 | *The default implementation returns the result of calling 137 | * {@link #visitChildren} on {@code ctx}.
138 | */ 139 | @Override public T visitCol(MingBdJSONParser.ColContext ctx) { return visitChildren(ctx); } 140 | /** 141 | * {@inheritDoc} 142 | * 143 | *The default implementation returns the result of calling 144 | * {@link #visitChildren} on {@code ctx}.
145 | */ 146 | @Override public T visitSave(MingBdJSONParser.SaveContext ctx) { return visitChildren(ctx); } 147 | /** 148 | * {@inheritDoc} 149 | * 150 | *The default implementation returns the result of calling 151 | * {@link #visitChildren} on {@code ctx}.
152 | */ 153 | @Override public T visitSaveInfo(MingBdJSONParser.SaveInfoContext ctx) { return visitChildren(ctx); } 154 | /** 155 | * {@inheritDoc} 156 | * 157 | *The default implementation returns the result of calling 158 | * {@link #visitChildren} on {@code ctx}.
159 | */ 160 | @Override public T visitKafkaSave(MingBdJSONParser.KafkaSaveContext ctx) { return visitChildren(ctx); } 161 | /** 162 | * {@inheritDoc} 163 | * 164 | *The default implementation returns the result of calling 165 | * {@link #visitChildren} on {@code ctx}.
166 | */ 167 | @Override public T visitMysqlSave(MingBdJSONParser.MysqlSaveContext ctx) { return visitChildren(ctx); } 168 | /** 169 | * {@inheritDoc} 170 | * 171 | *The default implementation returns the result of calling 172 | * {@link #visitChildren} on {@code ctx}.
173 | */ 174 | @Override public T visitJoinpair(MingBdJSONParser.JoinpairContext ctx) { return visitChildren(ctx); } 175 | /** 176 | * {@inheritDoc} 177 | * 178 | *The default implementation returns the result of calling 179 | * {@link #visitChildren} on {@code ctx}.
180 | */ 181 | @Override public T visitKafkaSource(MingBdJSONParser.KafkaSourceContext ctx) { return visitChildren(ctx); } 182 | /** 183 | * {@inheritDoc} 184 | * 185 | *The default implementation returns the result of calling 186 | * {@link #visitChildren} on {@code ctx}.
187 | */ 188 | @Override public T visitField(MingBdJSONParser.FieldContext ctx) { return visitChildren(ctx); } 189 | } -------------------------------------------------------------------------------- /json-dsl/src/main/java/parse/MingBdJSONListener.java: -------------------------------------------------------------------------------- 1 | // Generated from D:/MyWorkSpace/zrDSL-flink/json-dsl/src/main/resources\MingBdJSON.g4 by ANTLR 4.8 2 | package parse; 3 | import org.antlr.v4.runtime.tree.ParseTreeListener; 4 | 5 | /** 6 | * This interface defines a complete listener for a parse tree produced by 7 | * {@link MingBdJSONParser}. 8 | */ 9 | public interface MingBdJSONListener extends ParseTreeListener { 10 | /** 11 | * Enter a parse tree produced by {@link MingBdJSONParser#json}. 12 | * @param ctx the parse tree 13 | */ 14 | void enterJson(MingBdJSONParser.JsonContext ctx); 15 | /** 16 | * Exit a parse tree produced by {@link MingBdJSONParser#json}. 17 | * @param ctx the parse tree 18 | */ 19 | void exitJson(MingBdJSONParser.JsonContext ctx); 20 | /** 21 | * Enter a parse tree produced by {@link MingBdJSONParser#value}. 22 | * @param ctx the parse tree 23 | */ 24 | void enterValue(MingBdJSONParser.ValueContext ctx); 25 | /** 26 | * Exit a parse tree produced by {@link MingBdJSONParser#value}. 27 | * @param ctx the parse tree 28 | */ 29 | void exitValue(MingBdJSONParser.ValueContext ctx); 30 | /** 31 | * Enter a parse tree produced by {@link MingBdJSONParser#pair}. 32 | * @param ctx the parse tree 33 | */ 34 | void enterPair(MingBdJSONParser.PairContext ctx); 35 | /** 36 | * Exit a parse tree produced by {@link MingBdJSONParser#pair}. 37 | * @param ctx the parse tree 38 | */ 39 | void exitPair(MingBdJSONParser.PairContext ctx); 40 | /** 41 | * Enter a parse tree produced by {@link MingBdJSONParser#runtype}. 42 | * @param ctx the parse tree 43 | */ 44 | void enterRuntype(MingBdJSONParser.RuntypeContext ctx); 45 | /** 46 | * Exit a parse tree produced by {@link MingBdJSONParser#runtype}. 47 | * @param ctx the parse tree 48 | */ 49 | void exitRuntype(MingBdJSONParser.RuntypeContext ctx); 50 | /** 51 | * Enter a parse tree produced by {@link MingBdJSONParser#load}. 52 | * @param ctx the parse tree 53 | */ 54 | void enterLoad(MingBdJSONParser.LoadContext ctx); 55 | /** 56 | * Exit a parse tree produced by {@link MingBdJSONParser#load}. 57 | * @param ctx the parse tree 58 | */ 59 | void exitLoad(MingBdJSONParser.LoadContext ctx); 60 | /** 61 | * Enter a parse tree produced by {@link MingBdJSONParser#join}. 62 | * @param ctx the parse tree 63 | */ 64 | void enterJoin(MingBdJSONParser.JoinContext ctx); 65 | /** 66 | * Exit a parse tree produced by {@link MingBdJSONParser#join}. 67 | * @param ctx the parse tree 68 | */ 69 | void exitJoin(MingBdJSONParser.JoinContext ctx); 70 | /** 71 | * Enter a parse tree produced by {@link MingBdJSONParser#trans}. 72 | * @param ctx the parse tree 73 | */ 74 | void enterTrans(MingBdJSONParser.TransContext ctx); 75 | /** 76 | * Exit a parse tree produced by {@link MingBdJSONParser#trans}. 77 | * @param ctx the parse tree 78 | */ 79 | void exitTrans(MingBdJSONParser.TransContext ctx); 80 | /** 81 | * Enter a parse tree produced by {@link MingBdJSONParser#dataSource}. 82 | * @param ctx the parse tree 83 | */ 84 | void enterDataSource(MingBdJSONParser.DataSourceContext ctx); 85 | /** 86 | * Exit a parse tree produced by {@link MingBdJSONParser#dataSource}. 87 | * @param ctx the parse tree 88 | */ 89 | void exitDataSource(MingBdJSONParser.DataSourceContext ctx); 90 | /** 91 | * Enter a parse tree produced by {@link MingBdJSONParser#hbaseSource}. 92 | * @param ctx the parse tree 93 | */ 94 | void enterHbaseSource(MingBdJSONParser.HbaseSourceContext ctx); 95 | /** 96 | * Exit a parse tree produced by {@link MingBdJSONParser#hbaseSource}. 97 | * @param ctx the parse tree 98 | */ 99 | void exitHbaseSource(MingBdJSONParser.HbaseSourceContext ctx); 100 | /** 101 | * Enter a parse tree produced by {@link MingBdJSONParser#mysqlSource}. 102 | * @param ctx the parse tree 103 | */ 104 | void enterMysqlSource(MingBdJSONParser.MysqlSourceContext ctx); 105 | /** 106 | * Exit a parse tree produced by {@link MingBdJSONParser#mysqlSource}. 107 | * @param ctx the parse tree 108 | */ 109 | void exitMysqlSource(MingBdJSONParser.MysqlSourceContext ctx); 110 | /** 111 | * Enter a parse tree produced by {@link MingBdJSONParser#mysqlInfo}. 112 | * @param ctx the parse tree 113 | */ 114 | void enterMysqlInfo(MingBdJSONParser.MysqlInfoContext ctx); 115 | /** 116 | * Exit a parse tree produced by {@link MingBdJSONParser#mysqlInfo}. 117 | * @param ctx the parse tree 118 | */ 119 | void exitMysqlInfo(MingBdJSONParser.MysqlInfoContext ctx); 120 | /** 121 | * Enter a parse tree produced by {@link MingBdJSONParser#mysqlSchema}. 122 | * @param ctx the parse tree 123 | */ 124 | void enterMysqlSchema(MingBdJSONParser.MysqlSchemaContext ctx); 125 | /** 126 | * Exit a parse tree produced by {@link MingBdJSONParser#mysqlSchema}. 127 | * @param ctx the parse tree 128 | */ 129 | void exitMysqlSchema(MingBdJSONParser.MysqlSchemaContext ctx); 130 | /** 131 | * Enter a parse tree produced by {@link MingBdJSONParser#transinfo}. 132 | * @param ctx the parse tree 133 | */ 134 | void enterTransinfo(MingBdJSONParser.TransinfoContext ctx); 135 | /** 136 | * Exit a parse tree produced by {@link MingBdJSONParser#transinfo}. 137 | * @param ctx the parse tree 138 | */ 139 | void exitTransinfo(MingBdJSONParser.TransinfoContext ctx); 140 | /** 141 | * Enter a parse tree produced by {@link MingBdJSONParser#select}. 142 | * @param ctx the parse tree 143 | */ 144 | void enterSelect(MingBdJSONParser.SelectContext ctx); 145 | /** 146 | * Exit a parse tree produced by {@link MingBdJSONParser#select}. 147 | * @param ctx the parse tree 148 | */ 149 | void exitSelect(MingBdJSONParser.SelectContext ctx); 150 | /** 151 | * Enter a parse tree produced by {@link MingBdJSONParser#groupBy}. 152 | * @param ctx the parse tree 153 | */ 154 | void enterGroupBy(MingBdJSONParser.GroupByContext ctx); 155 | /** 156 | * Exit a parse tree produced by {@link MingBdJSONParser#groupBy}. 157 | * @param ctx the parse tree 158 | */ 159 | void exitGroupBy(MingBdJSONParser.GroupByContext ctx); 160 | /** 161 | * Enter a parse tree produced by {@link MingBdJSONParser#filter}. 162 | * @param ctx the parse tree 163 | */ 164 | void enterFilter(MingBdJSONParser.FilterContext ctx); 165 | /** 166 | * Exit a parse tree produced by {@link MingBdJSONParser#filter}. 167 | * @param ctx the parse tree 168 | */ 169 | void exitFilter(MingBdJSONParser.FilterContext ctx); 170 | /** 171 | * Enter a parse tree produced by {@link MingBdJSONParser#cols}. 172 | * @param ctx the parse tree 173 | */ 174 | void enterCols(MingBdJSONParser.ColsContext ctx); 175 | /** 176 | * Exit a parse tree produced by {@link MingBdJSONParser#cols}. 177 | * @param ctx the parse tree 178 | */ 179 | void exitCols(MingBdJSONParser.ColsContext ctx); 180 | /** 181 | * Enter a parse tree produced by {@link MingBdJSONParser#col}. 182 | * @param ctx the parse tree 183 | */ 184 | void enterCol(MingBdJSONParser.ColContext ctx); 185 | /** 186 | * Exit a parse tree produced by {@link MingBdJSONParser#col}. 187 | * @param ctx the parse tree 188 | */ 189 | void exitCol(MingBdJSONParser.ColContext ctx); 190 | /** 191 | * Enter a parse tree produced by {@link MingBdJSONParser#save}. 192 | * @param ctx the parse tree 193 | */ 194 | void enterSave(MingBdJSONParser.SaveContext ctx); 195 | /** 196 | * Exit a parse tree produced by {@link MingBdJSONParser#save}. 197 | * @param ctx the parse tree 198 | */ 199 | void exitSave(MingBdJSONParser.SaveContext ctx); 200 | /** 201 | * Enter a parse tree produced by {@link MingBdJSONParser#saveInfo}. 202 | * @param ctx the parse tree 203 | */ 204 | void enterSaveInfo(MingBdJSONParser.SaveInfoContext ctx); 205 | /** 206 | * Exit a parse tree produced by {@link MingBdJSONParser#saveInfo}. 207 | * @param ctx the parse tree 208 | */ 209 | void exitSaveInfo(MingBdJSONParser.SaveInfoContext ctx); 210 | /** 211 | * Enter a parse tree produced by {@link MingBdJSONParser#kafkaSave}. 212 | * @param ctx the parse tree 213 | */ 214 | void enterKafkaSave(MingBdJSONParser.KafkaSaveContext ctx); 215 | /** 216 | * Exit a parse tree produced by {@link MingBdJSONParser#kafkaSave}. 217 | * @param ctx the parse tree 218 | */ 219 | void exitKafkaSave(MingBdJSONParser.KafkaSaveContext ctx); 220 | /** 221 | * Enter a parse tree produced by {@link MingBdJSONParser#mysqlSave}. 222 | * @param ctx the parse tree 223 | */ 224 | void enterMysqlSave(MingBdJSONParser.MysqlSaveContext ctx); 225 | /** 226 | * Exit a parse tree produced by {@link MingBdJSONParser#mysqlSave}. 227 | * @param ctx the parse tree 228 | */ 229 | void exitMysqlSave(MingBdJSONParser.MysqlSaveContext ctx); 230 | /** 231 | * Enter a parse tree produced by {@link MingBdJSONParser#joinpair}. 232 | * @param ctx the parse tree 233 | */ 234 | void enterJoinpair(MingBdJSONParser.JoinpairContext ctx); 235 | /** 236 | * Exit a parse tree produced by {@link MingBdJSONParser#joinpair}. 237 | * @param ctx the parse tree 238 | */ 239 | void exitJoinpair(MingBdJSONParser.JoinpairContext ctx); 240 | /** 241 | * Enter a parse tree produced by {@link MingBdJSONParser#kafkaSource}. 242 | * @param ctx the parse tree 243 | */ 244 | void enterKafkaSource(MingBdJSONParser.KafkaSourceContext ctx); 245 | /** 246 | * Exit a parse tree produced by {@link MingBdJSONParser#kafkaSource}. 247 | * @param ctx the parse tree 248 | */ 249 | void exitKafkaSource(MingBdJSONParser.KafkaSourceContext ctx); 250 | /** 251 | * Enter a parse tree produced by {@link MingBdJSONParser#field}. 252 | * @param ctx the parse tree 253 | */ 254 | void enterField(MingBdJSONParser.FieldContext ctx); 255 | /** 256 | * Exit a parse tree produced by {@link MingBdJSONParser#field}. 257 | * @param ctx the parse tree 258 | */ 259 | void exitField(MingBdJSONParser.FieldContext ctx); 260 | } -------------------------------------------------------------------------------- /json-dsl/src/main/java/parse/MingBdJSONBaseListener.java: -------------------------------------------------------------------------------- 1 | // Generated from D:/MyWorkSpace/zrDSL-flink/json-dsl/src/main/resources\MingBdJSON.g4 by ANTLR 4.8 2 | package parse; 3 | 4 | import org.antlr.v4.runtime.ParserRuleContext; 5 | import org.antlr.v4.runtime.tree.ErrorNode; 6 | import org.antlr.v4.runtime.tree.TerminalNode; 7 | 8 | /** 9 | * This class provides an empty implementation of {@link MingBdJSONListener}, 10 | * which can be extended to create a listener which only needs to handle a subset 11 | * of the available methods. 12 | */ 13 | public class MingBdJSONBaseListener implements MingBdJSONListener { 14 | /** 15 | * {@inheritDoc} 16 | * 17 | *The default implementation does nothing.
18 | */ 19 | @Override public void enterJson(MingBdJSONParser.JsonContext ctx) { } 20 | /** 21 | * {@inheritDoc} 22 | * 23 | *The default implementation does nothing.
24 | */ 25 | @Override public void exitJson(MingBdJSONParser.JsonContext ctx) { } 26 | /** 27 | * {@inheritDoc} 28 | * 29 | *The default implementation does nothing.
30 | */ 31 | @Override public void enterValue(MingBdJSONParser.ValueContext ctx) { } 32 | /** 33 | * {@inheritDoc} 34 | * 35 | *The default implementation does nothing.
36 | */ 37 | @Override public void exitValue(MingBdJSONParser.ValueContext ctx) { } 38 | /** 39 | * {@inheritDoc} 40 | * 41 | *The default implementation does nothing.
42 | */ 43 | @Override public void enterPair(MingBdJSONParser.PairContext ctx) { } 44 | /** 45 | * {@inheritDoc} 46 | * 47 | *The default implementation does nothing.
48 | */ 49 | @Override public void exitPair(MingBdJSONParser.PairContext ctx) { } 50 | /** 51 | * {@inheritDoc} 52 | * 53 | *The default implementation does nothing.
54 | */ 55 | @Override public void enterRuntype(MingBdJSONParser.RuntypeContext ctx) { } 56 | /** 57 | * {@inheritDoc} 58 | * 59 | *The default implementation does nothing.
60 | */ 61 | @Override public void exitRuntype(MingBdJSONParser.RuntypeContext ctx) { } 62 | /** 63 | * {@inheritDoc} 64 | * 65 | *The default implementation does nothing.
66 | */ 67 | @Override public void enterLoad(MingBdJSONParser.LoadContext ctx) { } 68 | /** 69 | * {@inheritDoc} 70 | * 71 | *The default implementation does nothing.
72 | */ 73 | @Override public void exitLoad(MingBdJSONParser.LoadContext ctx) { } 74 | /** 75 | * {@inheritDoc} 76 | * 77 | *The default implementation does nothing.
78 | */ 79 | @Override public void enterJoin(MingBdJSONParser.JoinContext ctx) { } 80 | /** 81 | * {@inheritDoc} 82 | * 83 | *The default implementation does nothing.
84 | */ 85 | @Override public void exitJoin(MingBdJSONParser.JoinContext ctx) { } 86 | /** 87 | * {@inheritDoc} 88 | * 89 | *The default implementation does nothing.
90 | */ 91 | @Override public void enterTrans(MingBdJSONParser.TransContext ctx) { } 92 | /** 93 | * {@inheritDoc} 94 | * 95 | *The default implementation does nothing.
96 | */ 97 | @Override public void exitTrans(MingBdJSONParser.TransContext ctx) { } 98 | /** 99 | * {@inheritDoc} 100 | * 101 | *The default implementation does nothing.
102 | */ 103 | @Override public void enterDataSource(MingBdJSONParser.DataSourceContext ctx) { } 104 | /** 105 | * {@inheritDoc} 106 | * 107 | *The default implementation does nothing.
108 | */ 109 | @Override public void exitDataSource(MingBdJSONParser.DataSourceContext ctx) { } 110 | /** 111 | * {@inheritDoc} 112 | * 113 | *The default implementation does nothing.
114 | */ 115 | @Override public void enterHbaseSource(MingBdJSONParser.HbaseSourceContext ctx) { } 116 | /** 117 | * {@inheritDoc} 118 | * 119 | *The default implementation does nothing.
120 | */ 121 | @Override public void exitHbaseSource(MingBdJSONParser.HbaseSourceContext ctx) { } 122 | /** 123 | * {@inheritDoc} 124 | * 125 | *The default implementation does nothing.
126 | */ 127 | @Override public void enterMysqlSource(MingBdJSONParser.MysqlSourceContext ctx) { } 128 | /** 129 | * {@inheritDoc} 130 | * 131 | *The default implementation does nothing.
132 | */ 133 | @Override public void exitMysqlSource(MingBdJSONParser.MysqlSourceContext ctx) { } 134 | /** 135 | * {@inheritDoc} 136 | * 137 | *The default implementation does nothing.
138 | */ 139 | @Override public void enterMysqlInfo(MingBdJSONParser.MysqlInfoContext ctx) { } 140 | /** 141 | * {@inheritDoc} 142 | * 143 | *The default implementation does nothing.
144 | */ 145 | @Override public void exitMysqlInfo(MingBdJSONParser.MysqlInfoContext ctx) { } 146 | /** 147 | * {@inheritDoc} 148 | * 149 | *The default implementation does nothing.
150 | */ 151 | @Override public void enterMysqlSchema(MingBdJSONParser.MysqlSchemaContext ctx) { } 152 | /** 153 | * {@inheritDoc} 154 | * 155 | *The default implementation does nothing.
156 | */ 157 | @Override public void exitMysqlSchema(MingBdJSONParser.MysqlSchemaContext ctx) { } 158 | /** 159 | * {@inheritDoc} 160 | * 161 | *The default implementation does nothing.
162 | */ 163 | @Override public void enterTransinfo(MingBdJSONParser.TransinfoContext ctx) { } 164 | /** 165 | * {@inheritDoc} 166 | * 167 | *The default implementation does nothing.
168 | */ 169 | @Override public void exitTransinfo(MingBdJSONParser.TransinfoContext ctx) { } 170 | /** 171 | * {@inheritDoc} 172 | * 173 | *The default implementation does nothing.
174 | */ 175 | @Override public void enterSelect(MingBdJSONParser.SelectContext ctx) { } 176 | /** 177 | * {@inheritDoc} 178 | * 179 | *The default implementation does nothing.
180 | */ 181 | @Override public void exitSelect(MingBdJSONParser.SelectContext ctx) { } 182 | /** 183 | * {@inheritDoc} 184 | * 185 | *The default implementation does nothing.
186 | */ 187 | @Override public void enterGroupBy(MingBdJSONParser.GroupByContext ctx) { } 188 | /** 189 | * {@inheritDoc} 190 | * 191 | *The default implementation does nothing.
192 | */ 193 | @Override public void exitGroupBy(MingBdJSONParser.GroupByContext ctx) { } 194 | /** 195 | * {@inheritDoc} 196 | * 197 | *The default implementation does nothing.
198 | */ 199 | @Override public void enterFilter(MingBdJSONParser.FilterContext ctx) { } 200 | /** 201 | * {@inheritDoc} 202 | * 203 | *The default implementation does nothing.
204 | */ 205 | @Override public void exitFilter(MingBdJSONParser.FilterContext ctx) { } 206 | /** 207 | * {@inheritDoc} 208 | * 209 | *The default implementation does nothing.
210 | */ 211 | @Override public void enterCols(MingBdJSONParser.ColsContext ctx) { } 212 | /** 213 | * {@inheritDoc} 214 | * 215 | *The default implementation does nothing.
216 | */ 217 | @Override public void exitCols(MingBdJSONParser.ColsContext ctx) { } 218 | /** 219 | * {@inheritDoc} 220 | * 221 | *The default implementation does nothing.
222 | */ 223 | @Override public void enterCol(MingBdJSONParser.ColContext ctx) { } 224 | /** 225 | * {@inheritDoc} 226 | * 227 | *The default implementation does nothing.
228 | */ 229 | @Override public void exitCol(MingBdJSONParser.ColContext ctx) { } 230 | /** 231 | * {@inheritDoc} 232 | * 233 | *The default implementation does nothing.
234 | */ 235 | @Override public void enterSave(MingBdJSONParser.SaveContext ctx) { } 236 | /** 237 | * {@inheritDoc} 238 | * 239 | *The default implementation does nothing.
240 | */ 241 | @Override public void exitSave(MingBdJSONParser.SaveContext ctx) { } 242 | /** 243 | * {@inheritDoc} 244 | * 245 | *The default implementation does nothing.
246 | */ 247 | @Override public void enterSaveInfo(MingBdJSONParser.SaveInfoContext ctx) { } 248 | /** 249 | * {@inheritDoc} 250 | * 251 | *The default implementation does nothing.
252 | */ 253 | @Override public void exitSaveInfo(MingBdJSONParser.SaveInfoContext ctx) { } 254 | /** 255 | * {@inheritDoc} 256 | * 257 | *The default implementation does nothing.
258 | */ 259 | @Override public void enterKafkaSave(MingBdJSONParser.KafkaSaveContext ctx) { } 260 | /** 261 | * {@inheritDoc} 262 | * 263 | *The default implementation does nothing.
264 | */ 265 | @Override public void exitKafkaSave(MingBdJSONParser.KafkaSaveContext ctx) { } 266 | /** 267 | * {@inheritDoc} 268 | * 269 | *The default implementation does nothing.
270 | */ 271 | @Override public void enterMysqlSave(MingBdJSONParser.MysqlSaveContext ctx) { } 272 | /** 273 | * {@inheritDoc} 274 | * 275 | *The default implementation does nothing.
276 | */ 277 | @Override public void exitMysqlSave(MingBdJSONParser.MysqlSaveContext ctx) { } 278 | /** 279 | * {@inheritDoc} 280 | * 281 | *The default implementation does nothing.
282 | */ 283 | @Override public void enterJoinpair(MingBdJSONParser.JoinpairContext ctx) { } 284 | /** 285 | * {@inheritDoc} 286 | * 287 | *The default implementation does nothing.
288 | */ 289 | @Override public void exitJoinpair(MingBdJSONParser.JoinpairContext ctx) { } 290 | /** 291 | * {@inheritDoc} 292 | * 293 | *The default implementation does nothing.
294 | */ 295 | @Override public void enterKafkaSource(MingBdJSONParser.KafkaSourceContext ctx) { } 296 | /** 297 | * {@inheritDoc} 298 | * 299 | *The default implementation does nothing.
300 | */ 301 | @Override public void exitKafkaSource(MingBdJSONParser.KafkaSourceContext ctx) { } 302 | /** 303 | * {@inheritDoc} 304 | * 305 | *The default implementation does nothing.
306 | */ 307 | @Override public void enterField(MingBdJSONParser.FieldContext ctx) { } 308 | /** 309 | * {@inheritDoc} 310 | * 311 | *The default implementation does nothing.
312 | */ 313 | @Override public void exitField(MingBdJSONParser.FieldContext ctx) { } 314 | 315 | /** 316 | * {@inheritDoc} 317 | * 318 | *The default implementation does nothing.
319 | */ 320 | @Override public void enterEveryRule(ParserRuleContext ctx) { } 321 | /** 322 | * {@inheritDoc} 323 | * 324 | *The default implementation does nothing.
325 | */ 326 | @Override public void exitEveryRule(ParserRuleContext ctx) { } 327 | /** 328 | * {@inheritDoc} 329 | * 330 | *The default implementation does nothing.
331 | */ 332 | @Override public void visitTerminal(TerminalNode node) { } 333 | /** 334 | * {@inheritDoc} 335 | * 336 | *The default implementation does nothing.
337 | */ 338 | @Override public void visitErrorNode(ErrorNode node) { } 339 | } -------------------------------------------------------------------------------- /json-flink-1.10/src/main/java/invoke/MyLoaderInvoke.scala: -------------------------------------------------------------------------------- 1 | package invoke 2 | 3 | import java.util 4 | 5 | import org.apache.flink.api.common.typeinfo.{BasicTypeInfo, TypeInformation, Types} 6 | import org.apache.flink.api.java.ExecutionEnvironment 7 | import org.apache.flink.api.java.io.jdbc.JDBCAppendTableSink 8 | import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment 9 | import org.apache.flink.table.api.java.{BatchTableEnvironment, StreamTableEnvironment} 10 | import org.apache.flink.table.api.{DataTypes, GroupedTable, Table, TableEnvironment} 11 | import org.apache.flink.table.descriptors.{Json, Kafka, Schema} 12 | import parse.{MingBdJSONBaseListener, MingBdJSONParser} 13 | import dsource.MysqlSQLSource 14 | import tool.{JSONTool, UDFRegister} 15 | 16 | import scala.collection.JavaConverters._ 17 | 18 | class MyLoaderInvoke extends MingBdJSONBaseListener { 19 | 20 | 21 | var tableEnv: TableEnvironment = _ 22 | var streamEnv: StreamExecutionEnvironment = _ 23 | var batchEnv: ExecutionEnvironment = _ 24 | var rMode: String = _ 25 | // private[dsl] val values: ParseTreeProperty[Table] = new ParseTreeProperty[Table] 26 | // private[dsl] val mapSchema: util.Map[String, String] = new util.HashMap[String, String] 27 | private[invoke] val map: util.Map[String, Table] = new util.HashMap[String, Table] 28 | 29 | 30 | override def exitJson(ctx: MingBdJSONParser.JsonContext): Unit = { 31 | if (rMode == "stream") 32 | streamEnv.execute() 33 | else 34 | batchEnv.execute() 35 | } 36 | 37 | override def enterRuntype(ctx: MingBdJSONParser.RuntypeContext): Unit = { 38 | val mode: String = ctx.getChild(2).getText.replaceAll("\"", "") 39 | mode match { 40 | case "stream" => { 41 | println("===================stream mode=====================") 42 | import org.apache.flink.table.api.EnvironmentSettings 43 | streamEnv = StreamExecutionEnvironment.getExecutionEnvironment 44 | val bsSettings = EnvironmentSettings.newInstance.useBlinkPlanner.inStreamingMode.build 45 | tableEnv = StreamTableEnvironment.create(streamEnv, bsSettings) 46 | } 47 | case "batch" => { 48 | println("===================batch mode=====================") 49 | // val bbSettings = EnvironmentSettings.newInstance().useBlinkPlanner().inBatchMode().build() 50 | // tableEnv = TableEnvironment.create(bbSettings) 51 | batchEnv = ExecutionEnvironment.getExecutionEnvironment 52 | tableEnv = BatchTableEnvironment.create(batchEnv) 53 | } 54 | case _ => throw new RuntimeException(s"$mode not support") 55 | } 56 | rMode = mode 57 | } 58 | 59 | override def enterKafkaSource(ctx: MingBdJSONParser.KafkaSourceContext): Unit = { 60 | val kafkaSource = ctx.getText 61 | val json = JSONTool.parseObj(kafkaSource) 62 | val tname = json.getString("tableName") 63 | val array = json.getJSONArray("schema").toJavaList(classOf[String]).asScala 64 | val schema = new Schema() 65 | val aliasNames = new util.ArrayList[String]() 66 | for (value <- array) { 67 | val field = JSONTool.parseObj(value.toString) 68 | schema.field(field.getString("nameI"), DataTypes.STRING()) 69 | aliasNames.add(field.getString("aliasI")) 70 | } 71 | tableEnv.connect( 72 | new Kafka() 73 | .version("universal") 74 | .topic(json.getString("topic")) 75 | .startFromEarliest() 76 | .property("zookeeper.connect", json.getString("zk")) 77 | .property("bootstrap.servers", json.getString("btServers")) 78 | ) 79 | .withFormat( 80 | new Json() 81 | .failOnMissingField(false) 82 | ) 83 | .withSchema( 84 | schema 85 | ).createTemporaryTable(json.getString("topic")) 86 | val m1 = tableEnv.from(json.getString("topic")).as(String.join(",", aliasNames)) 87 | map.put(tname, m1) 88 | } 89 | 90 | 91 | override def exitKafkaSource(ctx: MingBdJSONParser.KafkaSourceContext): Unit = { 92 | } 93 | 94 | override def enterHbaseSource(ctx: MingBdJSONParser.HbaseSourceContext): Unit = { 95 | 96 | } 97 | 98 | override def exitHbaseSource(ctx: MingBdJSONParser.HbaseSourceContext): Unit = { 99 | } 100 | 101 | override def enterMysqlSource(ctx: MingBdJSONParser.MysqlSourceContext): Unit = { 102 | val obj = JSONTool.parseObj(ctx.getText) 103 | val info = obj.getJSONObject("info") 104 | val schema = obj.getJSONArray("schema").toJavaList(classOf[String]) 105 | val strings = new Array[String](schema.size) 106 | val tableName = obj.getString("tableName") 107 | val url = info.getString("url") 108 | val user = info.getString("user") 109 | val pass = info.getString("pass") 110 | val query = info.getString("query") 111 | val source = MysqlSQLSource.getMysqlSource(batchEnv, url, user, pass, query, schema.toArray(strings)) 112 | val fields = String.join(",", schema) 113 | tableEnv.asInstanceOf[BatchTableEnvironment].createTemporaryView(tableName, source, fields) 114 | val table = tableEnv.from(tableName) 115 | map.put(tableName, table) 116 | } 117 | 118 | override def exitMysqlSource(ctx: MingBdJSONParser.MysqlSourceContext): Unit = { 119 | } 120 | 121 | override def enterCol(ctx: MingBdJSONParser.ColContext): Unit = { 122 | val colDesc = ctx.getText 123 | if (colDesc.contains("(")) { 124 | val fname = colDesc 125 | .split("\\(")(0) 126 | .trim 127 | .replaceAll("\"", "") 128 | UDFRegister.register(tableEnv, fname) 129 | } 130 | } 131 | 132 | override def exitCol(ctx: MingBdJSONParser.ColContext): Unit = { 133 | } 134 | 135 | override def enterSelect(ctx: MingBdJSONParser.SelectContext): Unit = { 136 | } 137 | 138 | override def exitSelect(ctx: MingBdJSONParser.SelectContext): Unit = { 139 | println(ctx.getText) 140 | val obj = JSONTool.parseObj(ctx.getText) 141 | var gp : GroupedTable= null 142 | if(obj.containsKey("group")){ 143 | val table = map.get(obj.getString("from")) 144 | gp = table.groupBy(String.join(",",obj.getJSONArray("group").toJavaList(classOf[String]))) 145 | } 146 | val cols = JSONTool.parseArray(obj.getString("cols")).toJavaList(classOf[String]) 147 | val from = obj.getString("from") 148 | val to = obj.getString("to") 149 | val distinct = obj.getBoolean("distinct") 150 | var table2:Table = null 151 | if(gp == null){ 152 | val table1 = map.get(from) 153 | table2= table1.select(String.join(",", cols)) 154 | }else{ 155 | table2= gp.select(String.join(",", cols)) 156 | } 157 | if (distinct) table2 = table2.distinct() 158 | if(obj.containsKey("condition")){ 159 | table2 = table2.filter(obj.getString("condition")) 160 | } 161 | table2.printSchema() 162 | map.put(to, table2) 163 | } 164 | 165 | override def enterMysqlSave(ctx: MingBdJSONParser.MysqlSaveContext): Unit = { 166 | val obj = JSONTool.parseObj(ctx.getText) 167 | val info = obj.getJSONObject("info") 168 | val schema = obj.getJSONArray("schema").toJavaList(classOf[String]) 169 | val from = obj.getString("from") 170 | val to = obj.getString("to") 171 | val url = info.getString("url") 172 | val user = info.getString("user") 173 | val pass = info.getString("pass") 174 | val query = info.getString("query") 175 | val sink: JDBCAppendTableSink = JDBCAppendTableSink.builder() 176 | .setDrivername("com.mysql.cj.jdbc.Driver") 177 | .setDBUrl(url) 178 | .setUsername(user) 179 | .setPassword(pass) 180 | .setQuery(query) 181 | .setParameterTypes( 182 | BasicTypeInfo.STRING_TYPE_INFO, 183 | BasicTypeInfo.INT_TYPE_INFO) 184 | .build() 185 | tableEnv.registerTableSink( 186 | to, Array[String]("sjhm","freqs"), 187 | Array[TypeInformation[_]](Types.STRING,Types.INT), 188 | sink) 189 | map.get(from).insertInto(to) 190 | } 191 | 192 | override def exitMysqlSave(ctx: MingBdJSONParser.MysqlSaveContext): Unit = { 193 | 194 | } 195 | override def enterGroupBy(ctx: MingBdJSONParser.GroupByContext): Unit = { 196 | 197 | } 198 | 199 | override def exitGroupBy(ctx: MingBdJSONParser.GroupByContext): Unit = { 200 | 201 | } 202 | 203 | override def enterFilter(ctx: MingBdJSONParser.FilterContext): Unit = { 204 | // val filter = ctx.getText 205 | // val obj = JSONTool.parseObj(filter) 206 | // val condition = obj.getString("condition") 207 | // val from = obj.getString("from") 208 | // val to = obj.getString("to") 209 | // val table1 = map.get(from) 210 | // val table2 = table1.filter(condition) 211 | // map.put(to, table2) 212 | } 213 | 214 | override def exitFilter(ctx: MingBdJSONParser.FilterContext): Unit = { 215 | } 216 | 217 | override def enterJoinpair(ctx: MingBdJSONParser.JoinpairContext): Unit = { 218 | val joinInfo = ctx.getText 219 | val obj = JSONTool.parseObj(joinInfo) 220 | val array = obj.getJSONArray("inputT") 221 | val condition = obj.getJSONArray("conditionT").get(0).toString 222 | val tout = obj.getString("outputT") 223 | val t1 = map.get(array.get(0).toString) 224 | val t2 = map.get(array.get(1).toString) 225 | val tf = t1.join(t2).where(condition) 226 | map.put(tout, tf) 227 | } 228 | 229 | override def exitJoinpair(ctx: MingBdJSONParser.JoinpairContext): Unit = { 230 | } 231 | 232 | override def enterKafkaSave(ctx: MingBdJSONParser.KafkaSaveContext): Unit = { 233 | val str = ctx.getText 234 | val obj = JSONTool.parseObj(str) 235 | val fTable = obj.getString("from") 236 | val cols = JSONTool.parseArray(obj.getString("cols")).toJavaList(classOf[String]).asScala 237 | val types = obj.getJSONArray("types").toJavaList(classOf[String]).asScala 238 | val zips = cols.zip(types) 239 | val schema = new Schema() 240 | for (field <- zips) { 241 | schema.field(field._1, field._2 match { 242 | case "string" => DataTypes.STRING() 243 | case "int" => DataTypes.INT() 244 | case _ => throw new RuntimeException(s"${field._2} 类型不支持") 245 | }) 246 | } 247 | tableEnv.connect( 248 | new Kafka() 249 | .version("universal") 250 | .topic(obj.getString("topic")) 251 | .property("zookeeper.connect", obj.getString("zk")) 252 | .property("bootstrap.servers", obj.getString("btServers")) 253 | ) 254 | .withFormat( 255 | new Json() 256 | .failOnMissingField(false).deriveSchema() 257 | ).withSchema( 258 | schema 259 | ) 260 | .createTemporaryTable(obj.getString("topic")) 261 | map.get(fTable).printSchema() 262 | map.get(fTable).insertInto(obj.getString("topic")) 263 | } 264 | 265 | override def exitKafkaSave(ctx: MingBdJSONParser.KafkaSaveContext): Unit = { 266 | } 267 | 268 | // def setValue(node: ParseTree, value: Table): Unit = { 269 | // values.put(node, value) 270 | // } 271 | // 272 | // def getValue(node: ParseTree): Any = values.get(node) 273 | 274 | } 275 | -------------------------------------------------------------------------------- /json-dsl/src/main/java/parse/MingBdJSON.interp: -------------------------------------------------------------------------------- 1 | token literal names: 2 | null 3 | '{' 4 | ',' 5 | '}' 6 | '"runMode"' 7 | ':' 8 | '"stream"' 9 | '"batch"' 10 | '"load"' 11 | '[' 12 | ']' 13 | '"join"' 14 | '"transform"' 15 | '"zkQuorum"' 16 | '"table"' 17 | '"info"' 18 | '"schema"' 19 | '"tableName"' 20 | '"driver"' 21 | '"url"' 22 | '"user"' 23 | '"pass"' 24 | '"query"' 25 | '"from"' 26 | '"to"' 27 | '"distinct"' 28 | 'true' 29 | 'false' 30 | '"group"' 31 | '"condition"' 32 | '"cols"' 33 | '"save"' 34 | '"zk"' 35 | '"btServers"' 36 | '"topic"' 37 | '"types"' 38 | '"inputT"' 39 | '"conditionT"' 40 | '"outputT"' 41 | '"groupId"' 42 | '"nameI"' 43 | '"aliasI"' 44 | null 45 | null 46 | null 47 | null 48 | null 49 | 50 | token symbolic names: 51 | null 52 | null 53 | null 54 | null 55 | null 56 | null 57 | null 58 | null 59 | null 60 | null 61 | null 62 | null 63 | null 64 | null 65 | null 66 | null 67 | null 68 | null 69 | null 70 | null 71 | null 72 | null 73 | null 74 | null 75 | null 76 | null 77 | null 78 | null 79 | null 80 | null 81 | null 82 | null 83 | null 84 | null 85 | null 86 | null 87 | null 88 | null 89 | null 90 | null 91 | null 92 | null 93 | STRING 94 | FUNCNAME 95 | BLOCK_STRING 96 | NUMBER 97 | WS 98 | 99 | rule names: 100 | json 101 | value 102 | pair 103 | runtype 104 | load 105 | join 106 | trans 107 | dataSource 108 | hbaseSource 109 | mysqlSource 110 | mysqlInfo 111 | mysqlSchema 112 | transinfo 113 | select 114 | groupBy 115 | filter 116 | cols 117 | col 118 | save 119 | saveInfo 120 | kafkaSave 121 | mysqlSave 122 | joinpair 123 | kafkaSource 124 | field 125 | 126 | 127 | atn: 128 | [3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 48, 373, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 59, 10, 3, 12, 3, 14, 3, 62, 11, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 71, 10, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 7, 6, 83, 10, 6, 12, 6, 14, 6, 86, 11, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 7, 7, 96, 10, 7, 12, 7, 14, 7, 99, 11, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 7, 8, 109, 10, 8, 12, 8, 14, 8, 112, 11, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 5, 9, 119, 10, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 7, 13, 171, 10, 13, 12, 13, 14, 13, 174, 11, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 5, 15, 184, 10, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 7, 15, 201, 10, 15, 12, 15, 14, 15, 204, 11, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 7, 16, 214, 10, 16, 12, 16, 14, 16, 217, 11, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 7, 18, 231, 10, 18, 12, 18, 14, 18, 234, 11, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 7, 20, 246, 10, 20, 12, 20, 14, 20, 249, 11, 20, 3, 20, 3, 20, 3, 21, 3, 21, 5, 21, 255, 10, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 7, 22, 282, 10, 22, 12, 22, 14, 22, 285, 11, 22, 3, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 7, 25, 351, 10, 25, 12, 25, 14, 25, 354, 11, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 2, 2, 27, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 2, 4, 3, 2, 8, 9, 3, 2, 28, 29, 2, 366, 2, 52, 3, 2, 2, 2, 4, 54, 3, 2, 2, 2, 6, 70, 3, 2, 2, 2, 8, 72, 3, 2, 2, 2, 10, 76, 3, 2, 2, 2, 12, 89, 3, 2, 2, 2, 14, 102, 3, 2, 2, 2, 16, 118, 3, 2, 2, 2, 18, 120, 3, 2, 2, 2, 20, 130, 3, 2, 2, 2, 22, 144, 3, 2, 2, 2, 24, 166, 3, 2, 2, 2, 26, 177, 3, 2, 2, 2, 28, 179, 3, 2, 2, 2, 30, 207, 3, 2, 2, 2, 32, 220, 3, 2, 2, 2, 34, 224, 3, 2, 2, 2, 36, 237, 3, 2, 2, 2, 38, 239, 3, 2, 2, 2, 40, 254, 3, 2, 2, 2, 42, 256, 3, 2, 2, 2, 44, 289, 3, 2, 2, 2, 46, 307, 3, 2, 2, 2, 48, 327, 3, 2, 2, 2, 50, 362, 3, 2, 2, 2, 52, 53, 5, 4, 3, 2, 53, 3, 3, 2, 2, 2, 54, 55, 7, 3, 2, 2, 55, 60, 5, 6, 4, 2, 56, 57, 7, 4, 2, 2, 57, 59, 5, 6, 4, 2, 58, 56, 3, 2, 2, 2, 59, 62, 3, 2, 2, 2, 60, 58, 3, 2, 2, 2, 60, 61, 3, 2, 2, 2, 61, 63, 3, 2, 2, 2, 62, 60, 3, 2, 2, 2, 63, 64, 7, 5, 2, 2, 64, 5, 3, 2, 2, 2, 65, 71, 5, 8, 5, 2, 66, 71, 5, 10, 6, 2, 67, 71, 5, 12, 7, 2, 68, 71, 5, 14, 8, 2, 69, 71, 5, 38, 20, 2, 70, 65, 3, 2, 2, 2, 70, 66, 3, 2, 2, 2, 70, 67, 3, 2, 2, 2, 70, 68, 3, 2, 2, 2, 70, 69, 3, 2, 2, 2, 71, 7, 3, 2, 2, 2, 72, 73, 7, 6, 2, 2, 73, 74, 7, 7, 2, 2, 74, 75, 9, 2, 2, 2, 75, 9, 3, 2, 2, 2, 76, 77, 7, 10, 2, 2, 77, 78, 7, 7, 2, 2, 78, 79, 7, 11, 2, 2, 79, 84, 5, 16, 9, 2, 80, 81, 7, 4, 2, 2, 81, 83, 5, 16, 9, 2, 82, 80, 3, 2, 2, 2, 83, 86, 3, 2, 2, 2, 84, 82, 3, 2, 2, 2, 84, 85, 3, 2, 2, 2, 85, 87, 3, 2, 2, 2, 86, 84, 3, 2, 2, 2, 87, 88, 7, 12, 2, 2, 88, 11, 3, 2, 2, 2, 89, 90, 7, 13, 2, 2, 90, 91, 7, 7, 2, 2, 91, 92, 7, 11, 2, 2, 92, 97, 5, 46, 24, 2, 93, 94, 7, 4, 2, 2, 94, 96, 5, 46, 24, 2, 95, 93, 3, 2, 2, 2, 96, 99, 3, 2, 2, 2, 97, 95, 3, 2, 2, 2, 97, 98, 3, 2, 2, 2, 98, 100, 3, 2, 2, 2, 99, 97, 3, 2, 2, 2, 100, 101, 7, 12, 2, 2, 101, 13, 3, 2, 2, 2, 102, 103, 7, 14, 2, 2, 103, 104, 7, 7, 2, 2, 104, 105, 7, 11, 2, 2, 105, 110, 5, 26, 14, 2, 106, 107, 7, 4, 2, 2, 107, 109, 5, 26, 14, 2, 108, 106, 3, 2, 2, 2, 109, 112, 3, 2, 2, 2, 110, 108, 3, 2, 2, 2, 110, 111, 3, 2, 2, 2, 111, 113, 3, 2, 2, 2, 112, 110, 3, 2, 2, 2, 113, 114, 7, 12, 2, 2, 114, 15, 3, 2, 2, 2, 115, 119, 5, 48, 25, 2, 116, 119, 5, 18, 10, 2, 117, 119, 5, 20, 11, 2, 118, 115, 3, 2, 2, 2, 118, 116, 3, 2, 2, 2, 118, 117, 3, 2, 2, 2, 119, 17, 3, 2, 2, 2, 120, 121, 7, 3, 2, 2, 121, 122, 7, 15, 2, 2, 122, 123, 7, 7, 2, 2, 123, 124, 7, 44, 2, 2, 124, 125, 7, 4, 2, 2, 125, 126, 7, 16, 2, 2, 126, 127, 7, 7, 2, 2, 127, 128, 7, 44, 2, 2, 128, 129, 7, 5, 2, 2, 129, 19, 3, 2, 2, 2, 130, 131, 7, 3, 2, 2, 131, 132, 7, 17, 2, 2, 132, 133, 7, 7, 2, 2, 133, 134, 5, 22, 12, 2, 134, 135, 7, 4, 2, 2, 135, 136, 7, 18, 2, 2, 136, 137, 7, 7, 2, 2, 137, 138, 5, 24, 13, 2, 138, 139, 7, 4, 2, 2, 139, 140, 7, 19, 2, 2, 140, 141, 7, 7, 2, 2, 141, 142, 7, 44, 2, 2, 142, 143, 7, 5, 2, 2, 143, 21, 3, 2, 2, 2, 144, 145, 7, 3, 2, 2, 145, 146, 7, 20, 2, 2, 146, 147, 7, 7, 2, 2, 147, 148, 7, 44, 2, 2, 148, 149, 7, 4, 2, 2, 149, 150, 7, 21, 2, 2, 150, 151, 7, 7, 2, 2, 151, 152, 7, 44, 2, 2, 152, 153, 7, 4, 2, 2, 153, 154, 7, 22, 2, 2, 154, 155, 7, 7, 2, 2, 155, 156, 7, 44, 2, 2, 156, 157, 7, 4, 2, 2, 157, 158, 7, 23, 2, 2, 158, 159, 7, 7, 2, 2, 159, 160, 7, 44, 2, 2, 160, 161, 7, 4, 2, 2, 161, 162, 7, 24, 2, 2, 162, 163, 7, 7, 2, 2, 163, 164, 7, 44, 2, 2, 164, 165, 7, 5, 2, 2, 165, 23, 3, 2, 2, 2, 166, 167, 7, 11, 2, 2, 167, 172, 7, 44, 2, 2, 168, 169, 7, 4, 2, 2, 169, 171, 7, 44, 2, 2, 170, 168, 3, 2, 2, 2, 171, 174, 3, 2, 2, 2, 172, 170, 3, 2, 2, 2, 172, 173, 3, 2, 2, 2, 173, 175, 3, 2, 2, 2, 174, 172, 3, 2, 2, 2, 175, 176, 7, 12, 2, 2, 176, 25, 3, 2, 2, 2, 177, 178, 5, 28, 15, 2, 178, 27, 3, 2, 2, 2, 179, 183, 7, 3, 2, 2, 180, 181, 5, 30, 16, 2, 181, 182, 7, 4, 2, 2, 182, 184, 3, 2, 2, 2, 183, 180, 3, 2, 2, 2, 183, 184, 3, 2, 2, 2, 184, 185, 3, 2, 2, 2, 185, 186, 5, 34, 18, 2, 186, 187, 7, 4, 2, 2, 187, 188, 7, 25, 2, 2, 188, 189, 7, 7, 2, 2, 189, 190, 7, 44, 2, 2, 190, 191, 7, 4, 2, 2, 191, 192, 7, 26, 2, 2, 192, 193, 7, 7, 2, 2, 193, 194, 7, 44, 2, 2, 194, 195, 7, 4, 2, 2, 195, 196, 7, 27, 2, 2, 196, 197, 7, 7, 2, 2, 197, 202, 9, 3, 2, 2, 198, 199, 7, 4, 2, 2, 199, 201, 5, 32, 17, 2, 200, 198, 3, 2, 2, 2, 201, 204, 3, 2, 2, 2, 202, 200, 3, 2, 2, 2, 202, 203, 3, 2, 2, 2, 203, 205, 3, 2, 2, 2, 204, 202, 3, 2, 2, 2, 205, 206, 7, 5, 2, 2, 206, 29, 3, 2, 2, 2, 207, 208, 7, 30, 2, 2, 208, 209, 7, 7, 2, 2, 209, 210, 7, 11, 2, 2, 210, 215, 5, 36, 19, 2, 211, 212, 7, 4, 2, 2, 212, 214, 5, 36, 19, 2, 213, 211, 3, 2, 2, 2, 214, 217, 3, 2, 2, 2, 215, 213, 3, 2, 2, 2, 215, 216, 3, 2, 2, 2, 216, 218, 3, 2, 2, 2, 217, 215, 3, 2, 2, 2, 218, 219, 7, 12, 2, 2, 219, 31, 3, 2, 2, 2, 220, 221, 7, 31, 2, 2, 221, 222, 7, 7, 2, 2, 222, 223, 7, 44, 2, 2, 223, 33, 3, 2, 2, 2, 224, 225, 7, 32, 2, 2, 225, 226, 7, 7, 2, 2, 226, 227, 7, 11, 2, 2, 227, 232, 5, 36, 19, 2, 228, 229, 7, 4, 2, 2, 229, 231, 5, 36, 19, 2, 230, 228, 3, 2, 2, 2, 231, 234, 3, 2, 2, 2, 232, 230, 3, 2, 2, 2, 232, 233, 3, 2, 2, 2, 233, 235, 3, 2, 2, 2, 234, 232, 3, 2, 2, 2, 235, 236, 7, 12, 2, 2, 236, 35, 3, 2, 2, 2, 237, 238, 7, 44, 2, 2, 238, 37, 3, 2, 2, 2, 239, 240, 7, 33, 2, 2, 240, 241, 7, 7, 2, 2, 241, 242, 7, 11, 2, 2, 242, 247, 5, 40, 21, 2, 243, 244, 7, 4, 2, 2, 244, 246, 5, 40, 21, 2, 245, 243, 3, 2, 2, 2, 246, 249, 3, 2, 2, 2, 247, 245, 3, 2, 2, 2, 247, 248, 3, 2, 2, 2, 248, 250, 3, 2, 2, 2, 249, 247, 3, 2, 2, 2, 250, 251, 7, 12, 2, 2, 251, 39, 3, 2, 2, 2, 252, 255, 5, 42, 22, 2, 253, 255, 5, 44, 23, 2, 254, 252, 3, 2, 2, 2, 254, 253, 3, 2, 2, 2, 255, 41, 3, 2, 2, 2, 256, 257, 7, 3, 2, 2, 257, 258, 7, 34, 2, 2, 258, 259, 7, 7, 2, 2, 259, 260, 7, 44, 2, 2, 260, 261, 7, 4, 2, 2, 261, 262, 7, 35, 2, 2, 262, 263, 7, 7, 2, 2, 263, 264, 7, 44, 2, 2, 264, 265, 7, 4, 2, 2, 265, 266, 7, 36, 2, 2, 266, 267, 7, 7, 2, 2, 267, 268, 7, 44, 2, 2, 268, 269, 7, 4, 2, 2, 269, 270, 7, 25, 2, 2, 270, 271, 7, 7, 2, 2, 271, 272, 7, 44, 2, 2, 272, 273, 7, 4, 2, 2, 273, 274, 5, 34, 18, 2, 274, 275, 7, 4, 2, 2, 275, 276, 7, 37, 2, 2, 276, 277, 7, 7, 2, 2, 277, 278, 7, 11, 2, 2, 278, 283, 5, 36, 19, 2, 279, 280, 7, 4, 2, 2, 280, 282, 5, 36, 19, 2, 281, 279, 3, 2, 2, 2, 282, 285, 3, 2, 2, 2, 283, 281, 3, 2, 2, 2, 283, 284, 3, 2, 2, 2, 284, 286, 3, 2, 2, 2, 285, 283, 3, 2, 2, 2, 286, 287, 7, 12, 2, 2, 287, 288, 7, 5, 2, 2, 288, 43, 3, 2, 2, 2, 289, 290, 7, 3, 2, 2, 290, 291, 7, 17, 2, 2, 291, 292, 7, 7, 2, 2, 292, 293, 5, 22, 12, 2, 293, 294, 7, 4, 2, 2, 294, 295, 7, 18, 2, 2, 295, 296, 7, 7, 2, 2, 296, 297, 5, 24, 13, 2, 297, 298, 7, 4, 2, 2, 298, 299, 7, 25, 2, 2, 299, 300, 7, 7, 2, 2, 300, 301, 7, 44, 2, 2, 301, 302, 7, 4, 2, 2, 302, 303, 7, 26, 2, 2, 303, 304, 7, 7, 2, 2, 304, 305, 7, 44, 2, 2, 305, 306, 7, 5, 2, 2, 306, 45, 3, 2, 2, 2, 307, 308, 7, 3, 2, 2, 308, 309, 7, 38, 2, 2, 309, 310, 7, 7, 2, 2, 310, 311, 7, 11, 2, 2, 311, 312, 7, 44, 2, 2, 312, 313, 7, 4, 2, 2, 313, 314, 7, 44, 2, 2, 314, 315, 7, 12, 2, 2, 315, 316, 7, 4, 2, 2, 316, 317, 7, 39, 2, 2, 317, 318, 7, 7, 2, 2, 318, 319, 7, 11, 2, 2, 319, 320, 7, 44, 2, 2, 320, 321, 7, 12, 2, 2, 321, 322, 7, 4, 2, 2, 322, 323, 7, 40, 2, 2, 323, 324, 7, 7, 2, 2, 324, 325, 7, 44, 2, 2, 325, 326, 7, 5, 2, 2, 326, 47, 3, 2, 2, 2, 327, 328, 7, 3, 2, 2, 328, 329, 7, 34, 2, 2, 329, 330, 7, 7, 2, 2, 330, 331, 7, 44, 2, 2, 331, 332, 7, 4, 2, 2, 332, 333, 7, 35, 2, 2, 333, 334, 7, 7, 2, 2, 334, 335, 7, 44, 2, 2, 335, 336, 7, 4, 2, 2, 336, 337, 7, 36, 2, 2, 337, 338, 7, 7, 2, 2, 338, 339, 7, 44, 2, 2, 339, 340, 7, 4, 2, 2, 340, 341, 7, 41, 2, 2, 341, 342, 7, 7, 2, 2, 342, 343, 7, 44, 2, 2, 343, 344, 7, 4, 2, 2, 344, 345, 7, 18, 2, 2, 345, 346, 7, 7, 2, 2, 346, 347, 7, 11, 2, 2, 347, 352, 5, 50, 26, 2, 348, 349, 7, 4, 2, 2, 349, 351, 5, 50, 26, 2, 350, 348, 3, 2, 2, 2, 351, 354, 3, 2, 2, 2, 352, 350, 3, 2, 2, 2, 352, 353, 3, 2, 2, 2, 353, 355, 3, 2, 2, 2, 354, 352, 3, 2, 2, 2, 355, 356, 7, 12, 2, 2, 356, 357, 7, 4, 2, 2, 357, 358, 7, 19, 2, 2, 358, 359, 7, 7, 2, 2, 359, 360, 7, 44, 2, 2, 360, 361, 7, 5, 2, 2, 361, 49, 3, 2, 2, 2, 362, 363, 7, 3, 2, 2, 363, 364, 7, 42, 2, 2, 364, 365, 7, 7, 2, 2, 365, 366, 7, 44, 2, 2, 366, 367, 7, 4, 2, 2, 367, 368, 7, 43, 2, 2, 368, 369, 7, 7, 2, 2, 369, 370, 7, 44, 2, 2, 370, 371, 7, 5, 2, 2, 371, 51, 3, 2, 2, 2, 17, 60, 70, 84, 97, 110, 118, 172, 183, 202, 215, 232, 247, 254, 283, 352] -------------------------------------------------------------------------------- /json-dsl/src/main/java/parse/MingBdJSONLexer.interp: -------------------------------------------------------------------------------- 1 | token literal names: 2 | null 3 | '{' 4 | ',' 5 | '}' 6 | '"runMode"' 7 | ':' 8 | '"stream"' 9 | '"batch"' 10 | '"load"' 11 | '[' 12 | ']' 13 | '"join"' 14 | '"transform"' 15 | '"zkQuorum"' 16 | '"table"' 17 | '"info"' 18 | '"schema"' 19 | '"tableName"' 20 | '"driver"' 21 | '"url"' 22 | '"user"' 23 | '"pass"' 24 | '"query"' 25 | '"from"' 26 | '"to"' 27 | '"distinct"' 28 | 'true' 29 | 'false' 30 | '"group"' 31 | '"condition"' 32 | '"cols"' 33 | '"save"' 34 | '"zk"' 35 | '"btServers"' 36 | '"topic"' 37 | '"types"' 38 | '"inputT"' 39 | '"conditionT"' 40 | '"outputT"' 41 | '"groupId"' 42 | '"nameI"' 43 | '"aliasI"' 44 | null 45 | null 46 | null 47 | null 48 | null 49 | 50 | token symbolic names: 51 | null 52 | null 53 | null 54 | null 55 | null 56 | null 57 | null 58 | null 59 | null 60 | null 61 | null 62 | null 63 | null 64 | null 65 | null 66 | null 67 | null 68 | null 69 | null 70 | null 71 | null 72 | null 73 | null 74 | null 75 | null 76 | null 77 | null 78 | null 79 | null 80 | null 81 | null 82 | null 83 | null 84 | null 85 | null 86 | null 87 | null 88 | null 89 | null 90 | null 91 | null 92 | null 93 | STRING 94 | FUNCNAME 95 | BLOCK_STRING 96 | NUMBER 97 | WS 98 | 99 | rule names: 100 | T__0 101 | T__1 102 | T__2 103 | T__3 104 | T__4 105 | T__5 106 | T__6 107 | T__7 108 | T__8 109 | T__9 110 | T__10 111 | T__11 112 | T__12 113 | T__13 114 | T__14 115 | T__15 116 | T__16 117 | T__17 118 | T__18 119 | T__19 120 | T__20 121 | T__21 122 | T__22 123 | T__23 124 | T__24 125 | T__25 126 | T__26 127 | T__27 128 | T__28 129 | T__29 130 | T__30 131 | T__31 132 | T__32 133 | T__33 134 | T__34 135 | T__35 136 | T__36 137 | T__37 138 | T__38 139 | T__39 140 | T__40 141 | STRING 142 | FUNCNAME 143 | BLOCK_STRING 144 | ESC 145 | UNICODE 146 | HEX 147 | SAFECODEPOINT 148 | NUMBER 149 | INT 150 | EXP 151 | WS 152 | 153 | channel names: 154 | DEFAULT_TOKEN_CHANNEL 155 | HIDDEN 156 | 157 | mode names: 158 | DEFAULT_MODE 159 | 160 | atn: 161 | [3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 48, 500, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 14, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 3, 25, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33, 3, 33, 3, 33, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 36, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 39, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 40, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 43, 3, 43, 3, 43, 7, 43, 420, 10, 43, 12, 43, 14, 43, 423, 11, 43, 3, 43, 3, 43, 3, 44, 7, 44, 428, 10, 44, 12, 44, 14, 44, 431, 11, 44, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 45, 7, 45, 439, 10, 45, 12, 45, 14, 45, 442, 11, 45, 3, 45, 3, 45, 3, 45, 3, 45, 3, 46, 3, 46, 3, 46, 5, 46, 451, 10, 46, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 47, 3, 48, 3, 48, 3, 49, 3, 49, 3, 50, 5, 50, 464, 10, 50, 3, 50, 3, 50, 3, 50, 6, 50, 469, 10, 50, 13, 50, 14, 50, 470, 5, 50, 473, 10, 50, 3, 50, 5, 50, 476, 10, 50, 3, 51, 3, 51, 3, 51, 7, 51, 481, 10, 51, 12, 51, 14, 51, 484, 11, 51, 5, 51, 486, 10, 51, 3, 52, 3, 52, 5, 52, 490, 10, 52, 3, 52, 3, 52, 3, 53, 6, 53, 495, 10, 53, 13, 53, 14, 53, 496, 3, 53, 3, 53, 3, 440, 2, 54, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 2, 93, 2, 95, 2, 97, 2, 99, 47, 101, 2, 103, 2, 105, 48, 3, 2, 11, 5, 2, 50, 59, 67, 72, 99, 104, 3, 2, 45, 45, 10, 2, 36, 36, 49, 49, 94, 94, 100, 100, 104, 104, 112, 112, 116, 116, 118, 118, 5, 2, 2, 33, 36, 36, 94, 94, 3, 2, 50, 59, 3, 2, 51, 59, 4, 2, 71, 71, 103, 103, 4, 2, 45, 45, 47, 47, 5, 2, 11, 12, 15, 15, 34, 34, 2, 506, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45, 3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2, 53, 3, 2, 2, 2, 2, 55, 3, 2, 2, 2, 2, 57, 3, 2, 2, 2, 2, 59, 3, 2, 2, 2, 2, 61, 3, 2, 2, 2, 2, 63, 3, 2, 2, 2, 2, 65, 3, 2, 2, 2, 2, 67, 3, 2, 2, 2, 2, 69, 3, 2, 2, 2, 2, 71, 3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 2, 75, 3, 2, 2, 2, 2, 77, 3, 2, 2, 2, 2, 79, 3, 2, 2, 2, 2, 81, 3, 2, 2, 2, 2, 83, 3, 2, 2, 2, 2, 85, 3, 2, 2, 2, 2, 87, 3, 2, 2, 2, 2, 89, 3, 2, 2, 2, 2, 99, 3, 2, 2, 2, 2, 105, 3, 2, 2, 2, 3, 107, 3, 2, 2, 2, 5, 109, 3, 2, 2, 2, 7, 111, 3, 2, 2, 2, 9, 113, 3, 2, 2, 2, 11, 123, 3, 2, 2, 2, 13, 125, 3, 2, 2, 2, 15, 134, 3, 2, 2, 2, 17, 142, 3, 2, 2, 2, 19, 149, 3, 2, 2, 2, 21, 151, 3, 2, 2, 2, 23, 153, 3, 2, 2, 2, 25, 160, 3, 2, 2, 2, 27, 172, 3, 2, 2, 2, 29, 183, 3, 2, 2, 2, 31, 191, 3, 2, 2, 2, 33, 198, 3, 2, 2, 2, 35, 207, 3, 2, 2, 2, 37, 219, 3, 2, 2, 2, 39, 228, 3, 2, 2, 2, 41, 234, 3, 2, 2, 2, 43, 241, 3, 2, 2, 2, 45, 248, 3, 2, 2, 2, 47, 256, 3, 2, 2, 2, 49, 263, 3, 2, 2, 2, 51, 268, 3, 2, 2, 2, 53, 279, 3, 2, 2, 2, 55, 284, 3, 2, 2, 2, 57, 290, 3, 2, 2, 2, 59, 298, 3, 2, 2, 2, 61, 310, 3, 2, 2, 2, 63, 317, 3, 2, 2, 2, 65, 324, 3, 2, 2, 2, 67, 329, 3, 2, 2, 2, 69, 341, 3, 2, 2, 2, 71, 349, 3, 2, 2, 2, 73, 357, 3, 2, 2, 2, 75, 366, 3, 2, 2, 2, 77, 379, 3, 2, 2, 2, 79, 389, 3, 2, 2, 2, 81, 399, 3, 2, 2, 2, 83, 407, 3, 2, 2, 2, 85, 416, 3, 2, 2, 2, 87, 429, 3, 2, 2, 2, 89, 432, 3, 2, 2, 2, 91, 447, 3, 2, 2, 2, 93, 452, 3, 2, 2, 2, 95, 458, 3, 2, 2, 2, 97, 460, 3, 2, 2, 2, 99, 463, 3, 2, 2, 2, 101, 485, 3, 2, 2, 2, 103, 487, 3, 2, 2, 2, 105, 494, 3, 2, 2, 2, 107, 108, 7, 125, 2, 2, 108, 4, 3, 2, 2, 2, 109, 110, 7, 46, 2, 2, 110, 6, 3, 2, 2, 2, 111, 112, 7, 127, 2, 2, 112, 8, 3, 2, 2, 2, 113, 114, 7, 36, 2, 2, 114, 115, 7, 116, 2, 2, 115, 116, 7, 119, 2, 2, 116, 117, 7, 112, 2, 2, 117, 118, 7, 79, 2, 2, 118, 119, 7, 113, 2, 2, 119, 120, 7, 102, 2, 2, 120, 121, 7, 103, 2, 2, 121, 122, 7, 36, 2, 2, 122, 10, 3, 2, 2, 2, 123, 124, 7, 60, 2, 2, 124, 12, 3, 2, 2, 2, 125, 126, 7, 36, 2, 2, 126, 127, 7, 117, 2, 2, 127, 128, 7, 118, 2, 2, 128, 129, 7, 116, 2, 2, 129, 130, 7, 103, 2, 2, 130, 131, 7, 99, 2, 2, 131, 132, 7, 111, 2, 2, 132, 133, 7, 36, 2, 2, 133, 14, 3, 2, 2, 2, 134, 135, 7, 36, 2, 2, 135, 136, 7, 100, 2, 2, 136, 137, 7, 99, 2, 2, 137, 138, 7, 118, 2, 2, 138, 139, 7, 101, 2, 2, 139, 140, 7, 106, 2, 2, 140, 141, 7, 36, 2, 2, 141, 16, 3, 2, 2, 2, 142, 143, 7, 36, 2, 2, 143, 144, 7, 110, 2, 2, 144, 145, 7, 113, 2, 2, 145, 146, 7, 99, 2, 2, 146, 147, 7, 102, 2, 2, 147, 148, 7, 36, 2, 2, 148, 18, 3, 2, 2, 2, 149, 150, 7, 93, 2, 2, 150, 20, 3, 2, 2, 2, 151, 152, 7, 95, 2, 2, 152, 22, 3, 2, 2, 2, 153, 154, 7, 36, 2, 2, 154, 155, 7, 108, 2, 2, 155, 156, 7, 113, 2, 2, 156, 157, 7, 107, 2, 2, 157, 158, 7, 112, 2, 2, 158, 159, 7, 36, 2, 2, 159, 24, 3, 2, 2, 2, 160, 161, 7, 36, 2, 2, 161, 162, 7, 118, 2, 2, 162, 163, 7, 116, 2, 2, 163, 164, 7, 99, 2, 2, 164, 165, 7, 112, 2, 2, 165, 166, 7, 117, 2, 2, 166, 167, 7, 104, 2, 2, 167, 168, 7, 113, 2, 2, 168, 169, 7, 116, 2, 2, 169, 170, 7, 111, 2, 2, 170, 171, 7, 36, 2, 2, 171, 26, 3, 2, 2, 2, 172, 173, 7, 36, 2, 2, 173, 174, 7, 124, 2, 2, 174, 175, 7, 109, 2, 2, 175, 176, 7, 83, 2, 2, 176, 177, 7, 119, 2, 2, 177, 178, 7, 113, 2, 2, 178, 179, 7, 116, 2, 2, 179, 180, 7, 119, 2, 2, 180, 181, 7, 111, 2, 2, 181, 182, 7, 36, 2, 2, 182, 28, 3, 2, 2, 2, 183, 184, 7, 36, 2, 2, 184, 185, 7, 118, 2, 2, 185, 186, 7, 99, 2, 2, 186, 187, 7, 100, 2, 2, 187, 188, 7, 110, 2, 2, 188, 189, 7, 103, 2, 2, 189, 190, 7, 36, 2, 2, 190, 30, 3, 2, 2, 2, 191, 192, 7, 36, 2, 2, 192, 193, 7, 107, 2, 2, 193, 194, 7, 112, 2, 2, 194, 195, 7, 104, 2, 2, 195, 196, 7, 113, 2, 2, 196, 197, 7, 36, 2, 2, 197, 32, 3, 2, 2, 2, 198, 199, 7, 36, 2, 2, 199, 200, 7, 117, 2, 2, 200, 201, 7, 101, 2, 2, 201, 202, 7, 106, 2, 2, 202, 203, 7, 103, 2, 2, 203, 204, 7, 111, 2, 2, 204, 205, 7, 99, 2, 2, 205, 206, 7, 36, 2, 2, 206, 34, 3, 2, 2, 2, 207, 208, 7, 36, 2, 2, 208, 209, 7, 118, 2, 2, 209, 210, 7, 99, 2, 2, 210, 211, 7, 100, 2, 2, 211, 212, 7, 110, 2, 2, 212, 213, 7, 103, 2, 2, 213, 214, 7, 80, 2, 2, 214, 215, 7, 99, 2, 2, 215, 216, 7, 111, 2, 2, 216, 217, 7, 103, 2, 2, 217, 218, 7, 36, 2, 2, 218, 36, 3, 2, 2, 2, 219, 220, 7, 36, 2, 2, 220, 221, 7, 102, 2, 2, 221, 222, 7, 116, 2, 2, 222, 223, 7, 107, 2, 2, 223, 224, 7, 120, 2, 2, 224, 225, 7, 103, 2, 2, 225, 226, 7, 116, 2, 2, 226, 227, 7, 36, 2, 2, 227, 38, 3, 2, 2, 2, 228, 229, 7, 36, 2, 2, 229, 230, 7, 119, 2, 2, 230, 231, 7, 116, 2, 2, 231, 232, 7, 110, 2, 2, 232, 233, 7, 36, 2, 2, 233, 40, 3, 2, 2, 2, 234, 235, 7, 36, 2, 2, 235, 236, 7, 119, 2, 2, 236, 237, 7, 117, 2, 2, 237, 238, 7, 103, 2, 2, 238, 239, 7, 116, 2, 2, 239, 240, 7, 36, 2, 2, 240, 42, 3, 2, 2, 2, 241, 242, 7, 36, 2, 2, 242, 243, 7, 114, 2, 2, 243, 244, 7, 99, 2, 2, 244, 245, 7, 117, 2, 2, 245, 246, 7, 117, 2, 2, 246, 247, 7, 36, 2, 2, 247, 44, 3, 2, 2, 2, 248, 249, 7, 36, 2, 2, 249, 250, 7, 115, 2, 2, 250, 251, 7, 119, 2, 2, 251, 252, 7, 103, 2, 2, 252, 253, 7, 116, 2, 2, 253, 254, 7, 123, 2, 2, 254, 255, 7, 36, 2, 2, 255, 46, 3, 2, 2, 2, 256, 257, 7, 36, 2, 2, 257, 258, 7, 104, 2, 2, 258, 259, 7, 116, 2, 2, 259, 260, 7, 113, 2, 2, 260, 261, 7, 111, 2, 2, 261, 262, 7, 36, 2, 2, 262, 48, 3, 2, 2, 2, 263, 264, 7, 36, 2, 2, 264, 265, 7, 118, 2, 2, 265, 266, 7, 113, 2, 2, 266, 267, 7, 36, 2, 2, 267, 50, 3, 2, 2, 2, 268, 269, 7, 36, 2, 2, 269, 270, 7, 102, 2, 2, 270, 271, 7, 107, 2, 2, 271, 272, 7, 117, 2, 2, 272, 273, 7, 118, 2, 2, 273, 274, 7, 107, 2, 2, 274, 275, 7, 112, 2, 2, 275, 276, 7, 101, 2, 2, 276, 277, 7, 118, 2, 2, 277, 278, 7, 36, 2, 2, 278, 52, 3, 2, 2, 2, 279, 280, 7, 118, 2, 2, 280, 281, 7, 116, 2, 2, 281, 282, 7, 119, 2, 2, 282, 283, 7, 103, 2, 2, 283, 54, 3, 2, 2, 2, 284, 285, 7, 104, 2, 2, 285, 286, 7, 99, 2, 2, 286, 287, 7, 110, 2, 2, 287, 288, 7, 117, 2, 2, 288, 289, 7, 103, 2, 2, 289, 56, 3, 2, 2, 2, 290, 291, 7, 36, 2, 2, 291, 292, 7, 105, 2, 2, 292, 293, 7, 116, 2, 2, 293, 294, 7, 113, 2, 2, 294, 295, 7, 119, 2, 2, 295, 296, 7, 114, 2, 2, 296, 297, 7, 36, 2, 2, 297, 58, 3, 2, 2, 2, 298, 299, 7, 36, 2, 2, 299, 300, 7, 101, 2, 2, 300, 301, 7, 113, 2, 2, 301, 302, 7, 112, 2, 2, 302, 303, 7, 102, 2, 2, 303, 304, 7, 107, 2, 2, 304, 305, 7, 118, 2, 2, 305, 306, 7, 107, 2, 2, 306, 307, 7, 113, 2, 2, 307, 308, 7, 112, 2, 2, 308, 309, 7, 36, 2, 2, 309, 60, 3, 2, 2, 2, 310, 311, 7, 36, 2, 2, 311, 312, 7, 101, 2, 2, 312, 313, 7, 113, 2, 2, 313, 314, 7, 110, 2, 2, 314, 315, 7, 117, 2, 2, 315, 316, 7, 36, 2, 2, 316, 62, 3, 2, 2, 2, 317, 318, 7, 36, 2, 2, 318, 319, 7, 117, 2, 2, 319, 320, 7, 99, 2, 2, 320, 321, 7, 120, 2, 2, 321, 322, 7, 103, 2, 2, 322, 323, 7, 36, 2, 2, 323, 64, 3, 2, 2, 2, 324, 325, 7, 36, 2, 2, 325, 326, 7, 124, 2, 2, 326, 327, 7, 109, 2, 2, 327, 328, 7, 36, 2, 2, 328, 66, 3, 2, 2, 2, 329, 330, 7, 36, 2, 2, 330, 331, 7, 100, 2, 2, 331, 332, 7, 118, 2, 2, 332, 333, 7, 85, 2, 2, 333, 334, 7, 103, 2, 2, 334, 335, 7, 116, 2, 2, 335, 336, 7, 120, 2, 2, 336, 337, 7, 103, 2, 2, 337, 338, 7, 116, 2, 2, 338, 339, 7, 117, 2, 2, 339, 340, 7, 36, 2, 2, 340, 68, 3, 2, 2, 2, 341, 342, 7, 36, 2, 2, 342, 343, 7, 118, 2, 2, 343, 344, 7, 113, 2, 2, 344, 345, 7, 114, 2, 2, 345, 346, 7, 107, 2, 2, 346, 347, 7, 101, 2, 2, 347, 348, 7, 36, 2, 2, 348, 70, 3, 2, 2, 2, 349, 350, 7, 36, 2, 2, 350, 351, 7, 118, 2, 2, 351, 352, 7, 123, 2, 2, 352, 353, 7, 114, 2, 2, 353, 354, 7, 103, 2, 2, 354, 355, 7, 117, 2, 2, 355, 356, 7, 36, 2, 2, 356, 72, 3, 2, 2, 2, 357, 358, 7, 36, 2, 2, 358, 359, 7, 107, 2, 2, 359, 360, 7, 112, 2, 2, 360, 361, 7, 114, 2, 2, 361, 362, 7, 119, 2, 2, 362, 363, 7, 118, 2, 2, 363, 364, 7, 86, 2, 2, 364, 365, 7, 36, 2, 2, 365, 74, 3, 2, 2, 2, 366, 367, 7, 36, 2, 2, 367, 368, 7, 101, 2, 2, 368, 369, 7, 113, 2, 2, 369, 370, 7, 112, 2, 2, 370, 371, 7, 102, 2, 2, 371, 372, 7, 107, 2, 2, 372, 373, 7, 118, 2, 2, 373, 374, 7, 107, 2, 2, 374, 375, 7, 113, 2, 2, 375, 376, 7, 112, 2, 2, 376, 377, 7, 86, 2, 2, 377, 378, 7, 36, 2, 2, 378, 76, 3, 2, 2, 2, 379, 380, 7, 36, 2, 2, 380, 381, 7, 113, 2, 2, 381, 382, 7, 119, 2, 2, 382, 383, 7, 118, 2, 2, 383, 384, 7, 114, 2, 2, 384, 385, 7, 119, 2, 2, 385, 386, 7, 118, 2, 2, 386, 387, 7, 86, 2, 2, 387, 388, 7, 36, 2, 2, 388, 78, 3, 2, 2, 2, 389, 390, 7, 36, 2, 2, 390, 391, 7, 105, 2, 2, 391, 392, 7, 116, 2, 2, 392, 393, 7, 113, 2, 2, 393, 394, 7, 119, 2, 2, 394, 395, 7, 114, 2, 2, 395, 396, 7, 75, 2, 2, 396, 397, 7, 102, 2, 2, 397, 398, 7, 36, 2, 2, 398, 80, 3, 2, 2, 2, 399, 400, 7, 36, 2, 2, 400, 401, 7, 112, 2, 2, 401, 402, 7, 99, 2, 2, 402, 403, 7, 111, 2, 2, 403, 404, 7, 103, 2, 2, 404, 405, 7, 75, 2, 2, 405, 406, 7, 36, 2, 2, 406, 82, 3, 2, 2, 2, 407, 408, 7, 36, 2, 2, 408, 409, 7, 99, 2, 2, 409, 410, 7, 110, 2, 2, 410, 411, 7, 107, 2, 2, 411, 412, 7, 99, 2, 2, 412, 413, 7, 117, 2, 2, 413, 414, 7, 75, 2, 2, 414, 415, 7, 36, 2, 2, 415, 84, 3, 2, 2, 2, 416, 421, 7, 36, 2, 2, 417, 420, 5, 91, 46, 2, 418, 420, 5, 97, 49, 2, 419, 417, 3, 2, 2, 2, 419, 418, 3, 2, 2, 2, 420, 423, 3, 2, 2, 2, 421, 419, 3, 2, 2, 2, 421, 422, 3, 2, 2, 2, 422, 424, 3, 2, 2, 2, 423, 421, 3, 2, 2, 2, 424, 425, 7, 36, 2, 2, 425, 86, 3, 2, 2, 2, 426, 428, 9, 2, 2, 2, 427, 426, 3, 2, 2, 2, 428, 431, 3, 2, 2, 2, 429, 427, 3, 2, 2, 2, 429, 430, 3, 2, 2, 2, 430, 88, 3, 2, 2, 2, 431, 429, 3, 2, 2, 2, 432, 433, 7, 41, 2, 2, 433, 434, 7, 41, 2, 2, 434, 435, 7, 41, 2, 2, 435, 436, 3, 2, 2, 2, 436, 440, 10, 3, 2, 2, 437, 439, 11, 2, 2, 2, 438, 437, 3, 2, 2, 2, 439, 442, 3, 2, 2, 2, 440, 441, 3, 2, 2, 2, 440, 438, 3, 2, 2, 2, 441, 443, 3, 2, 2, 2, 442, 440, 3, 2, 2, 2, 443, 444, 7, 41, 2, 2, 444, 445, 7, 41, 2, 2, 445, 446, 7, 41, 2, 2, 446, 90, 3, 2, 2, 2, 447, 450, 7, 94, 2, 2, 448, 451, 9, 4, 2, 2, 449, 451, 5, 93, 47, 2, 450, 448, 3, 2, 2, 2, 450, 449, 3, 2, 2, 2, 451, 92, 3, 2, 2, 2, 452, 453, 7, 119, 2, 2, 453, 454, 5, 95, 48, 2, 454, 455, 5, 95, 48, 2, 455, 456, 5, 95, 48, 2, 456, 457, 5, 95, 48, 2, 457, 94, 3, 2, 2, 2, 458, 459, 9, 2, 2, 2, 459, 96, 3, 2, 2, 2, 460, 461, 10, 5, 2, 2, 461, 98, 3, 2, 2, 2, 462, 464, 7, 47, 2, 2, 463, 462, 3, 2, 2, 2, 463, 464, 3, 2, 2, 2, 464, 465, 3, 2, 2, 2, 465, 472, 5, 101, 51, 2, 466, 468, 7, 48, 2, 2, 467, 469, 9, 6, 2, 2, 468, 467, 3, 2, 2, 2, 469, 470, 3, 2, 2, 2, 470, 468, 3, 2, 2, 2, 470, 471, 3, 2, 2, 2, 471, 473, 3, 2, 2, 2, 472, 466, 3, 2, 2, 2, 472, 473, 3, 2, 2, 2, 473, 475, 3, 2, 2, 2, 474, 476, 5, 103, 52, 2, 475, 474, 3, 2, 2, 2, 475, 476, 3, 2, 2, 2, 476, 100, 3, 2, 2, 2, 477, 486, 7, 50, 2, 2, 478, 482, 9, 7, 2, 2, 479, 481, 9, 6, 2, 2, 480, 479, 3, 2, 2, 2, 481, 484, 3, 2, 2, 2, 482, 480, 3, 2, 2, 2, 482, 483, 3, 2, 2, 2, 483, 486, 3, 2, 2, 2, 484, 482, 3, 2, 2, 2, 485, 477, 3, 2, 2, 2, 485, 478, 3, 2, 2, 2, 486, 102, 3, 2, 2, 2, 487, 489, 9, 8, 2, 2, 488, 490, 9, 9, 2, 2, 489, 488, 3, 2, 2, 2, 489, 490, 3, 2, 2, 2, 490, 491, 3, 2, 2, 2, 491, 492, 5, 101, 51, 2, 492, 104, 3, 2, 2, 2, 493, 495, 9, 10, 2, 2, 494, 493, 3, 2, 2, 2, 495, 496, 3, 2, 2, 2, 496, 494, 3, 2, 2, 2, 496, 497, 3, 2, 2, 2, 497, 498, 3, 2, 2, 2, 498, 499, 8, 53, 2, 2, 499, 106, 3, 2, 2, 2, 16, 2, 419, 421, 429, 440, 450, 463, 470, 472, 475, 482, 485, 489, 496, 3, 8, 2, 2] -------------------------------------------------------------------------------- /json-dsl/src/main/java/parse/MingBdJSONLexer.java: -------------------------------------------------------------------------------- 1 | // Generated from D:/MyWorkSpace/zrDSL-flink/json-dsl/src/main/resources\MingBdJSON.g4 by ANTLR 4.8 2 | package parse; 3 | import org.antlr.v4.runtime.Lexer; 4 | import org.antlr.v4.runtime.CharStream; 5 | import org.antlr.v4.runtime.Token; 6 | import org.antlr.v4.runtime.TokenStream; 7 | import org.antlr.v4.runtime.*; 8 | import org.antlr.v4.runtime.atn.*; 9 | import org.antlr.v4.runtime.dfa.DFA; 10 | import org.antlr.v4.runtime.misc.*; 11 | 12 | @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) 13 | public class MingBdJSONLexer extends Lexer { 14 | static { RuntimeMetaData.checkVersion("4.8", RuntimeMetaData.VERSION); } 15 | 16 | protected static final DFA[] _decisionToDFA; 17 | protected static final PredictionContextCache _sharedContextCache = 18 | new PredictionContextCache(); 19 | public static final int 20 | T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, T__6=7, T__7=8, T__8=9, 21 | T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, T__16=17, 22 | T__17=18, T__18=19, T__19=20, T__20=21, T__21=22, T__22=23, T__23=24, 23 | T__24=25, T__25=26, T__26=27, T__27=28, T__28=29, T__29=30, T__30=31, 24 | T__31=32, T__32=33, T__33=34, T__34=35, T__35=36, T__36=37, T__37=38, 25 | T__38=39, T__39=40, T__40=41, STRING=42, FUNCNAME=43, BLOCK_STRING=44, 26 | NUMBER=45, WS=46; 27 | public static String[] channelNames = { 28 | "DEFAULT_TOKEN_CHANNEL", "HIDDEN" 29 | }; 30 | 31 | public static String[] modeNames = { 32 | "DEFAULT_MODE" 33 | }; 34 | 35 | private static String[] makeRuleNames() { 36 | return new String[] { 37 | "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", 38 | "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16", 39 | "T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "T__23", "T__24", 40 | "T__25", "T__26", "T__27", "T__28", "T__29", "T__30", "T__31", "T__32", 41 | "T__33", "T__34", "T__35", "T__36", "T__37", "T__38", "T__39", "T__40", 42 | "STRING", "FUNCNAME", "BLOCK_STRING", "ESC", "UNICODE", "HEX", "SAFECODEPOINT", 43 | "NUMBER", "INT", "EXP", "WS" 44 | }; 45 | } 46 | public static final String[] ruleNames = makeRuleNames(); 47 | 48 | private static String[] makeLiteralNames() { 49 | return new String[] { 50 | null, "'{'", "','", "'}'", "'\"runMode\"'", "':'", "'\"stream\"'", "'\"batch\"'", 51 | "'\"load\"'", "'['", "']'", "'\"join\"'", "'\"transform\"'", "'\"zkQuorum\"'", 52 | "'\"table\"'", "'\"info\"'", "'\"schema\"'", "'\"tableName\"'", "'\"driver\"'", 53 | "'\"url\"'", "'\"user\"'", "'\"pass\"'", "'\"query\"'", "'\"from\"'", 54 | "'\"to\"'", "'\"distinct\"'", "'true'", "'false'", "'\"group\"'", "'\"condition\"'", 55 | "'\"cols\"'", "'\"save\"'", "'\"zk\"'", "'\"btServers\"'", "'\"topic\"'", 56 | "'\"types\"'", "'\"inputT\"'", "'\"conditionT\"'", "'\"outputT\"'", "'\"groupId\"'", 57 | "'\"nameI\"'", "'\"aliasI\"'" 58 | }; 59 | } 60 | private static final String[] _LITERAL_NAMES = makeLiteralNames(); 61 | private static String[] makeSymbolicNames() { 62 | return new String[] { 63 | null, null, null, null, null, null, null, null, null, null, null, null, 64 | null, null, null, null, null, null, null, null, null, null, null, null, 65 | null, null, null, null, null, null, null, null, null, null, null, null, 66 | null, null, null, null, null, null, "STRING", "FUNCNAME", "BLOCK_STRING", 67 | "NUMBER", "WS" 68 | }; 69 | } 70 | private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); 71 | public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); 72 | 73 | /** 74 | * @deprecated Use {@link #VOCABULARY} instead. 75 | */ 76 | @Deprecated 77 | public static final String[] tokenNames; 78 | static { 79 | tokenNames = new String[_SYMBOLIC_NAMES.length]; 80 | for (int i = 0; i < tokenNames.length; i++) { 81 | tokenNames[i] = VOCABULARY.getLiteralName(i); 82 | if (tokenNames[i] == null) { 83 | tokenNames[i] = VOCABULARY.getSymbolicName(i); 84 | } 85 | 86 | if (tokenNames[i] == null) { 87 | tokenNames[i] = "