From b95e54b2ec4e743330cbf2b8f05d30431250bf26 Mon Sep 17 00:00:00 2001 From: Joseph Chambers Date: Tue, 26 Mar 2024 17:41:31 -0400 Subject: [PATCH 1/3] Add in default support for set of --- .../hpccsystems/ws/client/antlr/EclRecord.g4 | 15 +- .../ws/client/antlr/EclRecordReader.java | 62 + .../ws/client/antlr/gen/EclRecord.interp | 14 +- .../ws/client/antlr/gen/EclRecord.tokens | 70 +- .../antlr/gen/EclRecordBaseListener.java | 24 + .../ws/client/antlr/gen/EclRecordLexer.interp | 17 +- .../ws/client/antlr/gen/EclRecordLexer.java | 309 ++--- .../ws/client/antlr/gen/EclRecordLexer.tokens | 70 +- .../client/antlr/gen/EclRecordListener.java | 20 + .../ws/client/antlr/gen/EclRecordParser.java | 1080 +++++++++-------- .../ws/client/DFUFileDetailWrapperTest.java | 37 + 11 files changed, 1028 insertions(+), 690 deletions(-) diff --git a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/EclRecord.g4 b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/EclRecord.g4 index 9f26124b7..f434ebe31 100644 --- a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/EclRecord.g4 +++ b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/EclRecord.g4 @@ -77,6 +77,8 @@ opts: opt: maxlength | maxcount + | setdefaultvalall + | setdefaultval | defaultval | xpath | xmldefaultval @@ -93,7 +95,7 @@ maxcount: ; defaultval: - 'DEFAULT' OPAREN STRING CPAREN + ('DEFAULT' OPAREN STRING CPAREN) ; xpath: @@ -104,6 +106,13 @@ xmldefaultval: 'XMLDEFAULT' OPAREN STRING CPAREN ; +setdefaultval: + 'DEFAULT' OPAREN SETSTRING CPAREN +; +setdefaultvalall: + 'DEFAULT' OPAREN 'ALL' CPAREN +; + annotation_name : ATOKEN; annotation_param : (TOKEN|UTOKEN); annotation_arguments : annotation_param (COMMA annotation_param)*; @@ -114,6 +123,8 @@ comment: ( '/*' annotation? (COMMA annotation)* .*? (.*?'*/' | '*/')) ; +OSQUARE : '['; +CSQUARE : ']'; OPAREN : '('; CPAREN : ')'; OCURLY : '{'; @@ -130,9 +141,11 @@ DATASET_SYM : 'DATASET'; WS : [ \t\r\n] -> skip; INT : [0-9]+ ; fragment ESCAPED_QUOTE : '\\\''; +SETSTRING : '[\'' ( ESCAPED_QUOTE | SETTOKEN | ('\'') | ~(']'))* '\']'; STRING : '\'' ( ESCAPED_QUOTE | ~('\'') )* '\''; ATOKEN: [@][a-zA-Z0-9_-]+[a-zA-Z0-9_]; TOKEN : ~[_\r\n\t; (),:={}-]~[\r\n \t;(),:={}-]* ; UTOKEN: [_]+[a-zA-Z0-9_-]+[a-zA-Z0-9_]; ECL_NUMBERED_TYPE: TOKEN INT?; +SETTOKEN: [a-zA-Z0-9,_-]; diff --git a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/EclRecordReader.java b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/EclRecordReader.java index 0ff21e065..13937269c 100644 --- a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/EclRecordReader.java +++ b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/EclRecordReader.java @@ -396,6 +396,68 @@ else if (currentrec != null) } } + + @Override + public void enterSetdefaultvalall(EclRecordParser.SetdefaultvalallContext ctx) { + String val = ctx.getChild(2).getText(); + val = val.replace("'", ""); + + if (currentfield != null) + { + currentfield.setColumnValue(val); + } + else if (currentrec != null) + { + currentrec.setColumnValue(val); + } + } + + + /** + * {@inheritDoc} + * + *

+ * When entering a DEFAULT option for Set Of, set the columnvalue of the current field/rec to its value + *

+ */ + @Override + public void enterSetdefaultval(EclRecordParser.SetdefaultvalContext ctx) + { + String val = ctx.getChild(2).getText(); + if(val.length() >= 2){ + if(val.substring(0, 2).equals("['")) { + val = val.substring(2, val.length()); + } + } + if(val.length() >= 2){ + if(val.substring(val.length()-2, val.length()).equals("']")) { + val = val.substring(0, val.length() - 2); + } + } + //val = val.replaceFirst("(\[')", ""); + //val = val.replace("['", ""); + val = val.replace("']", ""); + + if(val.contains("','")){ + if(!val.startsWith("'")) { + val = "'" + val; + } + if(!val.endsWith("'")){ + val = val + "'"; + } + } + if (currentfield != null) + { + currentfield.setColumnValue(val); + } + else if (currentrec != null) + { + currentrec.setColumnValue(val); + } + + + } + /** * {@inheritDoc} * diff --git a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecord.interp b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecord.interp index 3a69f44e2..0750ba1a2 100644 --- a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecord.interp +++ b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecord.interp @@ -12,9 +12,12 @@ null 'DEFAULT' 'XPATH' 'XMLDEFAULT' +'ALL' '//' '/*' '*/' +'[' +']' '(' ')' '{' @@ -33,6 +36,8 @@ null null null null +null +null token symbolic names: null @@ -51,6 +56,9 @@ null null null null +null +OSQUARE +CSQUARE OPAREN CPAREN OCURLY @@ -64,11 +72,13 @@ END_SYM DATASET_SYM WS INT +SETSTRING STRING ATOKEN TOKEN UTOKEN ECL_NUMBERED_TYPE +SETTOKEN rule names: program @@ -98,6 +108,8 @@ maxcount defaultval xpath xmldefaultval +setdefaultval +setdefaultvalall annotation_name annotation_param annotation_arguments @@ -106,4 +118,4 @@ comment atn: -[4, 1, 33, 367, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 1, 0, 1, 0, 5, 0, 67, 8, 0, 10, 0, 12, 0, 70, 9, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 5, 2, 77, 8, 2, 10, 2, 12, 2, 80, 9, 2, 1, 3, 1, 3, 1, 3, 5, 3, 85, 8, 3, 10, 3, 12, 3, 88, 9, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 5, 5, 97, 8, 5, 10, 5, 12, 5, 100, 9, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 108, 8, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 116, 8, 6, 1, 7, 3, 7, 119, 8, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 3, 11, 134, 8, 11, 1, 11, 1, 11, 5, 11, 138, 8, 11, 10, 11, 12, 11, 141, 9, 11, 1, 11, 5, 11, 144, 8, 11, 10, 11, 12, 11, 147, 9, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 3, 12, 155, 8, 12, 1, 12, 3, 12, 158, 8, 12, 1, 12, 1, 12, 1, 12, 3, 12, 163, 8, 12, 1, 12, 1, 12, 1, 12, 3, 12, 168, 8, 12, 5, 12, 170, 8, 12, 10, 12, 12, 12, 173, 9, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 3, 13, 182, 8, 13, 1, 14, 1, 14, 1, 14, 3, 14, 187, 8, 14, 1, 14, 3, 14, 190, 8, 14, 1, 14, 1, 14, 1, 14, 3, 14, 195, 8, 14, 1, 14, 1, 14, 1, 14, 3, 14, 200, 8, 14, 5, 14, 202, 8, 14, 10, 14, 12, 14, 205, 9, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 5, 15, 213, 8, 15, 10, 15, 12, 15, 216, 9, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 3, 16, 223, 8, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 3, 17, 234, 8, 17, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 240, 8, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 248, 8, 18, 1, 19, 1, 19, 1, 19, 5, 19, 253, 8, 19, 10, 19, 12, 19, 256, 9, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 3, 20, 264, 8, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 3, 21, 278, 8, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 5, 29, 309, 8, 29, 10, 29, 12, 29, 312, 9, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 3, 30, 319, 8, 30, 1, 31, 1, 31, 3, 31, 323, 8, 31, 1, 31, 1, 31, 5, 31, 327, 8, 31, 10, 31, 12, 31, 330, 9, 31, 1, 31, 5, 31, 333, 8, 31, 10, 31, 12, 31, 336, 9, 31, 1, 31, 1, 31, 3, 31, 340, 8, 31, 1, 31, 1, 31, 5, 31, 344, 8, 31, 10, 31, 12, 31, 347, 9, 31, 1, 31, 5, 31, 350, 8, 31, 10, 31, 12, 31, 353, 9, 31, 1, 31, 5, 31, 356, 8, 31, 10, 31, 12, 31, 359, 9, 31, 1, 31, 1, 31, 3, 31, 363, 8, 31, 3, 31, 365, 8, 31, 1, 31, 3, 334, 351, 357, 0, 32, 0, 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, 52, 54, 56, 58, 60, 62, 0, 5, 2, 0, 28, 29, 31, 32, 1, 0, 1, 2, 1, 0, 31, 32, 2, 0, 3, 4, 31, 32, 1, 0, 7, 8, 383, 0, 64, 1, 0, 0, 0, 2, 71, 1, 0, 0, 0, 4, 73, 1, 0, 0, 0, 6, 81, 1, 0, 0, 0, 8, 89, 1, 0, 0, 0, 10, 93, 1, 0, 0, 0, 12, 115, 1, 0, 0, 0, 14, 118, 1, 0, 0, 0, 16, 122, 1, 0, 0, 0, 18, 124, 1, 0, 0, 0, 20, 128, 1, 0, 0, 0, 22, 130, 1, 0, 0, 0, 24, 151, 1, 0, 0, 0, 26, 177, 1, 0, 0, 0, 28, 183, 1, 0, 0, 0, 30, 208, 1, 0, 0, 0, 32, 222, 1, 0, 0, 0, 34, 224, 1, 0, 0, 0, 36, 235, 1, 0, 0, 0, 38, 249, 1, 0, 0, 0, 40, 263, 1, 0, 0, 0, 42, 277, 1, 0, 0, 0, 44, 279, 1, 0, 0, 0, 46, 281, 1, 0, 0, 0, 48, 286, 1, 0, 0, 0, 50, 291, 1, 0, 0, 0, 52, 296, 1, 0, 0, 0, 54, 301, 1, 0, 0, 0, 56, 303, 1, 0, 0, 0, 58, 305, 1, 0, 0, 0, 60, 313, 1, 0, 0, 0, 62, 364, 1, 0, 0, 0, 64, 68, 3, 32, 16, 0, 65, 67, 3, 32, 16, 0, 66, 65, 1, 0, 0, 0, 67, 70, 1, 0, 0, 0, 68, 66, 1, 0, 0, 0, 68, 69, 1, 0, 0, 0, 69, 1, 1, 0, 0, 0, 70, 68, 1, 0, 0, 0, 71, 72, 7, 0, 0, 0, 72, 3, 1, 0, 0, 0, 73, 78, 3, 2, 1, 0, 74, 75, 5, 20, 0, 0, 75, 77, 3, 2, 1, 0, 76, 74, 1, 0, 0, 0, 77, 80, 1, 0, 0, 0, 78, 76, 1, 0, 0, 0, 78, 79, 1, 0, 0, 0, 79, 5, 1, 0, 0, 0, 80, 78, 1, 0, 0, 0, 81, 86, 5, 31, 0, 0, 82, 83, 5, 20, 0, 0, 83, 85, 5, 31, 0, 0, 84, 82, 1, 0, 0, 0, 85, 88, 1, 0, 0, 0, 86, 84, 1, 0, 0, 0, 86, 87, 1, 0, 0, 0, 87, 7, 1, 0, 0, 0, 88, 86, 1, 0, 0, 0, 89, 90, 3, 2, 1, 0, 90, 91, 5, 22, 0, 0, 91, 92, 3, 4, 2, 0, 92, 9, 1, 0, 0, 0, 93, 98, 3, 8, 4, 0, 94, 95, 5, 20, 0, 0, 95, 97, 3, 8, 4, 0, 96, 94, 1, 0, 0, 0, 97, 100, 1, 0, 0, 0, 98, 96, 1, 0, 0, 0, 98, 99, 1, 0, 0, 0, 99, 11, 1, 0, 0, 0, 100, 98, 1, 0, 0, 0, 101, 102, 3, 14, 7, 0, 102, 107, 3, 16, 8, 0, 103, 104, 5, 18, 0, 0, 104, 105, 3, 38, 19, 0, 105, 106, 5, 19, 0, 0, 106, 108, 1, 0, 0, 0, 107, 103, 1, 0, 0, 0, 107, 108, 1, 0, 0, 0, 108, 116, 1, 0, 0, 0, 109, 116, 3, 34, 17, 0, 110, 116, 3, 36, 18, 0, 111, 112, 3, 30, 15, 0, 112, 113, 3, 16, 8, 0, 113, 116, 1, 0, 0, 0, 114, 116, 3, 18, 9, 0, 115, 101, 1, 0, 0, 0, 115, 109, 1, 0, 0, 0, 115, 110, 1, 0, 0, 0, 115, 111, 1, 0, 0, 0, 115, 114, 1, 0, 0, 0, 116, 13, 1, 0, 0, 0, 117, 119, 7, 1, 0, 0, 118, 117, 1, 0, 0, 0, 118, 119, 1, 0, 0, 0, 119, 120, 1, 0, 0, 0, 120, 121, 7, 2, 0, 0, 121, 15, 1, 0, 0, 0, 122, 123, 7, 3, 0, 0, 123, 17, 1, 0, 0, 0, 124, 125, 5, 16, 0, 0, 125, 126, 5, 31, 0, 0, 126, 127, 5, 17, 0, 0, 127, 19, 1, 0, 0, 0, 128, 129, 5, 5, 0, 0, 129, 21, 1, 0, 0, 0, 130, 133, 5, 18, 0, 0, 131, 132, 5, 20, 0, 0, 132, 134, 3, 42, 21, 0, 133, 131, 1, 0, 0, 0, 133, 134, 1, 0, 0, 0, 134, 135, 1, 0, 0, 0, 135, 145, 3, 12, 6, 0, 136, 138, 5, 20, 0, 0, 137, 136, 1, 0, 0, 0, 138, 141, 1, 0, 0, 0, 139, 137, 1, 0, 0, 0, 139, 140, 1, 0, 0, 0, 140, 142, 1, 0, 0, 0, 141, 139, 1, 0, 0, 0, 142, 144, 3, 12, 6, 0, 143, 139, 1, 0, 0, 0, 144, 147, 1, 0, 0, 0, 145, 143, 1, 0, 0, 0, 145, 146, 1, 0, 0, 0, 146, 148, 1, 0, 0, 0, 147, 145, 1, 0, 0, 0, 148, 149, 5, 19, 0, 0, 149, 150, 5, 21, 0, 0, 150, 23, 1, 0, 0, 0, 151, 154, 5, 24, 0, 0, 152, 153, 5, 20, 0, 0, 153, 155, 3, 42, 21, 0, 154, 152, 1, 0, 0, 0, 154, 155, 1, 0, 0, 0, 155, 157, 1, 0, 0, 0, 156, 158, 3, 62, 31, 0, 157, 156, 1, 0, 0, 0, 157, 158, 1, 0, 0, 0, 158, 159, 1, 0, 0, 0, 159, 160, 3, 12, 6, 0, 160, 162, 5, 21, 0, 0, 161, 163, 3, 62, 31, 0, 162, 161, 1, 0, 0, 0, 162, 163, 1, 0, 0, 0, 163, 171, 1, 0, 0, 0, 164, 165, 3, 12, 6, 0, 165, 167, 5, 21, 0, 0, 166, 168, 3, 62, 31, 0, 167, 166, 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, 168, 170, 1, 0, 0, 0, 169, 164, 1, 0, 0, 0, 170, 173, 1, 0, 0, 0, 171, 169, 1, 0, 0, 0, 171, 172, 1, 0, 0, 0, 172, 174, 1, 0, 0, 0, 173, 171, 1, 0, 0, 0, 174, 175, 5, 25, 0, 0, 175, 176, 5, 21, 0, 0, 176, 25, 1, 0, 0, 0, 177, 178, 7, 2, 0, 0, 178, 181, 5, 23, 0, 0, 179, 182, 3, 24, 12, 0, 180, 182, 3, 22, 11, 0, 181, 179, 1, 0, 0, 0, 181, 180, 1, 0, 0, 0, 182, 27, 1, 0, 0, 0, 183, 186, 5, 24, 0, 0, 184, 185, 5, 20, 0, 0, 185, 187, 3, 42, 21, 0, 186, 184, 1, 0, 0, 0, 186, 187, 1, 0, 0, 0, 187, 189, 1, 0, 0, 0, 188, 190, 3, 62, 31, 0, 189, 188, 1, 0, 0, 0, 189, 190, 1, 0, 0, 0, 190, 191, 1, 0, 0, 0, 191, 192, 3, 12, 6, 0, 192, 194, 5, 21, 0, 0, 193, 195, 3, 62, 31, 0, 194, 193, 1, 0, 0, 0, 194, 195, 1, 0, 0, 0, 195, 203, 1, 0, 0, 0, 196, 197, 3, 12, 6, 0, 197, 199, 5, 21, 0, 0, 198, 200, 3, 62, 31, 0, 199, 198, 1, 0, 0, 0, 199, 200, 1, 0, 0, 0, 200, 202, 1, 0, 0, 0, 201, 196, 1, 0, 0, 0, 202, 205, 1, 0, 0, 0, 203, 201, 1, 0, 0, 0, 203, 204, 1, 0, 0, 0, 204, 206, 1, 0, 0, 0, 205, 203, 1, 0, 0, 0, 206, 207, 5, 25, 0, 0, 207, 29, 1, 0, 0, 0, 208, 209, 5, 18, 0, 0, 209, 214, 3, 12, 6, 0, 210, 211, 5, 20, 0, 0, 211, 213, 3, 12, 6, 0, 212, 210, 1, 0, 0, 0, 213, 216, 1, 0, 0, 0, 214, 212, 1, 0, 0, 0, 214, 215, 1, 0, 0, 0, 215, 217, 1, 0, 0, 0, 216, 214, 1, 0, 0, 0, 217, 218, 5, 19, 0, 0, 218, 31, 1, 0, 0, 0, 219, 223, 3, 22, 11, 0, 220, 223, 3, 24, 12, 0, 221, 223, 3, 26, 13, 0, 222, 219, 1, 0, 0, 0, 222, 220, 1, 0, 0, 0, 222, 221, 1, 0, 0, 0, 223, 33, 1, 0, 0, 0, 224, 225, 5, 26, 0, 0, 225, 226, 5, 16, 0, 0, 226, 227, 7, 2, 0, 0, 227, 228, 5, 17, 0, 0, 228, 233, 7, 2, 0, 0, 229, 230, 5, 18, 0, 0, 230, 231, 3, 38, 19, 0, 231, 232, 5, 19, 0, 0, 232, 234, 1, 0, 0, 0, 233, 229, 1, 0, 0, 0, 233, 234, 1, 0, 0, 0, 234, 35, 1, 0, 0, 0, 235, 236, 5, 26, 0, 0, 236, 239, 5, 16, 0, 0, 237, 240, 3, 28, 14, 0, 238, 240, 3, 30, 15, 0, 239, 237, 1, 0, 0, 0, 239, 238, 1, 0, 0, 0, 240, 241, 1, 0, 0, 0, 241, 242, 5, 17, 0, 0, 242, 247, 7, 2, 0, 0, 243, 244, 5, 18, 0, 0, 244, 245, 3, 38, 19, 0, 245, 246, 5, 19, 0, 0, 246, 248, 1, 0, 0, 0, 247, 243, 1, 0, 0, 0, 247, 248, 1, 0, 0, 0, 248, 37, 1, 0, 0, 0, 249, 254, 3, 40, 20, 0, 250, 251, 5, 20, 0, 0, 251, 253, 3, 40, 20, 0, 252, 250, 1, 0, 0, 0, 253, 256, 1, 0, 0, 0, 254, 252, 1, 0, 0, 0, 254, 255, 1, 0, 0, 0, 255, 39, 1, 0, 0, 0, 256, 254, 1, 0, 0, 0, 257, 264, 3, 42, 21, 0, 258, 264, 3, 46, 23, 0, 259, 264, 3, 48, 24, 0, 260, 264, 3, 50, 25, 0, 261, 264, 3, 52, 26, 0, 262, 264, 3, 44, 22, 0, 263, 257, 1, 0, 0, 0, 263, 258, 1, 0, 0, 0, 263, 259, 1, 0, 0, 0, 263, 260, 1, 0, 0, 0, 263, 261, 1, 0, 0, 0, 263, 262, 1, 0, 0, 0, 264, 41, 1, 0, 0, 0, 265, 266, 5, 3, 0, 0, 266, 267, 5, 16, 0, 0, 267, 268, 5, 28, 0, 0, 268, 278, 5, 17, 0, 0, 269, 270, 5, 4, 0, 0, 270, 271, 5, 16, 0, 0, 271, 272, 5, 28, 0, 0, 272, 278, 5, 17, 0, 0, 273, 274, 5, 6, 0, 0, 274, 275, 5, 16, 0, 0, 275, 276, 5, 28, 0, 0, 276, 278, 5, 17, 0, 0, 277, 265, 1, 0, 0, 0, 277, 269, 1, 0, 0, 0, 277, 273, 1, 0, 0, 0, 278, 43, 1, 0, 0, 0, 279, 280, 7, 4, 0, 0, 280, 45, 1, 0, 0, 0, 281, 282, 5, 9, 0, 0, 282, 283, 5, 16, 0, 0, 283, 284, 5, 28, 0, 0, 284, 285, 5, 17, 0, 0, 285, 47, 1, 0, 0, 0, 286, 287, 5, 10, 0, 0, 287, 288, 5, 16, 0, 0, 288, 289, 5, 29, 0, 0, 289, 290, 5, 17, 0, 0, 290, 49, 1, 0, 0, 0, 291, 292, 5, 11, 0, 0, 292, 293, 5, 16, 0, 0, 293, 294, 5, 29, 0, 0, 294, 295, 5, 17, 0, 0, 295, 51, 1, 0, 0, 0, 296, 297, 5, 12, 0, 0, 297, 298, 5, 16, 0, 0, 298, 299, 5, 29, 0, 0, 299, 300, 5, 17, 0, 0, 300, 53, 1, 0, 0, 0, 301, 302, 5, 30, 0, 0, 302, 55, 1, 0, 0, 0, 303, 304, 7, 2, 0, 0, 304, 57, 1, 0, 0, 0, 305, 310, 3, 56, 28, 0, 306, 307, 5, 20, 0, 0, 307, 309, 3, 56, 28, 0, 308, 306, 1, 0, 0, 0, 309, 312, 1, 0, 0, 0, 310, 308, 1, 0, 0, 0, 310, 311, 1, 0, 0, 0, 311, 59, 1, 0, 0, 0, 312, 310, 1, 0, 0, 0, 313, 318, 3, 54, 27, 0, 314, 315, 5, 16, 0, 0, 315, 316, 3, 58, 29, 0, 316, 317, 5, 17, 0, 0, 317, 319, 1, 0, 0, 0, 318, 314, 1, 0, 0, 0, 318, 319, 1, 0, 0, 0, 319, 61, 1, 0, 0, 0, 320, 322, 5, 13, 0, 0, 321, 323, 3, 60, 30, 0, 322, 321, 1, 0, 0, 0, 322, 323, 1, 0, 0, 0, 323, 328, 1, 0, 0, 0, 324, 325, 5, 20, 0, 0, 325, 327, 3, 60, 30, 0, 326, 324, 1, 0, 0, 0, 327, 330, 1, 0, 0, 0, 328, 326, 1, 0, 0, 0, 328, 329, 1, 0, 0, 0, 329, 334, 1, 0, 0, 0, 330, 328, 1, 0, 0, 0, 331, 333, 9, 0, 0, 0, 332, 331, 1, 0, 0, 0, 333, 336, 1, 0, 0, 0, 334, 335, 1, 0, 0, 0, 334, 332, 1, 0, 0, 0, 335, 365, 1, 0, 0, 0, 336, 334, 1, 0, 0, 0, 337, 339, 5, 14, 0, 0, 338, 340, 3, 60, 30, 0, 339, 338, 1, 0, 0, 0, 339, 340, 1, 0, 0, 0, 340, 345, 1, 0, 0, 0, 341, 342, 5, 20, 0, 0, 342, 344, 3, 60, 30, 0, 343, 341, 1, 0, 0, 0, 344, 347, 1, 0, 0, 0, 345, 343, 1, 0, 0, 0, 345, 346, 1, 0, 0, 0, 346, 351, 1, 0, 0, 0, 347, 345, 1, 0, 0, 0, 348, 350, 9, 0, 0, 0, 349, 348, 1, 0, 0, 0, 350, 353, 1, 0, 0, 0, 351, 352, 1, 0, 0, 0, 351, 349, 1, 0, 0, 0, 352, 362, 1, 0, 0, 0, 353, 351, 1, 0, 0, 0, 354, 356, 9, 0, 0, 0, 355, 354, 1, 0, 0, 0, 356, 359, 1, 0, 0, 0, 357, 358, 1, 0, 0, 0, 357, 355, 1, 0, 0, 0, 358, 360, 1, 0, 0, 0, 359, 357, 1, 0, 0, 0, 360, 363, 5, 15, 0, 0, 361, 363, 5, 15, 0, 0, 362, 357, 1, 0, 0, 0, 362, 361, 1, 0, 0, 0, 363, 365, 1, 0, 0, 0, 364, 320, 1, 0, 0, 0, 364, 337, 1, 0, 0, 0, 365, 63, 1, 0, 0, 0, 40, 68, 78, 86, 98, 107, 115, 118, 133, 139, 145, 154, 157, 162, 167, 171, 181, 186, 189, 194, 199, 203, 214, 222, 233, 239, 247, 254, 263, 277, 310, 318, 322, 328, 334, 339, 345, 351, 357, 362, 364] \ No newline at end of file +[4, 1, 38, 383, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 1, 0, 1, 0, 5, 0, 71, 8, 0, 10, 0, 12, 0, 74, 9, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 5, 2, 81, 8, 2, 10, 2, 12, 2, 84, 9, 2, 1, 3, 1, 3, 1, 3, 5, 3, 89, 8, 3, 10, 3, 12, 3, 92, 9, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 5, 5, 101, 8, 5, 10, 5, 12, 5, 104, 9, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 112, 8, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 120, 8, 6, 1, 7, 3, 7, 123, 8, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 3, 11, 138, 8, 11, 1, 11, 1, 11, 5, 11, 142, 8, 11, 10, 11, 12, 11, 145, 9, 11, 1, 11, 5, 11, 148, 8, 11, 10, 11, 12, 11, 151, 9, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 3, 12, 159, 8, 12, 1, 12, 3, 12, 162, 8, 12, 1, 12, 1, 12, 1, 12, 3, 12, 167, 8, 12, 1, 12, 1, 12, 1, 12, 3, 12, 172, 8, 12, 5, 12, 174, 8, 12, 10, 12, 12, 12, 177, 9, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 3, 13, 186, 8, 13, 1, 14, 1, 14, 1, 14, 3, 14, 191, 8, 14, 1, 14, 3, 14, 194, 8, 14, 1, 14, 1, 14, 1, 14, 3, 14, 199, 8, 14, 1, 14, 1, 14, 1, 14, 3, 14, 204, 8, 14, 5, 14, 206, 8, 14, 10, 14, 12, 14, 209, 9, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 5, 15, 217, 8, 15, 10, 15, 12, 15, 220, 9, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 3, 16, 227, 8, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 3, 17, 238, 8, 17, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 244, 8, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 252, 8, 18, 1, 19, 1, 19, 1, 19, 5, 19, 257, 8, 19, 10, 19, 12, 19, 260, 9, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 3, 20, 270, 8, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 3, 21, 284, 8, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 5, 31, 325, 8, 31, 10, 31, 12, 31, 328, 9, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 3, 32, 335, 8, 32, 1, 33, 1, 33, 3, 33, 339, 8, 33, 1, 33, 1, 33, 5, 33, 343, 8, 33, 10, 33, 12, 33, 346, 9, 33, 1, 33, 5, 33, 349, 8, 33, 10, 33, 12, 33, 352, 9, 33, 1, 33, 1, 33, 3, 33, 356, 8, 33, 1, 33, 1, 33, 5, 33, 360, 8, 33, 10, 33, 12, 33, 363, 9, 33, 1, 33, 5, 33, 366, 8, 33, 10, 33, 12, 33, 369, 9, 33, 1, 33, 5, 33, 372, 8, 33, 10, 33, 12, 33, 375, 9, 33, 1, 33, 1, 33, 3, 33, 379, 8, 33, 3, 33, 381, 8, 33, 1, 33, 3, 350, 367, 373, 0, 34, 0, 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, 52, 54, 56, 58, 60, 62, 64, 66, 0, 5, 3, 0, 31, 31, 33, 33, 35, 36, 1, 0, 1, 2, 1, 0, 35, 36, 2, 0, 3, 4, 35, 36, 1, 0, 7, 8, 399, 0, 68, 1, 0, 0, 0, 2, 75, 1, 0, 0, 0, 4, 77, 1, 0, 0, 0, 6, 85, 1, 0, 0, 0, 8, 93, 1, 0, 0, 0, 10, 97, 1, 0, 0, 0, 12, 119, 1, 0, 0, 0, 14, 122, 1, 0, 0, 0, 16, 126, 1, 0, 0, 0, 18, 128, 1, 0, 0, 0, 20, 132, 1, 0, 0, 0, 22, 134, 1, 0, 0, 0, 24, 155, 1, 0, 0, 0, 26, 181, 1, 0, 0, 0, 28, 187, 1, 0, 0, 0, 30, 212, 1, 0, 0, 0, 32, 226, 1, 0, 0, 0, 34, 228, 1, 0, 0, 0, 36, 239, 1, 0, 0, 0, 38, 253, 1, 0, 0, 0, 40, 269, 1, 0, 0, 0, 42, 283, 1, 0, 0, 0, 44, 285, 1, 0, 0, 0, 46, 287, 1, 0, 0, 0, 48, 292, 1, 0, 0, 0, 50, 297, 1, 0, 0, 0, 52, 302, 1, 0, 0, 0, 54, 307, 1, 0, 0, 0, 56, 312, 1, 0, 0, 0, 58, 317, 1, 0, 0, 0, 60, 319, 1, 0, 0, 0, 62, 321, 1, 0, 0, 0, 64, 329, 1, 0, 0, 0, 66, 380, 1, 0, 0, 0, 68, 72, 3, 32, 16, 0, 69, 71, 3, 32, 16, 0, 70, 69, 1, 0, 0, 0, 71, 74, 1, 0, 0, 0, 72, 70, 1, 0, 0, 0, 72, 73, 1, 0, 0, 0, 73, 1, 1, 0, 0, 0, 74, 72, 1, 0, 0, 0, 75, 76, 7, 0, 0, 0, 76, 3, 1, 0, 0, 0, 77, 82, 3, 2, 1, 0, 78, 79, 5, 23, 0, 0, 79, 81, 3, 2, 1, 0, 80, 78, 1, 0, 0, 0, 81, 84, 1, 0, 0, 0, 82, 80, 1, 0, 0, 0, 82, 83, 1, 0, 0, 0, 83, 5, 1, 0, 0, 0, 84, 82, 1, 0, 0, 0, 85, 90, 5, 35, 0, 0, 86, 87, 5, 23, 0, 0, 87, 89, 5, 35, 0, 0, 88, 86, 1, 0, 0, 0, 89, 92, 1, 0, 0, 0, 90, 88, 1, 0, 0, 0, 90, 91, 1, 0, 0, 0, 91, 7, 1, 0, 0, 0, 92, 90, 1, 0, 0, 0, 93, 94, 3, 2, 1, 0, 94, 95, 5, 25, 0, 0, 95, 96, 3, 4, 2, 0, 96, 9, 1, 0, 0, 0, 97, 102, 3, 8, 4, 0, 98, 99, 5, 23, 0, 0, 99, 101, 3, 8, 4, 0, 100, 98, 1, 0, 0, 0, 101, 104, 1, 0, 0, 0, 102, 100, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 11, 1, 0, 0, 0, 104, 102, 1, 0, 0, 0, 105, 106, 3, 14, 7, 0, 106, 111, 3, 16, 8, 0, 107, 108, 5, 21, 0, 0, 108, 109, 3, 38, 19, 0, 109, 110, 5, 22, 0, 0, 110, 112, 1, 0, 0, 0, 111, 107, 1, 0, 0, 0, 111, 112, 1, 0, 0, 0, 112, 120, 1, 0, 0, 0, 113, 120, 3, 34, 17, 0, 114, 120, 3, 36, 18, 0, 115, 116, 3, 30, 15, 0, 116, 117, 3, 16, 8, 0, 117, 120, 1, 0, 0, 0, 118, 120, 3, 18, 9, 0, 119, 105, 1, 0, 0, 0, 119, 113, 1, 0, 0, 0, 119, 114, 1, 0, 0, 0, 119, 115, 1, 0, 0, 0, 119, 118, 1, 0, 0, 0, 120, 13, 1, 0, 0, 0, 121, 123, 7, 1, 0, 0, 122, 121, 1, 0, 0, 0, 122, 123, 1, 0, 0, 0, 123, 124, 1, 0, 0, 0, 124, 125, 7, 2, 0, 0, 125, 15, 1, 0, 0, 0, 126, 127, 7, 3, 0, 0, 127, 17, 1, 0, 0, 0, 128, 129, 5, 19, 0, 0, 129, 130, 5, 35, 0, 0, 130, 131, 5, 20, 0, 0, 131, 19, 1, 0, 0, 0, 132, 133, 5, 5, 0, 0, 133, 21, 1, 0, 0, 0, 134, 137, 5, 21, 0, 0, 135, 136, 5, 23, 0, 0, 136, 138, 3, 42, 21, 0, 137, 135, 1, 0, 0, 0, 137, 138, 1, 0, 0, 0, 138, 139, 1, 0, 0, 0, 139, 149, 3, 12, 6, 0, 140, 142, 5, 23, 0, 0, 141, 140, 1, 0, 0, 0, 142, 145, 1, 0, 0, 0, 143, 141, 1, 0, 0, 0, 143, 144, 1, 0, 0, 0, 144, 146, 1, 0, 0, 0, 145, 143, 1, 0, 0, 0, 146, 148, 3, 12, 6, 0, 147, 143, 1, 0, 0, 0, 148, 151, 1, 0, 0, 0, 149, 147, 1, 0, 0, 0, 149, 150, 1, 0, 0, 0, 150, 152, 1, 0, 0, 0, 151, 149, 1, 0, 0, 0, 152, 153, 5, 22, 0, 0, 153, 154, 5, 24, 0, 0, 154, 23, 1, 0, 0, 0, 155, 158, 5, 27, 0, 0, 156, 157, 5, 23, 0, 0, 157, 159, 3, 42, 21, 0, 158, 156, 1, 0, 0, 0, 158, 159, 1, 0, 0, 0, 159, 161, 1, 0, 0, 0, 160, 162, 3, 66, 33, 0, 161, 160, 1, 0, 0, 0, 161, 162, 1, 0, 0, 0, 162, 163, 1, 0, 0, 0, 163, 164, 3, 12, 6, 0, 164, 166, 5, 24, 0, 0, 165, 167, 3, 66, 33, 0, 166, 165, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, 175, 1, 0, 0, 0, 168, 169, 3, 12, 6, 0, 169, 171, 5, 24, 0, 0, 170, 172, 3, 66, 33, 0, 171, 170, 1, 0, 0, 0, 171, 172, 1, 0, 0, 0, 172, 174, 1, 0, 0, 0, 173, 168, 1, 0, 0, 0, 174, 177, 1, 0, 0, 0, 175, 173, 1, 0, 0, 0, 175, 176, 1, 0, 0, 0, 176, 178, 1, 0, 0, 0, 177, 175, 1, 0, 0, 0, 178, 179, 5, 28, 0, 0, 179, 180, 5, 24, 0, 0, 180, 25, 1, 0, 0, 0, 181, 182, 7, 2, 0, 0, 182, 185, 5, 26, 0, 0, 183, 186, 3, 24, 12, 0, 184, 186, 3, 22, 11, 0, 185, 183, 1, 0, 0, 0, 185, 184, 1, 0, 0, 0, 186, 27, 1, 0, 0, 0, 187, 190, 5, 27, 0, 0, 188, 189, 5, 23, 0, 0, 189, 191, 3, 42, 21, 0, 190, 188, 1, 0, 0, 0, 190, 191, 1, 0, 0, 0, 191, 193, 1, 0, 0, 0, 192, 194, 3, 66, 33, 0, 193, 192, 1, 0, 0, 0, 193, 194, 1, 0, 0, 0, 194, 195, 1, 0, 0, 0, 195, 196, 3, 12, 6, 0, 196, 198, 5, 24, 0, 0, 197, 199, 3, 66, 33, 0, 198, 197, 1, 0, 0, 0, 198, 199, 1, 0, 0, 0, 199, 207, 1, 0, 0, 0, 200, 201, 3, 12, 6, 0, 201, 203, 5, 24, 0, 0, 202, 204, 3, 66, 33, 0, 203, 202, 1, 0, 0, 0, 203, 204, 1, 0, 0, 0, 204, 206, 1, 0, 0, 0, 205, 200, 1, 0, 0, 0, 206, 209, 1, 0, 0, 0, 207, 205, 1, 0, 0, 0, 207, 208, 1, 0, 0, 0, 208, 210, 1, 0, 0, 0, 209, 207, 1, 0, 0, 0, 210, 211, 5, 28, 0, 0, 211, 29, 1, 0, 0, 0, 212, 213, 5, 21, 0, 0, 213, 218, 3, 12, 6, 0, 214, 215, 5, 23, 0, 0, 215, 217, 3, 12, 6, 0, 216, 214, 1, 0, 0, 0, 217, 220, 1, 0, 0, 0, 218, 216, 1, 0, 0, 0, 218, 219, 1, 0, 0, 0, 219, 221, 1, 0, 0, 0, 220, 218, 1, 0, 0, 0, 221, 222, 5, 22, 0, 0, 222, 31, 1, 0, 0, 0, 223, 227, 3, 22, 11, 0, 224, 227, 3, 24, 12, 0, 225, 227, 3, 26, 13, 0, 226, 223, 1, 0, 0, 0, 226, 224, 1, 0, 0, 0, 226, 225, 1, 0, 0, 0, 227, 33, 1, 0, 0, 0, 228, 229, 5, 29, 0, 0, 229, 230, 5, 19, 0, 0, 230, 231, 7, 2, 0, 0, 231, 232, 5, 20, 0, 0, 232, 237, 7, 2, 0, 0, 233, 234, 5, 21, 0, 0, 234, 235, 3, 38, 19, 0, 235, 236, 5, 22, 0, 0, 236, 238, 1, 0, 0, 0, 237, 233, 1, 0, 0, 0, 237, 238, 1, 0, 0, 0, 238, 35, 1, 0, 0, 0, 239, 240, 5, 29, 0, 0, 240, 243, 5, 19, 0, 0, 241, 244, 3, 28, 14, 0, 242, 244, 3, 30, 15, 0, 243, 241, 1, 0, 0, 0, 243, 242, 1, 0, 0, 0, 244, 245, 1, 0, 0, 0, 245, 246, 5, 20, 0, 0, 246, 251, 7, 2, 0, 0, 247, 248, 5, 21, 0, 0, 248, 249, 3, 38, 19, 0, 249, 250, 5, 22, 0, 0, 250, 252, 1, 0, 0, 0, 251, 247, 1, 0, 0, 0, 251, 252, 1, 0, 0, 0, 252, 37, 1, 0, 0, 0, 253, 258, 3, 40, 20, 0, 254, 255, 5, 23, 0, 0, 255, 257, 3, 40, 20, 0, 256, 254, 1, 0, 0, 0, 257, 260, 1, 0, 0, 0, 258, 256, 1, 0, 0, 0, 258, 259, 1, 0, 0, 0, 259, 39, 1, 0, 0, 0, 260, 258, 1, 0, 0, 0, 261, 270, 3, 42, 21, 0, 262, 270, 3, 46, 23, 0, 263, 270, 3, 56, 28, 0, 264, 270, 3, 54, 27, 0, 265, 270, 3, 48, 24, 0, 266, 270, 3, 50, 25, 0, 267, 270, 3, 52, 26, 0, 268, 270, 3, 44, 22, 0, 269, 261, 1, 0, 0, 0, 269, 262, 1, 0, 0, 0, 269, 263, 1, 0, 0, 0, 269, 264, 1, 0, 0, 0, 269, 265, 1, 0, 0, 0, 269, 266, 1, 0, 0, 0, 269, 267, 1, 0, 0, 0, 269, 268, 1, 0, 0, 0, 270, 41, 1, 0, 0, 0, 271, 272, 5, 3, 0, 0, 272, 273, 5, 19, 0, 0, 273, 274, 5, 31, 0, 0, 274, 284, 5, 20, 0, 0, 275, 276, 5, 4, 0, 0, 276, 277, 5, 19, 0, 0, 277, 278, 5, 31, 0, 0, 278, 284, 5, 20, 0, 0, 279, 280, 5, 6, 0, 0, 280, 281, 5, 19, 0, 0, 281, 282, 5, 31, 0, 0, 282, 284, 5, 20, 0, 0, 283, 271, 1, 0, 0, 0, 283, 275, 1, 0, 0, 0, 283, 279, 1, 0, 0, 0, 284, 43, 1, 0, 0, 0, 285, 286, 7, 4, 0, 0, 286, 45, 1, 0, 0, 0, 287, 288, 5, 9, 0, 0, 288, 289, 5, 19, 0, 0, 289, 290, 5, 31, 0, 0, 290, 291, 5, 20, 0, 0, 291, 47, 1, 0, 0, 0, 292, 293, 5, 10, 0, 0, 293, 294, 5, 19, 0, 0, 294, 295, 5, 33, 0, 0, 295, 296, 5, 20, 0, 0, 296, 49, 1, 0, 0, 0, 297, 298, 5, 11, 0, 0, 298, 299, 5, 19, 0, 0, 299, 300, 5, 33, 0, 0, 300, 301, 5, 20, 0, 0, 301, 51, 1, 0, 0, 0, 302, 303, 5, 12, 0, 0, 303, 304, 5, 19, 0, 0, 304, 305, 5, 33, 0, 0, 305, 306, 5, 20, 0, 0, 306, 53, 1, 0, 0, 0, 307, 308, 5, 10, 0, 0, 308, 309, 5, 19, 0, 0, 309, 310, 5, 32, 0, 0, 310, 311, 5, 20, 0, 0, 311, 55, 1, 0, 0, 0, 312, 313, 5, 10, 0, 0, 313, 314, 5, 19, 0, 0, 314, 315, 5, 13, 0, 0, 315, 316, 5, 20, 0, 0, 316, 57, 1, 0, 0, 0, 317, 318, 5, 34, 0, 0, 318, 59, 1, 0, 0, 0, 319, 320, 7, 2, 0, 0, 320, 61, 1, 0, 0, 0, 321, 326, 3, 60, 30, 0, 322, 323, 5, 23, 0, 0, 323, 325, 3, 60, 30, 0, 324, 322, 1, 0, 0, 0, 325, 328, 1, 0, 0, 0, 326, 324, 1, 0, 0, 0, 326, 327, 1, 0, 0, 0, 327, 63, 1, 0, 0, 0, 328, 326, 1, 0, 0, 0, 329, 334, 3, 58, 29, 0, 330, 331, 5, 19, 0, 0, 331, 332, 3, 62, 31, 0, 332, 333, 5, 20, 0, 0, 333, 335, 1, 0, 0, 0, 334, 330, 1, 0, 0, 0, 334, 335, 1, 0, 0, 0, 335, 65, 1, 0, 0, 0, 336, 338, 5, 14, 0, 0, 337, 339, 3, 64, 32, 0, 338, 337, 1, 0, 0, 0, 338, 339, 1, 0, 0, 0, 339, 344, 1, 0, 0, 0, 340, 341, 5, 23, 0, 0, 341, 343, 3, 64, 32, 0, 342, 340, 1, 0, 0, 0, 343, 346, 1, 0, 0, 0, 344, 342, 1, 0, 0, 0, 344, 345, 1, 0, 0, 0, 345, 350, 1, 0, 0, 0, 346, 344, 1, 0, 0, 0, 347, 349, 9, 0, 0, 0, 348, 347, 1, 0, 0, 0, 349, 352, 1, 0, 0, 0, 350, 351, 1, 0, 0, 0, 350, 348, 1, 0, 0, 0, 351, 381, 1, 0, 0, 0, 352, 350, 1, 0, 0, 0, 353, 355, 5, 15, 0, 0, 354, 356, 3, 64, 32, 0, 355, 354, 1, 0, 0, 0, 355, 356, 1, 0, 0, 0, 356, 361, 1, 0, 0, 0, 357, 358, 5, 23, 0, 0, 358, 360, 3, 64, 32, 0, 359, 357, 1, 0, 0, 0, 360, 363, 1, 0, 0, 0, 361, 359, 1, 0, 0, 0, 361, 362, 1, 0, 0, 0, 362, 367, 1, 0, 0, 0, 363, 361, 1, 0, 0, 0, 364, 366, 9, 0, 0, 0, 365, 364, 1, 0, 0, 0, 366, 369, 1, 0, 0, 0, 367, 368, 1, 0, 0, 0, 367, 365, 1, 0, 0, 0, 368, 378, 1, 0, 0, 0, 369, 367, 1, 0, 0, 0, 370, 372, 9, 0, 0, 0, 371, 370, 1, 0, 0, 0, 372, 375, 1, 0, 0, 0, 373, 374, 1, 0, 0, 0, 373, 371, 1, 0, 0, 0, 374, 376, 1, 0, 0, 0, 375, 373, 1, 0, 0, 0, 376, 379, 5, 16, 0, 0, 377, 379, 5, 16, 0, 0, 378, 373, 1, 0, 0, 0, 378, 377, 1, 0, 0, 0, 379, 381, 1, 0, 0, 0, 380, 336, 1, 0, 0, 0, 380, 353, 1, 0, 0, 0, 381, 67, 1, 0, 0, 0, 40, 72, 82, 90, 102, 111, 119, 122, 137, 143, 149, 158, 161, 166, 171, 175, 185, 190, 193, 198, 203, 207, 218, 226, 237, 243, 251, 258, 269, 283, 326, 334, 338, 344, 350, 355, 361, 367, 373, 378, 380] \ No newline at end of file diff --git a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecord.tokens b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecord.tokens index c0088ae92..22d17064e 100644 --- a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecord.tokens +++ b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecord.tokens @@ -13,24 +13,29 @@ T__11=12 T__12=13 T__13=14 T__14=15 -OPAREN=16 -CPAREN=17 -OCURLY=18 -CCURLY=19 -COMMA=20 -SEMI=21 -EQ=22 -ASSING_SYM=23 -REC_SYM=24 -END_SYM=25 -DATASET_SYM=26 -WS=27 -INT=28 -STRING=29 -ATOKEN=30 -TOKEN=31 -UTOKEN=32 -ECL_NUMBERED_TYPE=33 +T__15=16 +OSQUARE=17 +CSQUARE=18 +OPAREN=19 +CPAREN=20 +OCURLY=21 +CCURLY=22 +COMMA=23 +SEMI=24 +EQ=25 +ASSING_SYM=26 +REC_SYM=27 +END_SYM=28 +DATASET_SYM=29 +WS=30 +INT=31 +SETSTRING=32 +STRING=33 +ATOKEN=34 +TOKEN=35 +UTOKEN=36 +ECL_NUMBERED_TYPE=37 +SETTOKEN=38 'SET OF'=1 'set of'=2 'MAXLENGTH'=3 @@ -43,16 +48,19 @@ ECL_NUMBERED_TYPE=33 'DEFAULT'=10 'XPATH'=11 'XMLDEFAULT'=12 -'//'=13 -'/*'=14 -'*/'=15 -'('=16 -')'=17 -'{'=18 -'}'=19 -','=20 -'='=22 -':='=23 -'RECORD'=24 -'END'=25 -'DATASET'=26 +'ALL'=13 +'//'=14 +'/*'=15 +'*/'=16 +'['=17 +']'=18 +'('=19 +')'=20 +'{'=21 +'}'=22 +','=23 +'='=25 +':='=26 +'RECORD'=27 +'END'=28 +'DATASET'=29 diff --git a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordBaseListener.java b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordBaseListener.java index bfb47a22c..887d7dafa 100644 --- a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordBaseListener.java +++ b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordBaseListener.java @@ -335,6 +335,30 @@ public class EclRecordBaseListener implements EclRecordListener { *

The default implementation does nothing.

*/ @Override public void exitXmldefaultval(EclRecordParser.XmldefaultvalContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSetdefaultval(EclRecordParser.SetdefaultvalContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSetdefaultval(EclRecordParser.SetdefaultvalContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void enterSetdefaultvalall(EclRecordParser.SetdefaultvalallContext ctx) { } + /** + * {@inheritDoc} + * + *

The default implementation does nothing.

+ */ + @Override public void exitSetdefaultvalall(EclRecordParser.SetdefaultvalallContext ctx) { } /** * {@inheritDoc} * diff --git a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordLexer.interp b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordLexer.interp index dff975be7..8bb61e090 100644 --- a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordLexer.interp +++ b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordLexer.interp @@ -12,9 +12,12 @@ null 'DEFAULT' 'XPATH' 'XMLDEFAULT' +'ALL' '//' '/*' '*/' +'[' +']' '(' ')' '{' @@ -33,6 +36,8 @@ null null null null +null +null token symbolic names: null @@ -51,6 +56,9 @@ null null null null +null +OSQUARE +CSQUARE OPAREN CPAREN OCURLY @@ -64,11 +72,13 @@ END_SYM DATASET_SYM WS INT +SETSTRING STRING ATOKEN TOKEN UTOKEN ECL_NUMBERED_TYPE +SETTOKEN rule names: T__0 @@ -86,6 +96,9 @@ T__11 T__12 T__13 T__14 +T__15 +OSQUARE +CSQUARE OPAREN CPAREN OCURLY @@ -100,11 +113,13 @@ DATASET_SYM WS INT ESCAPED_QUOTE +SETSTRING STRING ATOKEN TOKEN UTOKEN ECL_NUMBERED_TYPE +SETTOKEN channel names: DEFAULT_TOKEN_CHANNEL @@ -114,4 +129,4 @@ mode names: DEFAULT_MODE atn: -[4, 0, 33, 263, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 17, 1, 17, 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 3, 20, 185, 8, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 4, 27, 216, 8, 27, 11, 27, 12, 27, 217, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 5, 29, 226, 8, 29, 10, 29, 12, 29, 229, 9, 29, 1, 29, 1, 29, 1, 30, 1, 30, 4, 30, 235, 8, 30, 11, 30, 12, 30, 236, 1, 30, 1, 30, 1, 31, 1, 31, 5, 31, 243, 8, 31, 10, 31, 12, 31, 246, 9, 31, 1, 32, 4, 32, 249, 8, 32, 11, 32, 12, 32, 250, 1, 32, 4, 32, 254, 8, 32, 11, 32, 12, 32, 255, 1, 32, 1, 32, 1, 33, 1, 33, 3, 33, 262, 8, 33, 0, 0, 34, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 0, 59, 29, 61, 30, 63, 31, 65, 32, 67, 33, 1, 0, 9, 3, 0, 9, 10, 13, 13, 32, 32, 1, 0, 48, 57, 1, 0, 39, 39, 1, 0, 64, 64, 5, 0, 45, 45, 48, 57, 65, 90, 95, 95, 97, 122, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 10, 0, 9, 10, 13, 13, 32, 32, 40, 41, 44, 45, 58, 59, 61, 61, 95, 95, 123, 123, 125, 125, 9, 0, 9, 10, 13, 13, 32, 32, 40, 41, 44, 45, 58, 59, 61, 61, 123, 123, 125, 125, 1, 0, 95, 95, 270, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 1, 69, 1, 0, 0, 0, 3, 76, 1, 0, 0, 0, 5, 83, 1, 0, 0, 0, 7, 93, 1, 0, 0, 0, 9, 103, 1, 0, 0, 0, 11, 106, 1, 0, 0, 0, 13, 116, 1, 0, 0, 0, 15, 121, 1, 0, 0, 0, 17, 126, 1, 0, 0, 0, 19, 135, 1, 0, 0, 0, 21, 143, 1, 0, 0, 0, 23, 149, 1, 0, 0, 0, 25, 160, 1, 0, 0, 0, 27, 163, 1, 0, 0, 0, 29, 166, 1, 0, 0, 0, 31, 169, 1, 0, 0, 0, 33, 171, 1, 0, 0, 0, 35, 173, 1, 0, 0, 0, 37, 175, 1, 0, 0, 0, 39, 177, 1, 0, 0, 0, 41, 184, 1, 0, 0, 0, 43, 186, 1, 0, 0, 0, 45, 188, 1, 0, 0, 0, 47, 191, 1, 0, 0, 0, 49, 198, 1, 0, 0, 0, 51, 202, 1, 0, 0, 0, 53, 210, 1, 0, 0, 0, 55, 215, 1, 0, 0, 0, 57, 219, 1, 0, 0, 0, 59, 222, 1, 0, 0, 0, 61, 232, 1, 0, 0, 0, 63, 240, 1, 0, 0, 0, 65, 248, 1, 0, 0, 0, 67, 259, 1, 0, 0, 0, 69, 70, 5, 83, 0, 0, 70, 71, 5, 69, 0, 0, 71, 72, 5, 84, 0, 0, 72, 73, 5, 32, 0, 0, 73, 74, 5, 79, 0, 0, 74, 75, 5, 70, 0, 0, 75, 2, 1, 0, 0, 0, 76, 77, 5, 115, 0, 0, 77, 78, 5, 101, 0, 0, 78, 79, 5, 116, 0, 0, 79, 80, 5, 32, 0, 0, 80, 81, 5, 111, 0, 0, 81, 82, 5, 102, 0, 0, 82, 4, 1, 0, 0, 0, 83, 84, 5, 77, 0, 0, 84, 85, 5, 65, 0, 0, 85, 86, 5, 88, 0, 0, 86, 87, 5, 76, 0, 0, 87, 88, 5, 69, 0, 0, 88, 89, 5, 78, 0, 0, 89, 90, 5, 71, 0, 0, 90, 91, 5, 84, 0, 0, 91, 92, 5, 72, 0, 0, 92, 6, 1, 0, 0, 0, 93, 94, 5, 109, 0, 0, 94, 95, 5, 97, 0, 0, 95, 96, 5, 120, 0, 0, 96, 97, 5, 108, 0, 0, 97, 98, 5, 101, 0, 0, 98, 99, 5, 110, 0, 0, 99, 100, 5, 103, 0, 0, 100, 101, 5, 116, 0, 0, 101, 102, 5, 104, 0, 0, 102, 8, 1, 0, 0, 0, 103, 104, 5, 61, 0, 0, 104, 105, 5, 62, 0, 0, 105, 10, 1, 0, 0, 0, 106, 107, 5, 109, 0, 0, 107, 108, 5, 97, 0, 0, 108, 109, 5, 120, 0, 0, 109, 110, 5, 76, 0, 0, 110, 111, 5, 101, 0, 0, 111, 112, 5, 110, 0, 0, 112, 113, 5, 103, 0, 0, 113, 114, 5, 116, 0, 0, 114, 115, 5, 104, 0, 0, 115, 12, 1, 0, 0, 0, 116, 117, 5, 66, 0, 0, 117, 118, 5, 76, 0, 0, 118, 119, 5, 79, 0, 0, 119, 120, 5, 66, 0, 0, 120, 14, 1, 0, 0, 0, 121, 122, 5, 98, 0, 0, 122, 123, 5, 108, 0, 0, 123, 124, 5, 111, 0, 0, 124, 125, 5, 98, 0, 0, 125, 16, 1, 0, 0, 0, 126, 127, 5, 77, 0, 0, 127, 128, 5, 65, 0, 0, 128, 129, 5, 88, 0, 0, 129, 130, 5, 67, 0, 0, 130, 131, 5, 79, 0, 0, 131, 132, 5, 85, 0, 0, 132, 133, 5, 78, 0, 0, 133, 134, 5, 84, 0, 0, 134, 18, 1, 0, 0, 0, 135, 136, 5, 68, 0, 0, 136, 137, 5, 69, 0, 0, 137, 138, 5, 70, 0, 0, 138, 139, 5, 65, 0, 0, 139, 140, 5, 85, 0, 0, 140, 141, 5, 76, 0, 0, 141, 142, 5, 84, 0, 0, 142, 20, 1, 0, 0, 0, 143, 144, 5, 88, 0, 0, 144, 145, 5, 80, 0, 0, 145, 146, 5, 65, 0, 0, 146, 147, 5, 84, 0, 0, 147, 148, 5, 72, 0, 0, 148, 22, 1, 0, 0, 0, 149, 150, 5, 88, 0, 0, 150, 151, 5, 77, 0, 0, 151, 152, 5, 76, 0, 0, 152, 153, 5, 68, 0, 0, 153, 154, 5, 69, 0, 0, 154, 155, 5, 70, 0, 0, 155, 156, 5, 65, 0, 0, 156, 157, 5, 85, 0, 0, 157, 158, 5, 76, 0, 0, 158, 159, 5, 84, 0, 0, 159, 24, 1, 0, 0, 0, 160, 161, 5, 47, 0, 0, 161, 162, 5, 47, 0, 0, 162, 26, 1, 0, 0, 0, 163, 164, 5, 47, 0, 0, 164, 165, 5, 42, 0, 0, 165, 28, 1, 0, 0, 0, 166, 167, 5, 42, 0, 0, 167, 168, 5, 47, 0, 0, 168, 30, 1, 0, 0, 0, 169, 170, 5, 40, 0, 0, 170, 32, 1, 0, 0, 0, 171, 172, 5, 41, 0, 0, 172, 34, 1, 0, 0, 0, 173, 174, 5, 123, 0, 0, 174, 36, 1, 0, 0, 0, 175, 176, 5, 125, 0, 0, 176, 38, 1, 0, 0, 0, 177, 178, 5, 44, 0, 0, 178, 40, 1, 0, 0, 0, 179, 185, 5, 59, 0, 0, 180, 181, 3, 53, 26, 0, 181, 182, 5, 61, 0, 0, 182, 183, 5, 62, 0, 0, 183, 185, 1, 0, 0, 0, 184, 179, 1, 0, 0, 0, 184, 180, 1, 0, 0, 0, 185, 42, 1, 0, 0, 0, 186, 187, 5, 61, 0, 0, 187, 44, 1, 0, 0, 0, 188, 189, 5, 58, 0, 0, 189, 190, 5, 61, 0, 0, 190, 46, 1, 0, 0, 0, 191, 192, 5, 82, 0, 0, 192, 193, 5, 69, 0, 0, 193, 194, 5, 67, 0, 0, 194, 195, 5, 79, 0, 0, 195, 196, 5, 82, 0, 0, 196, 197, 5, 68, 0, 0, 197, 48, 1, 0, 0, 0, 198, 199, 5, 69, 0, 0, 199, 200, 5, 78, 0, 0, 200, 201, 5, 68, 0, 0, 201, 50, 1, 0, 0, 0, 202, 203, 5, 68, 0, 0, 203, 204, 5, 65, 0, 0, 204, 205, 5, 84, 0, 0, 205, 206, 5, 65, 0, 0, 206, 207, 5, 83, 0, 0, 207, 208, 5, 69, 0, 0, 208, 209, 5, 84, 0, 0, 209, 52, 1, 0, 0, 0, 210, 211, 7, 0, 0, 0, 211, 212, 1, 0, 0, 0, 212, 213, 6, 26, 0, 0, 213, 54, 1, 0, 0, 0, 214, 216, 7, 1, 0, 0, 215, 214, 1, 0, 0, 0, 216, 217, 1, 0, 0, 0, 217, 215, 1, 0, 0, 0, 217, 218, 1, 0, 0, 0, 218, 56, 1, 0, 0, 0, 219, 220, 5, 92, 0, 0, 220, 221, 5, 39, 0, 0, 221, 58, 1, 0, 0, 0, 222, 227, 5, 39, 0, 0, 223, 226, 3, 57, 28, 0, 224, 226, 8, 2, 0, 0, 225, 223, 1, 0, 0, 0, 225, 224, 1, 0, 0, 0, 226, 229, 1, 0, 0, 0, 227, 225, 1, 0, 0, 0, 227, 228, 1, 0, 0, 0, 228, 230, 1, 0, 0, 0, 229, 227, 1, 0, 0, 0, 230, 231, 5, 39, 0, 0, 231, 60, 1, 0, 0, 0, 232, 234, 7, 3, 0, 0, 233, 235, 7, 4, 0, 0, 234, 233, 1, 0, 0, 0, 235, 236, 1, 0, 0, 0, 236, 234, 1, 0, 0, 0, 236, 237, 1, 0, 0, 0, 237, 238, 1, 0, 0, 0, 238, 239, 7, 5, 0, 0, 239, 62, 1, 0, 0, 0, 240, 244, 8, 6, 0, 0, 241, 243, 8, 7, 0, 0, 242, 241, 1, 0, 0, 0, 243, 246, 1, 0, 0, 0, 244, 242, 1, 0, 0, 0, 244, 245, 1, 0, 0, 0, 245, 64, 1, 0, 0, 0, 246, 244, 1, 0, 0, 0, 247, 249, 7, 8, 0, 0, 248, 247, 1, 0, 0, 0, 249, 250, 1, 0, 0, 0, 250, 248, 1, 0, 0, 0, 250, 251, 1, 0, 0, 0, 251, 253, 1, 0, 0, 0, 252, 254, 7, 4, 0, 0, 253, 252, 1, 0, 0, 0, 254, 255, 1, 0, 0, 0, 255, 253, 1, 0, 0, 0, 255, 256, 1, 0, 0, 0, 256, 257, 1, 0, 0, 0, 257, 258, 7, 5, 0, 0, 258, 66, 1, 0, 0, 0, 259, 261, 3, 63, 31, 0, 260, 262, 3, 55, 27, 0, 261, 260, 1, 0, 0, 0, 261, 262, 1, 0, 0, 0, 262, 68, 1, 0, 0, 0, 10, 0, 184, 217, 225, 227, 236, 244, 250, 255, 261, 1, 6, 0, 0] \ No newline at end of file +[4, 0, 38, 298, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 17, 1, 17, 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 3, 23, 203, 8, 23, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 4, 30, 234, 8, 30, 11, 30, 12, 30, 235, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 5, 32, 248, 8, 32, 10, 32, 12, 32, 251, 9, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 5, 33, 259, 8, 33, 10, 33, 12, 33, 262, 9, 33, 1, 33, 1, 33, 1, 34, 1, 34, 4, 34, 268, 8, 34, 11, 34, 12, 34, 269, 1, 34, 1, 34, 1, 35, 1, 35, 5, 35, 276, 8, 35, 10, 35, 12, 35, 279, 9, 35, 1, 36, 4, 36, 282, 8, 36, 11, 36, 12, 36, 283, 1, 36, 4, 36, 287, 8, 36, 11, 36, 12, 36, 288, 1, 36, 1, 36, 1, 37, 1, 37, 3, 37, 295, 8, 37, 1, 38, 1, 38, 0, 0, 39, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 0, 65, 32, 67, 33, 69, 34, 71, 35, 73, 36, 75, 37, 77, 38, 1, 0, 11, 3, 0, 9, 10, 13, 13, 32, 32, 1, 0, 48, 57, 1, 0, 93, 93, 1, 0, 39, 39, 1, 0, 64, 64, 5, 0, 45, 45, 48, 57, 65, 90, 95, 95, 97, 122, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 10, 0, 9, 10, 13, 13, 32, 32, 40, 41, 44, 45, 58, 59, 61, 61, 95, 95, 123, 123, 125, 125, 9, 0, 9, 10, 13, 13, 32, 32, 40, 41, 44, 45, 58, 59, 61, 61, 123, 123, 125, 125, 1, 0, 95, 95, 5, 0, 44, 45, 48, 57, 65, 90, 95, 95, 97, 122, 309, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 1, 79, 1, 0, 0, 0, 3, 86, 1, 0, 0, 0, 5, 93, 1, 0, 0, 0, 7, 103, 1, 0, 0, 0, 9, 113, 1, 0, 0, 0, 11, 116, 1, 0, 0, 0, 13, 126, 1, 0, 0, 0, 15, 131, 1, 0, 0, 0, 17, 136, 1, 0, 0, 0, 19, 145, 1, 0, 0, 0, 21, 153, 1, 0, 0, 0, 23, 159, 1, 0, 0, 0, 25, 170, 1, 0, 0, 0, 27, 174, 1, 0, 0, 0, 29, 177, 1, 0, 0, 0, 31, 180, 1, 0, 0, 0, 33, 183, 1, 0, 0, 0, 35, 185, 1, 0, 0, 0, 37, 187, 1, 0, 0, 0, 39, 189, 1, 0, 0, 0, 41, 191, 1, 0, 0, 0, 43, 193, 1, 0, 0, 0, 45, 195, 1, 0, 0, 0, 47, 202, 1, 0, 0, 0, 49, 204, 1, 0, 0, 0, 51, 206, 1, 0, 0, 0, 53, 209, 1, 0, 0, 0, 55, 216, 1, 0, 0, 0, 57, 220, 1, 0, 0, 0, 59, 228, 1, 0, 0, 0, 61, 233, 1, 0, 0, 0, 63, 237, 1, 0, 0, 0, 65, 240, 1, 0, 0, 0, 67, 255, 1, 0, 0, 0, 69, 265, 1, 0, 0, 0, 71, 273, 1, 0, 0, 0, 73, 281, 1, 0, 0, 0, 75, 292, 1, 0, 0, 0, 77, 296, 1, 0, 0, 0, 79, 80, 5, 83, 0, 0, 80, 81, 5, 69, 0, 0, 81, 82, 5, 84, 0, 0, 82, 83, 5, 32, 0, 0, 83, 84, 5, 79, 0, 0, 84, 85, 5, 70, 0, 0, 85, 2, 1, 0, 0, 0, 86, 87, 5, 115, 0, 0, 87, 88, 5, 101, 0, 0, 88, 89, 5, 116, 0, 0, 89, 90, 5, 32, 0, 0, 90, 91, 5, 111, 0, 0, 91, 92, 5, 102, 0, 0, 92, 4, 1, 0, 0, 0, 93, 94, 5, 77, 0, 0, 94, 95, 5, 65, 0, 0, 95, 96, 5, 88, 0, 0, 96, 97, 5, 76, 0, 0, 97, 98, 5, 69, 0, 0, 98, 99, 5, 78, 0, 0, 99, 100, 5, 71, 0, 0, 100, 101, 5, 84, 0, 0, 101, 102, 5, 72, 0, 0, 102, 6, 1, 0, 0, 0, 103, 104, 5, 109, 0, 0, 104, 105, 5, 97, 0, 0, 105, 106, 5, 120, 0, 0, 106, 107, 5, 108, 0, 0, 107, 108, 5, 101, 0, 0, 108, 109, 5, 110, 0, 0, 109, 110, 5, 103, 0, 0, 110, 111, 5, 116, 0, 0, 111, 112, 5, 104, 0, 0, 112, 8, 1, 0, 0, 0, 113, 114, 5, 61, 0, 0, 114, 115, 5, 62, 0, 0, 115, 10, 1, 0, 0, 0, 116, 117, 5, 109, 0, 0, 117, 118, 5, 97, 0, 0, 118, 119, 5, 120, 0, 0, 119, 120, 5, 76, 0, 0, 120, 121, 5, 101, 0, 0, 121, 122, 5, 110, 0, 0, 122, 123, 5, 103, 0, 0, 123, 124, 5, 116, 0, 0, 124, 125, 5, 104, 0, 0, 125, 12, 1, 0, 0, 0, 126, 127, 5, 66, 0, 0, 127, 128, 5, 76, 0, 0, 128, 129, 5, 79, 0, 0, 129, 130, 5, 66, 0, 0, 130, 14, 1, 0, 0, 0, 131, 132, 5, 98, 0, 0, 132, 133, 5, 108, 0, 0, 133, 134, 5, 111, 0, 0, 134, 135, 5, 98, 0, 0, 135, 16, 1, 0, 0, 0, 136, 137, 5, 77, 0, 0, 137, 138, 5, 65, 0, 0, 138, 139, 5, 88, 0, 0, 139, 140, 5, 67, 0, 0, 140, 141, 5, 79, 0, 0, 141, 142, 5, 85, 0, 0, 142, 143, 5, 78, 0, 0, 143, 144, 5, 84, 0, 0, 144, 18, 1, 0, 0, 0, 145, 146, 5, 68, 0, 0, 146, 147, 5, 69, 0, 0, 147, 148, 5, 70, 0, 0, 148, 149, 5, 65, 0, 0, 149, 150, 5, 85, 0, 0, 150, 151, 5, 76, 0, 0, 151, 152, 5, 84, 0, 0, 152, 20, 1, 0, 0, 0, 153, 154, 5, 88, 0, 0, 154, 155, 5, 80, 0, 0, 155, 156, 5, 65, 0, 0, 156, 157, 5, 84, 0, 0, 157, 158, 5, 72, 0, 0, 158, 22, 1, 0, 0, 0, 159, 160, 5, 88, 0, 0, 160, 161, 5, 77, 0, 0, 161, 162, 5, 76, 0, 0, 162, 163, 5, 68, 0, 0, 163, 164, 5, 69, 0, 0, 164, 165, 5, 70, 0, 0, 165, 166, 5, 65, 0, 0, 166, 167, 5, 85, 0, 0, 167, 168, 5, 76, 0, 0, 168, 169, 5, 84, 0, 0, 169, 24, 1, 0, 0, 0, 170, 171, 5, 65, 0, 0, 171, 172, 5, 76, 0, 0, 172, 173, 5, 76, 0, 0, 173, 26, 1, 0, 0, 0, 174, 175, 5, 47, 0, 0, 175, 176, 5, 47, 0, 0, 176, 28, 1, 0, 0, 0, 177, 178, 5, 47, 0, 0, 178, 179, 5, 42, 0, 0, 179, 30, 1, 0, 0, 0, 180, 181, 5, 42, 0, 0, 181, 182, 5, 47, 0, 0, 182, 32, 1, 0, 0, 0, 183, 184, 5, 91, 0, 0, 184, 34, 1, 0, 0, 0, 185, 186, 5, 93, 0, 0, 186, 36, 1, 0, 0, 0, 187, 188, 5, 40, 0, 0, 188, 38, 1, 0, 0, 0, 189, 190, 5, 41, 0, 0, 190, 40, 1, 0, 0, 0, 191, 192, 5, 123, 0, 0, 192, 42, 1, 0, 0, 0, 193, 194, 5, 125, 0, 0, 194, 44, 1, 0, 0, 0, 195, 196, 5, 44, 0, 0, 196, 46, 1, 0, 0, 0, 197, 203, 5, 59, 0, 0, 198, 199, 3, 59, 29, 0, 199, 200, 5, 61, 0, 0, 200, 201, 5, 62, 0, 0, 201, 203, 1, 0, 0, 0, 202, 197, 1, 0, 0, 0, 202, 198, 1, 0, 0, 0, 203, 48, 1, 0, 0, 0, 204, 205, 5, 61, 0, 0, 205, 50, 1, 0, 0, 0, 206, 207, 5, 58, 0, 0, 207, 208, 5, 61, 0, 0, 208, 52, 1, 0, 0, 0, 209, 210, 5, 82, 0, 0, 210, 211, 5, 69, 0, 0, 211, 212, 5, 67, 0, 0, 212, 213, 5, 79, 0, 0, 213, 214, 5, 82, 0, 0, 214, 215, 5, 68, 0, 0, 215, 54, 1, 0, 0, 0, 216, 217, 5, 69, 0, 0, 217, 218, 5, 78, 0, 0, 218, 219, 5, 68, 0, 0, 219, 56, 1, 0, 0, 0, 220, 221, 5, 68, 0, 0, 221, 222, 5, 65, 0, 0, 222, 223, 5, 84, 0, 0, 223, 224, 5, 65, 0, 0, 224, 225, 5, 83, 0, 0, 225, 226, 5, 69, 0, 0, 226, 227, 5, 84, 0, 0, 227, 58, 1, 0, 0, 0, 228, 229, 7, 0, 0, 0, 229, 230, 1, 0, 0, 0, 230, 231, 6, 29, 0, 0, 231, 60, 1, 0, 0, 0, 232, 234, 7, 1, 0, 0, 233, 232, 1, 0, 0, 0, 234, 235, 1, 0, 0, 0, 235, 233, 1, 0, 0, 0, 235, 236, 1, 0, 0, 0, 236, 62, 1, 0, 0, 0, 237, 238, 5, 92, 0, 0, 238, 239, 5, 39, 0, 0, 239, 64, 1, 0, 0, 0, 240, 241, 5, 91, 0, 0, 241, 242, 5, 39, 0, 0, 242, 249, 1, 0, 0, 0, 243, 248, 3, 63, 31, 0, 244, 248, 3, 77, 38, 0, 245, 248, 5, 39, 0, 0, 246, 248, 8, 2, 0, 0, 247, 243, 1, 0, 0, 0, 247, 244, 1, 0, 0, 0, 247, 245, 1, 0, 0, 0, 247, 246, 1, 0, 0, 0, 248, 251, 1, 0, 0, 0, 249, 247, 1, 0, 0, 0, 249, 250, 1, 0, 0, 0, 250, 252, 1, 0, 0, 0, 251, 249, 1, 0, 0, 0, 252, 253, 5, 39, 0, 0, 253, 254, 5, 93, 0, 0, 254, 66, 1, 0, 0, 0, 255, 260, 5, 39, 0, 0, 256, 259, 3, 63, 31, 0, 257, 259, 8, 3, 0, 0, 258, 256, 1, 0, 0, 0, 258, 257, 1, 0, 0, 0, 259, 262, 1, 0, 0, 0, 260, 258, 1, 0, 0, 0, 260, 261, 1, 0, 0, 0, 261, 263, 1, 0, 0, 0, 262, 260, 1, 0, 0, 0, 263, 264, 5, 39, 0, 0, 264, 68, 1, 0, 0, 0, 265, 267, 7, 4, 0, 0, 266, 268, 7, 5, 0, 0, 267, 266, 1, 0, 0, 0, 268, 269, 1, 0, 0, 0, 269, 267, 1, 0, 0, 0, 269, 270, 1, 0, 0, 0, 270, 271, 1, 0, 0, 0, 271, 272, 7, 6, 0, 0, 272, 70, 1, 0, 0, 0, 273, 277, 8, 7, 0, 0, 274, 276, 8, 8, 0, 0, 275, 274, 1, 0, 0, 0, 276, 279, 1, 0, 0, 0, 277, 275, 1, 0, 0, 0, 277, 278, 1, 0, 0, 0, 278, 72, 1, 0, 0, 0, 279, 277, 1, 0, 0, 0, 280, 282, 7, 9, 0, 0, 281, 280, 1, 0, 0, 0, 282, 283, 1, 0, 0, 0, 283, 281, 1, 0, 0, 0, 283, 284, 1, 0, 0, 0, 284, 286, 1, 0, 0, 0, 285, 287, 7, 5, 0, 0, 286, 285, 1, 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 286, 1, 0, 0, 0, 288, 289, 1, 0, 0, 0, 289, 290, 1, 0, 0, 0, 290, 291, 7, 6, 0, 0, 291, 74, 1, 0, 0, 0, 292, 294, 3, 71, 35, 0, 293, 295, 3, 61, 30, 0, 294, 293, 1, 0, 0, 0, 294, 295, 1, 0, 0, 0, 295, 76, 1, 0, 0, 0, 296, 297, 7, 10, 0, 0, 297, 78, 1, 0, 0, 0, 12, 0, 202, 235, 247, 249, 258, 260, 269, 277, 283, 288, 294, 1, 6, 0, 0] \ No newline at end of file diff --git a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordLexer.java b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordLexer.java index a84707206..dda10661d 100644 --- a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordLexer.java +++ b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordLexer.java @@ -18,10 +18,11 @@ public class EclRecordLexer extends Lexer { new PredictionContextCache(); public static final int 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, - T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, OPAREN=16, - CPAREN=17, OCURLY=18, CCURLY=19, COMMA=20, SEMI=21, EQ=22, ASSING_SYM=23, - REC_SYM=24, END_SYM=25, DATASET_SYM=26, WS=27, INT=28, STRING=29, ATOKEN=30, - TOKEN=31, UTOKEN=32, ECL_NUMBERED_TYPE=33; + T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, OSQUARE=17, + CSQUARE=18, OPAREN=19, CPAREN=20, OCURLY=21, CCURLY=22, COMMA=23, SEMI=24, + EQ=25, ASSING_SYM=26, REC_SYM=27, END_SYM=28, DATASET_SYM=29, WS=30, INT=31, + SETSTRING=32, STRING=33, ATOKEN=34, TOKEN=35, UTOKEN=36, ECL_NUMBERED_TYPE=37, + SETTOKEN=38; public static String[] channelNames = { "DEFAULT_TOKEN_CHANNEL", "HIDDEN" }; @@ -33,10 +34,11 @@ public class EclRecordLexer extends Lexer { private static String[] makeRuleNames() { return new String[] { "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", - "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "OPAREN", "CPAREN", - "OCURLY", "CCURLY", "COMMA", "SEMI", "EQ", "ASSING_SYM", "REC_SYM", "END_SYM", - "DATASET_SYM", "WS", "INT", "ESCAPED_QUOTE", "STRING", "ATOKEN", "TOKEN", - "UTOKEN", "ECL_NUMBERED_TYPE" + "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "OSQUARE", + "CSQUARE", "OPAREN", "CPAREN", "OCURLY", "CCURLY", "COMMA", "SEMI", "EQ", + "ASSING_SYM", "REC_SYM", "END_SYM", "DATASET_SYM", "WS", "INT", "ESCAPED_QUOTE", + "SETSTRING", "STRING", "ATOKEN", "TOKEN", "UTOKEN", "ECL_NUMBERED_TYPE", + "SETTOKEN" }; } public static final String[] ruleNames = makeRuleNames(); @@ -45,17 +47,18 @@ private static String[] makeLiteralNames() { return new String[] { null, "'SET OF'", "'set of'", "'MAXLENGTH'", "'maxlength'", "'=>'", "'maxLength'", "'BLOB'", "'blob'", "'MAXCOUNT'", "'DEFAULT'", "'XPATH'", "'XMLDEFAULT'", - "'//'", "'/*'", "'*/'", "'('", "')'", "'{'", "'}'", "','", null, "'='", - "':='", "'RECORD'", "'END'", "'DATASET'" + "'ALL'", "'//'", "'/*'", "'*/'", "'['", "']'", "'('", "')'", "'{'", "'}'", + "','", null, "'='", "':='", "'RECORD'", "'END'", "'DATASET'" }; } private static final String[] _LITERAL_NAMES = makeLiteralNames(); private static String[] makeSymbolicNames() { return new String[] { null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, "OPAREN", "CPAREN", "OCURLY", "CCURLY", "COMMA", - "SEMI", "EQ", "ASSING_SYM", "REC_SYM", "END_SYM", "DATASET_SYM", "WS", - "INT", "STRING", "ATOKEN", "TOKEN", "UTOKEN", "ECL_NUMBERED_TYPE" + null, null, null, null, null, "OSQUARE", "CSQUARE", "OPAREN", "CPAREN", + "OCURLY", "CCURLY", "COMMA", "SEMI", "EQ", "ASSING_SYM", "REC_SYM", "END_SYM", + "DATASET_SYM", "WS", "INT", "SETSTRING", "STRING", "ATOKEN", "TOKEN", + "UTOKEN", "ECL_NUMBERED_TYPE", "SETTOKEN" }; } private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); @@ -117,7 +120,7 @@ public EclRecordLexer(CharStream input) { public ATN getATN() { return _ATN; } public static final String _serializedATN = - "\u0004\u0000!\u0107\u0006\uffff\uffff\u0002\u0000\u0007\u0000\u0002\u0001"+ + "\u0004\u0000&\u012a\u0006\uffff\uffff\u0002\u0000\u0007\u0000\u0002\u0001"+ "\u0007\u0001\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004"+ "\u0007\u0004\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007"+ "\u0007\u0007\u0002\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b"+ @@ -128,7 +131,8 @@ public EclRecordLexer(CharStream input) { "\u0018\u0007\u0018\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002"+ "\u001b\u0007\u001b\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002"+ "\u001e\u0007\u001e\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007"+ - "!\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000"+ + "!\u0002\"\u0007\"\u0002#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007"+ + "&\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000"+ "\u0001\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+ "\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002"+ "\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002"+ @@ -142,29 +146,31 @@ public EclRecordLexer(CharStream input) { "\t\u0001\t\u0001\t\u0001\t\u0001\n\u0001\n\u0001\n\u0001\n\u0001\n\u0001"+ "\n\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b"+ "\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001\f\u0001"+ - "\f\u0001\f\u0001\r\u0001\r\u0001\r\u0001\u000e\u0001\u000e\u0001\u000e"+ - "\u0001\u000f\u0001\u000f\u0001\u0010\u0001\u0010\u0001\u0011\u0001\u0011"+ - "\u0001\u0012\u0001\u0012\u0001\u0013\u0001\u0013\u0001\u0014\u0001\u0014"+ - "\u0001\u0014\u0001\u0014\u0001\u0014\u0003\u0014\u00b9\b\u0014\u0001\u0015"+ - "\u0001\u0015\u0001\u0016\u0001\u0016\u0001\u0016\u0001\u0017\u0001\u0017"+ - "\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0018"+ - "\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0019\u0001\u0019\u0001\u0019"+ - "\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u001a"+ - "\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001b\u0004\u001b\u00d8\b\u001b"+ - "\u000b\u001b\f\u001b\u00d9\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001d"+ - "\u0001\u001d\u0001\u001d\u0005\u001d\u00e2\b\u001d\n\u001d\f\u001d\u00e5"+ - "\t\u001d\u0001\u001d\u0001\u001d\u0001\u001e\u0001\u001e\u0004\u001e\u00eb"+ - "\b\u001e\u000b\u001e\f\u001e\u00ec\u0001\u001e\u0001\u001e\u0001\u001f"+ - "\u0001\u001f\u0005\u001f\u00f3\b\u001f\n\u001f\f\u001f\u00f6\t\u001f\u0001"+ - " \u0004 \u00f9\b \u000b \f \u00fa\u0001 \u0004 \u00fe\b \u000b \f \u00ff"+ - "\u0001 \u0001 \u0001!\u0001!\u0003!\u0106\b!\u0000\u0000\"\u0001\u0001"+ - "\u0003\u0002\u0005\u0003\u0007\u0004\t\u0005\u000b\u0006\r\u0007\u000f"+ - "\b\u0011\t\u0013\n\u0015\u000b\u0017\f\u0019\r\u001b\u000e\u001d\u000f"+ - "\u001f\u0010!\u0011#\u0012%\u0013\'\u0014)\u0015+\u0016-\u0017/\u0018"+ - "1\u00193\u001a5\u001b7\u001c9\u0000;\u001d=\u001e?\u001fA C!\u0001\u0000"+ - "\t\u0003\u0000\t\n\r\r \u0001\u000009\u0001\u0000\'\'\u0001\u0000@@\u0005"+ - "\u0000--09AZ__az\u0004\u000009AZ__az\n\u0000\t\n\r\r (),-:;==__{{}}\t"+ - "\u0000\t\n\r\r (),-:;=={{}}\u0001\u0000__\u010e\u0000\u0001\u0001\u0000"+ + "\f\u0001\f\u0001\f\u0001\r\u0001\r\u0001\r\u0001\u000e\u0001\u000e\u0001"+ + "\u000e\u0001\u000f\u0001\u000f\u0001\u000f\u0001\u0010\u0001\u0010\u0001"+ + "\u0011\u0001\u0011\u0001\u0012\u0001\u0012\u0001\u0013\u0001\u0013\u0001"+ + "\u0014\u0001\u0014\u0001\u0015\u0001\u0015\u0001\u0016\u0001\u0016\u0001"+ + "\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0003\u0017\u00cb"+ + "\b\u0017\u0001\u0018\u0001\u0018\u0001\u0019\u0001\u0019\u0001\u0019\u0001"+ + "\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001"+ + "\u001a\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001b\u0001\u001c\u0001"+ + "\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0001"+ + "\u001c\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001d\u0001\u001e\u0004"+ + "\u001e\u00ea\b\u001e\u000b\u001e\f\u001e\u00eb\u0001\u001f\u0001\u001f"+ + "\u0001\u001f\u0001 \u0001 \u0001 \u0001 \u0001 \u0001 \u0001 \u0005 \u00f8"+ + "\b \n \f \u00fb\t \u0001 \u0001 \u0001 \u0001!\u0001!\u0001!\u0005!\u0103"+ + "\b!\n!\f!\u0106\t!\u0001!\u0001!\u0001\"\u0001\"\u0004\"\u010c\b\"\u000b"+ + "\"\f\"\u010d\u0001\"\u0001\"\u0001#\u0001#\u0005#\u0114\b#\n#\f#\u0117"+ + "\t#\u0001$\u0004$\u011a\b$\u000b$\f$\u011b\u0001$\u0004$\u011f\b$\u000b"+ + "$\f$\u0120\u0001$\u0001$\u0001%\u0001%\u0003%\u0127\b%\u0001&\u0001&\u0000"+ + "\u0000\'\u0001\u0001\u0003\u0002\u0005\u0003\u0007\u0004\t\u0005\u000b"+ + "\u0006\r\u0007\u000f\b\u0011\t\u0013\n\u0015\u000b\u0017\f\u0019\r\u001b"+ + "\u000e\u001d\u000f\u001f\u0010!\u0011#\u0012%\u0013\'\u0014)\u0015+\u0016"+ + "-\u0017/\u00181\u00193\u001a5\u001b7\u001c9\u001d;\u001e=\u001f?\u0000"+ + "A C!E\"G#I$K%M&\u0001\u0000\u000b\u0003\u0000\t\n\r\r \u0001\u000009"+ + "\u0001\u0000]]\u0001\u0000\'\'\u0001\u0000@@\u0005\u0000--09AZ__az\u0004"+ + "\u000009AZ__az\n\u0000\t\n\r\r (),-:;==__{{}}\t\u0000\t\n\r\r (),-:"+ + ";=={{}}\u0001\u0000__\u0005\u0000,-09AZ__az\u0135\u0000\u0001\u0001\u0000"+ "\u0000\u0000\u0000\u0003\u0001\u0000\u0000\u0000\u0000\u0005\u0001\u0000"+ "\u0000\u0000\u0000\u0007\u0001\u0000\u0000\u0000\u0000\t\u0001\u0000\u0000"+ "\u0000\u0000\u000b\u0001\u0000\u0000\u0000\u0000\r\u0001\u0000\u0000\u0000"+ @@ -177,110 +183,129 @@ public EclRecordLexer(CharStream input) { "\u0000\u0000\u0000\u0000)\u0001\u0000\u0000\u0000\u0000+\u0001\u0000\u0000"+ "\u0000\u0000-\u0001\u0000\u0000\u0000\u0000/\u0001\u0000\u0000\u0000\u0000"+ "1\u0001\u0000\u0000\u0000\u00003\u0001\u0000\u0000\u0000\u00005\u0001"+ - "\u0000\u0000\u0000\u00007\u0001\u0000\u0000\u0000\u0000;\u0001\u0000\u0000"+ - "\u0000\u0000=\u0001\u0000\u0000\u0000\u0000?\u0001\u0000\u0000\u0000\u0000"+ - "A\u0001\u0000\u0000\u0000\u0000C\u0001\u0000\u0000\u0000\u0001E\u0001"+ - "\u0000\u0000\u0000\u0003L\u0001\u0000\u0000\u0000\u0005S\u0001\u0000\u0000"+ - "\u0000\u0007]\u0001\u0000\u0000\u0000\tg\u0001\u0000\u0000\u0000\u000b"+ - "j\u0001\u0000\u0000\u0000\rt\u0001\u0000\u0000\u0000\u000fy\u0001\u0000"+ - "\u0000\u0000\u0011~\u0001\u0000\u0000\u0000\u0013\u0087\u0001\u0000\u0000"+ - "\u0000\u0015\u008f\u0001\u0000\u0000\u0000\u0017\u0095\u0001\u0000\u0000"+ - "\u0000\u0019\u00a0\u0001\u0000\u0000\u0000\u001b\u00a3\u0001\u0000\u0000"+ - "\u0000\u001d\u00a6\u0001\u0000\u0000\u0000\u001f\u00a9\u0001\u0000\u0000"+ - "\u0000!\u00ab\u0001\u0000\u0000\u0000#\u00ad\u0001\u0000\u0000\u0000%"+ - "\u00af\u0001\u0000\u0000\u0000\'\u00b1\u0001\u0000\u0000\u0000)\u00b8"+ - "\u0001\u0000\u0000\u0000+\u00ba\u0001\u0000\u0000\u0000-\u00bc\u0001\u0000"+ - "\u0000\u0000/\u00bf\u0001\u0000\u0000\u00001\u00c6\u0001\u0000\u0000\u0000"+ - "3\u00ca\u0001\u0000\u0000\u00005\u00d2\u0001\u0000\u0000\u00007\u00d7"+ - "\u0001\u0000\u0000\u00009\u00db\u0001\u0000\u0000\u0000;\u00de\u0001\u0000"+ - "\u0000\u0000=\u00e8\u0001\u0000\u0000\u0000?\u00f0\u0001\u0000\u0000\u0000"+ - "A\u00f8\u0001\u0000\u0000\u0000C\u0103\u0001\u0000\u0000\u0000EF\u0005"+ - "S\u0000\u0000FG\u0005E\u0000\u0000GH\u0005T\u0000\u0000HI\u0005 \u0000"+ - "\u0000IJ\u0005O\u0000\u0000JK\u0005F\u0000\u0000K\u0002\u0001\u0000\u0000"+ - "\u0000LM\u0005s\u0000\u0000MN\u0005e\u0000\u0000NO\u0005t\u0000\u0000"+ - "OP\u0005 \u0000\u0000PQ\u0005o\u0000\u0000QR\u0005f\u0000\u0000R\u0004"+ - "\u0001\u0000\u0000\u0000ST\u0005M\u0000\u0000TU\u0005A\u0000\u0000UV\u0005"+ - "X\u0000\u0000VW\u0005L\u0000\u0000WX\u0005E\u0000\u0000XY\u0005N\u0000"+ - "\u0000YZ\u0005G\u0000\u0000Z[\u0005T\u0000\u0000[\\\u0005H\u0000\u0000"+ - "\\\u0006\u0001\u0000\u0000\u0000]^\u0005m\u0000\u0000^_\u0005a\u0000\u0000"+ - "_`\u0005x\u0000\u0000`a\u0005l\u0000\u0000ab\u0005e\u0000\u0000bc\u0005"+ - "n\u0000\u0000cd\u0005g\u0000\u0000de\u0005t\u0000\u0000ef\u0005h\u0000"+ - "\u0000f\b\u0001\u0000\u0000\u0000gh\u0005=\u0000\u0000hi\u0005>\u0000"+ - "\u0000i\n\u0001\u0000\u0000\u0000jk\u0005m\u0000\u0000kl\u0005a\u0000"+ - "\u0000lm\u0005x\u0000\u0000mn\u0005L\u0000\u0000no\u0005e\u0000\u0000"+ - "op\u0005n\u0000\u0000pq\u0005g\u0000\u0000qr\u0005t\u0000\u0000rs\u0005"+ - "h\u0000\u0000s\f\u0001\u0000\u0000\u0000tu\u0005B\u0000\u0000uv\u0005"+ - "L\u0000\u0000vw\u0005O\u0000\u0000wx\u0005B\u0000\u0000x\u000e\u0001\u0000"+ - "\u0000\u0000yz\u0005b\u0000\u0000z{\u0005l\u0000\u0000{|\u0005o\u0000"+ - "\u0000|}\u0005b\u0000\u0000}\u0010\u0001\u0000\u0000\u0000~\u007f\u0005"+ - "M\u0000\u0000\u007f\u0080\u0005A\u0000\u0000\u0080\u0081\u0005X\u0000"+ - "\u0000\u0081\u0082\u0005C\u0000\u0000\u0082\u0083\u0005O\u0000\u0000\u0083"+ - "\u0084\u0005U\u0000\u0000\u0084\u0085\u0005N\u0000\u0000\u0085\u0086\u0005"+ - "T\u0000\u0000\u0086\u0012\u0001\u0000\u0000\u0000\u0087\u0088\u0005D\u0000"+ - "\u0000\u0088\u0089\u0005E\u0000\u0000\u0089\u008a\u0005F\u0000\u0000\u008a"+ - "\u008b\u0005A\u0000\u0000\u008b\u008c\u0005U\u0000\u0000\u008c\u008d\u0005"+ - "L\u0000\u0000\u008d\u008e\u0005T\u0000\u0000\u008e\u0014\u0001\u0000\u0000"+ - "\u0000\u008f\u0090\u0005X\u0000\u0000\u0090\u0091\u0005P\u0000\u0000\u0091"+ - "\u0092\u0005A\u0000\u0000\u0092\u0093\u0005T\u0000\u0000\u0093\u0094\u0005"+ - "H\u0000\u0000\u0094\u0016\u0001\u0000\u0000\u0000\u0095\u0096\u0005X\u0000"+ - "\u0000\u0096\u0097\u0005M\u0000\u0000\u0097\u0098\u0005L\u0000\u0000\u0098"+ - "\u0099\u0005D\u0000\u0000\u0099\u009a\u0005E\u0000\u0000\u009a\u009b\u0005"+ - "F\u0000\u0000\u009b\u009c\u0005A\u0000\u0000\u009c\u009d\u0005U\u0000"+ - "\u0000\u009d\u009e\u0005L\u0000\u0000\u009e\u009f\u0005T\u0000\u0000\u009f"+ - "\u0018\u0001\u0000\u0000\u0000\u00a0\u00a1\u0005/\u0000\u0000\u00a1\u00a2"+ - "\u0005/\u0000\u0000\u00a2\u001a\u0001\u0000\u0000\u0000\u00a3\u00a4\u0005"+ - "/\u0000\u0000\u00a4\u00a5\u0005*\u0000\u0000\u00a5\u001c\u0001\u0000\u0000"+ - "\u0000\u00a6\u00a7\u0005*\u0000\u0000\u00a7\u00a8\u0005/\u0000\u0000\u00a8"+ - "\u001e\u0001\u0000\u0000\u0000\u00a9\u00aa\u0005(\u0000\u0000\u00aa \u0001"+ - "\u0000\u0000\u0000\u00ab\u00ac\u0005)\u0000\u0000\u00ac\"\u0001\u0000"+ - "\u0000\u0000\u00ad\u00ae\u0005{\u0000\u0000\u00ae$\u0001\u0000\u0000\u0000"+ - "\u00af\u00b0\u0005}\u0000\u0000\u00b0&\u0001\u0000\u0000\u0000\u00b1\u00b2"+ - "\u0005,\u0000\u0000\u00b2(\u0001\u0000\u0000\u0000\u00b3\u00b9\u0005;"+ - "\u0000\u0000\u00b4\u00b5\u00035\u001a\u0000\u00b5\u00b6\u0005=\u0000\u0000"+ - "\u00b6\u00b7\u0005>\u0000\u0000\u00b7\u00b9\u0001\u0000\u0000\u0000\u00b8"+ - "\u00b3\u0001\u0000\u0000\u0000\u00b8\u00b4\u0001\u0000\u0000\u0000\u00b9"+ - "*\u0001\u0000\u0000\u0000\u00ba\u00bb\u0005=\u0000\u0000\u00bb,\u0001"+ - "\u0000\u0000\u0000\u00bc\u00bd\u0005:\u0000\u0000\u00bd\u00be\u0005=\u0000"+ - "\u0000\u00be.\u0001\u0000\u0000\u0000\u00bf\u00c0\u0005R\u0000\u0000\u00c0"+ - "\u00c1\u0005E\u0000\u0000\u00c1\u00c2\u0005C\u0000\u0000\u00c2\u00c3\u0005"+ - "O\u0000\u0000\u00c3\u00c4\u0005R\u0000\u0000\u00c4\u00c5\u0005D\u0000"+ - "\u0000\u00c50\u0001\u0000\u0000\u0000\u00c6\u00c7\u0005E\u0000\u0000\u00c7"+ - "\u00c8\u0005N\u0000\u0000\u00c8\u00c9\u0005D\u0000\u0000\u00c92\u0001"+ - "\u0000\u0000\u0000\u00ca\u00cb\u0005D\u0000\u0000\u00cb\u00cc\u0005A\u0000"+ - "\u0000\u00cc\u00cd\u0005T\u0000\u0000\u00cd\u00ce\u0005A\u0000\u0000\u00ce"+ - "\u00cf\u0005S\u0000\u0000\u00cf\u00d0\u0005E\u0000\u0000\u00d0\u00d1\u0005"+ - "T\u0000\u0000\u00d14\u0001\u0000\u0000\u0000\u00d2\u00d3\u0007\u0000\u0000"+ - "\u0000\u00d3\u00d4\u0001\u0000\u0000\u0000\u00d4\u00d5\u0006\u001a\u0000"+ - "\u0000\u00d56\u0001\u0000\u0000\u0000\u00d6\u00d8\u0007\u0001\u0000\u0000"+ - "\u00d7\u00d6\u0001\u0000\u0000\u0000\u00d8\u00d9\u0001\u0000\u0000\u0000"+ - "\u00d9\u00d7\u0001\u0000\u0000\u0000\u00d9\u00da\u0001\u0000\u0000\u0000"+ - "\u00da8\u0001\u0000\u0000\u0000\u00db\u00dc\u0005\\\u0000\u0000\u00dc"+ - "\u00dd\u0005\'\u0000\u0000\u00dd:\u0001\u0000\u0000\u0000\u00de\u00e3"+ - "\u0005\'\u0000\u0000\u00df\u00e2\u00039\u001c\u0000\u00e0\u00e2\b\u0002"+ - "\u0000\u0000\u00e1\u00df\u0001\u0000\u0000\u0000\u00e1\u00e0\u0001\u0000"+ - "\u0000\u0000\u00e2\u00e5\u0001\u0000\u0000\u0000\u00e3\u00e1\u0001\u0000"+ - "\u0000\u0000\u00e3\u00e4\u0001\u0000\u0000\u0000\u00e4\u00e6\u0001\u0000"+ - "\u0000\u0000\u00e5\u00e3\u0001\u0000\u0000\u0000\u00e6\u00e7\u0005\'\u0000"+ - "\u0000\u00e7<\u0001\u0000\u0000\u0000\u00e8\u00ea\u0007\u0003\u0000\u0000"+ - "\u00e9\u00eb\u0007\u0004\u0000\u0000\u00ea\u00e9\u0001\u0000\u0000\u0000"+ - "\u00eb\u00ec\u0001\u0000\u0000\u0000\u00ec\u00ea\u0001\u0000\u0000\u0000"+ - "\u00ec\u00ed\u0001\u0000\u0000\u0000\u00ed\u00ee\u0001\u0000\u0000\u0000"+ - "\u00ee\u00ef\u0007\u0005\u0000\u0000\u00ef>\u0001\u0000\u0000\u0000\u00f0"+ - "\u00f4\b\u0006\u0000\u0000\u00f1\u00f3\b\u0007\u0000\u0000\u00f2\u00f1"+ - "\u0001\u0000\u0000\u0000\u00f3\u00f6\u0001\u0000\u0000\u0000\u00f4\u00f2"+ - "\u0001\u0000\u0000\u0000\u00f4\u00f5\u0001\u0000\u0000\u0000\u00f5@\u0001"+ - "\u0000\u0000\u0000\u00f6\u00f4\u0001\u0000\u0000\u0000\u00f7\u00f9\u0007"+ - "\b\u0000\u0000\u00f8\u00f7\u0001\u0000\u0000\u0000\u00f9\u00fa\u0001\u0000"+ - "\u0000\u0000\u00fa\u00f8\u0001\u0000\u0000\u0000\u00fa\u00fb\u0001\u0000"+ - "\u0000\u0000\u00fb\u00fd\u0001\u0000\u0000\u0000\u00fc\u00fe\u0007\u0004"+ - "\u0000\u0000\u00fd\u00fc\u0001\u0000\u0000\u0000\u00fe\u00ff\u0001\u0000"+ - "\u0000\u0000\u00ff\u00fd\u0001\u0000\u0000\u0000\u00ff\u0100\u0001\u0000"+ - "\u0000\u0000\u0100\u0101\u0001\u0000\u0000\u0000\u0101\u0102\u0007\u0005"+ - "\u0000\u0000\u0102B\u0001\u0000\u0000\u0000\u0103\u0105\u0003?\u001f\u0000"+ - "\u0104\u0106\u00037\u001b\u0000\u0105\u0104\u0001\u0000\u0000\u0000\u0105"+ - "\u0106\u0001\u0000\u0000\u0000\u0106D\u0001\u0000\u0000\u0000\n\u0000"+ - "\u00b8\u00d9\u00e1\u00e3\u00ec\u00f4\u00fa\u00ff\u0105\u0001\u0006\u0000"+ - "\u0000"; + "\u0000\u0000\u0000\u00007\u0001\u0000\u0000\u0000\u00009\u0001\u0000\u0000"+ + "\u0000\u0000;\u0001\u0000\u0000\u0000\u0000=\u0001\u0000\u0000\u0000\u0000"+ + "A\u0001\u0000\u0000\u0000\u0000C\u0001\u0000\u0000\u0000\u0000E\u0001"+ + "\u0000\u0000\u0000\u0000G\u0001\u0000\u0000\u0000\u0000I\u0001\u0000\u0000"+ + "\u0000\u0000K\u0001\u0000\u0000\u0000\u0000M\u0001\u0000\u0000\u0000\u0001"+ + "O\u0001\u0000\u0000\u0000\u0003V\u0001\u0000\u0000\u0000\u0005]\u0001"+ + "\u0000\u0000\u0000\u0007g\u0001\u0000\u0000\u0000\tq\u0001\u0000\u0000"+ + "\u0000\u000bt\u0001\u0000\u0000\u0000\r~\u0001\u0000\u0000\u0000\u000f"+ + "\u0083\u0001\u0000\u0000\u0000\u0011\u0088\u0001\u0000\u0000\u0000\u0013"+ + "\u0091\u0001\u0000\u0000\u0000\u0015\u0099\u0001\u0000\u0000\u0000\u0017"+ + "\u009f\u0001\u0000\u0000\u0000\u0019\u00aa\u0001\u0000\u0000\u0000\u001b"+ + "\u00ae\u0001\u0000\u0000\u0000\u001d\u00b1\u0001\u0000\u0000\u0000\u001f"+ + "\u00b4\u0001\u0000\u0000\u0000!\u00b7\u0001\u0000\u0000\u0000#\u00b9\u0001"+ + "\u0000\u0000\u0000%\u00bb\u0001\u0000\u0000\u0000\'\u00bd\u0001\u0000"+ + "\u0000\u0000)\u00bf\u0001\u0000\u0000\u0000+\u00c1\u0001\u0000\u0000\u0000"+ + "-\u00c3\u0001\u0000\u0000\u0000/\u00ca\u0001\u0000\u0000\u00001\u00cc"+ + "\u0001\u0000\u0000\u00003\u00ce\u0001\u0000\u0000\u00005\u00d1\u0001\u0000"+ + "\u0000\u00007\u00d8\u0001\u0000\u0000\u00009\u00dc\u0001\u0000\u0000\u0000"+ + ";\u00e4\u0001\u0000\u0000\u0000=\u00e9\u0001\u0000\u0000\u0000?\u00ed"+ + "\u0001\u0000\u0000\u0000A\u00f0\u0001\u0000\u0000\u0000C\u00ff\u0001\u0000"+ + "\u0000\u0000E\u0109\u0001\u0000\u0000\u0000G\u0111\u0001\u0000\u0000\u0000"+ + "I\u0119\u0001\u0000\u0000\u0000K\u0124\u0001\u0000\u0000\u0000M\u0128"+ + "\u0001\u0000\u0000\u0000OP\u0005S\u0000\u0000PQ\u0005E\u0000\u0000QR\u0005"+ + "T\u0000\u0000RS\u0005 \u0000\u0000ST\u0005O\u0000\u0000TU\u0005F\u0000"+ + "\u0000U\u0002\u0001\u0000\u0000\u0000VW\u0005s\u0000\u0000WX\u0005e\u0000"+ + "\u0000XY\u0005t\u0000\u0000YZ\u0005 \u0000\u0000Z[\u0005o\u0000\u0000"+ + "[\\\u0005f\u0000\u0000\\\u0004\u0001\u0000\u0000\u0000]^\u0005M\u0000"+ + "\u0000^_\u0005A\u0000\u0000_`\u0005X\u0000\u0000`a\u0005L\u0000\u0000"+ + "ab\u0005E\u0000\u0000bc\u0005N\u0000\u0000cd\u0005G\u0000\u0000de\u0005"+ + "T\u0000\u0000ef\u0005H\u0000\u0000f\u0006\u0001\u0000\u0000\u0000gh\u0005"+ + "m\u0000\u0000hi\u0005a\u0000\u0000ij\u0005x\u0000\u0000jk\u0005l\u0000"+ + "\u0000kl\u0005e\u0000\u0000lm\u0005n\u0000\u0000mn\u0005g\u0000\u0000"+ + "no\u0005t\u0000\u0000op\u0005h\u0000\u0000p\b\u0001\u0000\u0000\u0000"+ + "qr\u0005=\u0000\u0000rs\u0005>\u0000\u0000s\n\u0001\u0000\u0000\u0000"+ + "tu\u0005m\u0000\u0000uv\u0005a\u0000\u0000vw\u0005x\u0000\u0000wx\u0005"+ + "L\u0000\u0000xy\u0005e\u0000\u0000yz\u0005n\u0000\u0000z{\u0005g\u0000"+ + "\u0000{|\u0005t\u0000\u0000|}\u0005h\u0000\u0000}\f\u0001\u0000\u0000"+ + "\u0000~\u007f\u0005B\u0000\u0000\u007f\u0080\u0005L\u0000\u0000\u0080"+ + "\u0081\u0005O\u0000\u0000\u0081\u0082\u0005B\u0000\u0000\u0082\u000e\u0001"+ + "\u0000\u0000\u0000\u0083\u0084\u0005b\u0000\u0000\u0084\u0085\u0005l\u0000"+ + "\u0000\u0085\u0086\u0005o\u0000\u0000\u0086\u0087\u0005b\u0000\u0000\u0087"+ + "\u0010\u0001\u0000\u0000\u0000\u0088\u0089\u0005M\u0000\u0000\u0089\u008a"+ + "\u0005A\u0000\u0000\u008a\u008b\u0005X\u0000\u0000\u008b\u008c\u0005C"+ + "\u0000\u0000\u008c\u008d\u0005O\u0000\u0000\u008d\u008e\u0005U\u0000\u0000"+ + "\u008e\u008f\u0005N\u0000\u0000\u008f\u0090\u0005T\u0000\u0000\u0090\u0012"+ + "\u0001\u0000\u0000\u0000\u0091\u0092\u0005D\u0000\u0000\u0092\u0093\u0005"+ + "E\u0000\u0000\u0093\u0094\u0005F\u0000\u0000\u0094\u0095\u0005A\u0000"+ + "\u0000\u0095\u0096\u0005U\u0000\u0000\u0096\u0097\u0005L\u0000\u0000\u0097"+ + "\u0098\u0005T\u0000\u0000\u0098\u0014\u0001\u0000\u0000\u0000\u0099\u009a"+ + "\u0005X\u0000\u0000\u009a\u009b\u0005P\u0000\u0000\u009b\u009c\u0005A"+ + "\u0000\u0000\u009c\u009d\u0005T\u0000\u0000\u009d\u009e\u0005H\u0000\u0000"+ + "\u009e\u0016\u0001\u0000\u0000\u0000\u009f\u00a0\u0005X\u0000\u0000\u00a0"+ + "\u00a1\u0005M\u0000\u0000\u00a1\u00a2\u0005L\u0000\u0000\u00a2\u00a3\u0005"+ + "D\u0000\u0000\u00a3\u00a4\u0005E\u0000\u0000\u00a4\u00a5\u0005F\u0000"+ + "\u0000\u00a5\u00a6\u0005A\u0000\u0000\u00a6\u00a7\u0005U\u0000\u0000\u00a7"+ + "\u00a8\u0005L\u0000\u0000\u00a8\u00a9\u0005T\u0000\u0000\u00a9\u0018\u0001"+ + "\u0000\u0000\u0000\u00aa\u00ab\u0005A\u0000\u0000\u00ab\u00ac\u0005L\u0000"+ + "\u0000\u00ac\u00ad\u0005L\u0000\u0000\u00ad\u001a\u0001\u0000\u0000\u0000"+ + "\u00ae\u00af\u0005/\u0000\u0000\u00af\u00b0\u0005/\u0000\u0000\u00b0\u001c"+ + "\u0001\u0000\u0000\u0000\u00b1\u00b2\u0005/\u0000\u0000\u00b2\u00b3\u0005"+ + "*\u0000\u0000\u00b3\u001e\u0001\u0000\u0000\u0000\u00b4\u00b5\u0005*\u0000"+ + "\u0000\u00b5\u00b6\u0005/\u0000\u0000\u00b6 \u0001\u0000\u0000\u0000\u00b7"+ + "\u00b8\u0005[\u0000\u0000\u00b8\"\u0001\u0000\u0000\u0000\u00b9\u00ba"+ + "\u0005]\u0000\u0000\u00ba$\u0001\u0000\u0000\u0000\u00bb\u00bc\u0005("+ + "\u0000\u0000\u00bc&\u0001\u0000\u0000\u0000\u00bd\u00be\u0005)\u0000\u0000"+ + "\u00be(\u0001\u0000\u0000\u0000\u00bf\u00c0\u0005{\u0000\u0000\u00c0*"+ + "\u0001\u0000\u0000\u0000\u00c1\u00c2\u0005}\u0000\u0000\u00c2,\u0001\u0000"+ + "\u0000\u0000\u00c3\u00c4\u0005,\u0000\u0000\u00c4.\u0001\u0000\u0000\u0000"+ + "\u00c5\u00cb\u0005;\u0000\u0000\u00c6\u00c7\u0003;\u001d\u0000\u00c7\u00c8"+ + "\u0005=\u0000\u0000\u00c8\u00c9\u0005>\u0000\u0000\u00c9\u00cb\u0001\u0000"+ + "\u0000\u0000\u00ca\u00c5\u0001\u0000\u0000\u0000\u00ca\u00c6\u0001\u0000"+ + "\u0000\u0000\u00cb0\u0001\u0000\u0000\u0000\u00cc\u00cd\u0005=\u0000\u0000"+ + "\u00cd2\u0001\u0000\u0000\u0000\u00ce\u00cf\u0005:\u0000\u0000\u00cf\u00d0"+ + "\u0005=\u0000\u0000\u00d04\u0001\u0000\u0000\u0000\u00d1\u00d2\u0005R"+ + "\u0000\u0000\u00d2\u00d3\u0005E\u0000\u0000\u00d3\u00d4\u0005C\u0000\u0000"+ + "\u00d4\u00d5\u0005O\u0000\u0000\u00d5\u00d6\u0005R\u0000\u0000\u00d6\u00d7"+ + "\u0005D\u0000\u0000\u00d76\u0001\u0000\u0000\u0000\u00d8\u00d9\u0005E"+ + "\u0000\u0000\u00d9\u00da\u0005N\u0000\u0000\u00da\u00db\u0005D\u0000\u0000"+ + "\u00db8\u0001\u0000\u0000\u0000\u00dc\u00dd\u0005D\u0000\u0000\u00dd\u00de"+ + "\u0005A\u0000\u0000\u00de\u00df\u0005T\u0000\u0000\u00df\u00e0\u0005A"+ + "\u0000\u0000\u00e0\u00e1\u0005S\u0000\u0000\u00e1\u00e2\u0005E\u0000\u0000"+ + "\u00e2\u00e3\u0005T\u0000\u0000\u00e3:\u0001\u0000\u0000\u0000\u00e4\u00e5"+ + "\u0007\u0000\u0000\u0000\u00e5\u00e6\u0001\u0000\u0000\u0000\u00e6\u00e7"+ + "\u0006\u001d\u0000\u0000\u00e7<\u0001\u0000\u0000\u0000\u00e8\u00ea\u0007"+ + "\u0001\u0000\u0000\u00e9\u00e8\u0001\u0000\u0000\u0000\u00ea\u00eb\u0001"+ + "\u0000\u0000\u0000\u00eb\u00e9\u0001\u0000\u0000\u0000\u00eb\u00ec\u0001"+ + "\u0000\u0000\u0000\u00ec>\u0001\u0000\u0000\u0000\u00ed\u00ee\u0005\\"+ + "\u0000\u0000\u00ee\u00ef\u0005\'\u0000\u0000\u00ef@\u0001\u0000\u0000"+ + "\u0000\u00f0\u00f1\u0005[\u0000\u0000\u00f1\u00f2\u0005\'\u0000\u0000"+ + "\u00f2\u00f9\u0001\u0000\u0000\u0000\u00f3\u00f8\u0003?\u001f\u0000\u00f4"+ + "\u00f8\u0003M&\u0000\u00f5\u00f8\u0005\'\u0000\u0000\u00f6\u00f8\b\u0002"+ + "\u0000\u0000\u00f7\u00f3\u0001\u0000\u0000\u0000\u00f7\u00f4\u0001\u0000"+ + "\u0000\u0000\u00f7\u00f5\u0001\u0000\u0000\u0000\u00f7\u00f6\u0001\u0000"+ + "\u0000\u0000\u00f8\u00fb\u0001\u0000\u0000\u0000\u00f9\u00f7\u0001\u0000"+ + "\u0000\u0000\u00f9\u00fa\u0001\u0000\u0000\u0000\u00fa\u00fc\u0001\u0000"+ + "\u0000\u0000\u00fb\u00f9\u0001\u0000\u0000\u0000\u00fc\u00fd\u0005\'\u0000"+ + "\u0000\u00fd\u00fe\u0005]\u0000\u0000\u00feB\u0001\u0000\u0000\u0000\u00ff"+ + "\u0104\u0005\'\u0000\u0000\u0100\u0103\u0003?\u001f\u0000\u0101\u0103"+ + "\b\u0003\u0000\u0000\u0102\u0100\u0001\u0000\u0000\u0000\u0102\u0101\u0001"+ + "\u0000\u0000\u0000\u0103\u0106\u0001\u0000\u0000\u0000\u0104\u0102\u0001"+ + "\u0000\u0000\u0000\u0104\u0105\u0001\u0000\u0000\u0000\u0105\u0107\u0001"+ + "\u0000\u0000\u0000\u0106\u0104\u0001\u0000\u0000\u0000\u0107\u0108\u0005"+ + "\'\u0000\u0000\u0108D\u0001\u0000\u0000\u0000\u0109\u010b\u0007\u0004"+ + "\u0000\u0000\u010a\u010c\u0007\u0005\u0000\u0000\u010b\u010a\u0001\u0000"+ + "\u0000\u0000\u010c\u010d\u0001\u0000\u0000\u0000\u010d\u010b\u0001\u0000"+ + "\u0000\u0000\u010d\u010e\u0001\u0000\u0000\u0000\u010e\u010f\u0001\u0000"+ + "\u0000\u0000\u010f\u0110\u0007\u0006\u0000\u0000\u0110F\u0001\u0000\u0000"+ + "\u0000\u0111\u0115\b\u0007\u0000\u0000\u0112\u0114\b\b\u0000\u0000\u0113"+ + "\u0112\u0001\u0000\u0000\u0000\u0114\u0117\u0001\u0000\u0000\u0000\u0115"+ + "\u0113\u0001\u0000\u0000\u0000\u0115\u0116\u0001\u0000\u0000\u0000\u0116"+ + "H\u0001\u0000\u0000\u0000\u0117\u0115\u0001\u0000\u0000\u0000\u0118\u011a"+ + "\u0007\t\u0000\u0000\u0119\u0118\u0001\u0000\u0000\u0000\u011a\u011b\u0001"+ + "\u0000\u0000\u0000\u011b\u0119\u0001\u0000\u0000\u0000\u011b\u011c\u0001"+ + "\u0000\u0000\u0000\u011c\u011e\u0001\u0000\u0000\u0000\u011d\u011f\u0007"+ + "\u0005\u0000\u0000\u011e\u011d\u0001\u0000\u0000\u0000\u011f\u0120\u0001"+ + "\u0000\u0000\u0000\u0120\u011e\u0001\u0000\u0000\u0000\u0120\u0121\u0001"+ + "\u0000\u0000\u0000\u0121\u0122\u0001\u0000\u0000\u0000\u0122\u0123\u0007"+ + "\u0006\u0000\u0000\u0123J\u0001\u0000\u0000\u0000\u0124\u0126\u0003G#"+ + "\u0000\u0125\u0127\u0003=\u001e\u0000\u0126\u0125\u0001\u0000\u0000\u0000"+ + "\u0126\u0127\u0001\u0000\u0000\u0000\u0127L\u0001\u0000\u0000\u0000\u0128"+ + "\u0129\u0007\n\u0000\u0000\u0129N\u0001\u0000\u0000\u0000\f\u0000\u00ca"+ + "\u00eb\u00f7\u00f9\u0102\u0104\u010d\u0115\u011b\u0120\u0126\u0001\u0006"+ + "\u0000\u0000"; public static final ATN _ATN = new ATNDeserializer().deserialize(_serializedATN.toCharArray()); static { diff --git a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordLexer.tokens b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordLexer.tokens index c0088ae92..22d17064e 100644 --- a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordLexer.tokens +++ b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordLexer.tokens @@ -13,24 +13,29 @@ T__11=12 T__12=13 T__13=14 T__14=15 -OPAREN=16 -CPAREN=17 -OCURLY=18 -CCURLY=19 -COMMA=20 -SEMI=21 -EQ=22 -ASSING_SYM=23 -REC_SYM=24 -END_SYM=25 -DATASET_SYM=26 -WS=27 -INT=28 -STRING=29 -ATOKEN=30 -TOKEN=31 -UTOKEN=32 -ECL_NUMBERED_TYPE=33 +T__15=16 +OSQUARE=17 +CSQUARE=18 +OPAREN=19 +CPAREN=20 +OCURLY=21 +CCURLY=22 +COMMA=23 +SEMI=24 +EQ=25 +ASSING_SYM=26 +REC_SYM=27 +END_SYM=28 +DATASET_SYM=29 +WS=30 +INT=31 +SETSTRING=32 +STRING=33 +ATOKEN=34 +TOKEN=35 +UTOKEN=36 +ECL_NUMBERED_TYPE=37 +SETTOKEN=38 'SET OF'=1 'set of'=2 'MAXLENGTH'=3 @@ -43,16 +48,19 @@ ECL_NUMBERED_TYPE=33 'DEFAULT'=10 'XPATH'=11 'XMLDEFAULT'=12 -'//'=13 -'/*'=14 -'*/'=15 -'('=16 -')'=17 -'{'=18 -'}'=19 -','=20 -'='=22 -':='=23 -'RECORD'=24 -'END'=25 -'DATASET'=26 +'ALL'=13 +'//'=14 +'/*'=15 +'*/'=16 +'['=17 +']'=18 +'('=19 +')'=20 +'{'=21 +'}'=22 +','=23 +'='=25 +':='=26 +'RECORD'=27 +'END'=28 +'DATASET'=29 diff --git a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordListener.java b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordListener.java index 2803ca788..b45b32fff 100644 --- a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordListener.java +++ b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordListener.java @@ -277,6 +277,26 @@ public interface EclRecordListener extends ParseTreeListener { * @param ctx the parse tree */ void exitXmldefaultval(EclRecordParser.XmldefaultvalContext ctx); + /** + * Enter a parse tree produced by {@link EclRecordParser#setdefaultval}. + * @param ctx the parse tree + */ + void enterSetdefaultval(EclRecordParser.SetdefaultvalContext ctx); + /** + * Exit a parse tree produced by {@link EclRecordParser#setdefaultval}. + * @param ctx the parse tree + */ + void exitSetdefaultval(EclRecordParser.SetdefaultvalContext ctx); + /** + * Enter a parse tree produced by {@link EclRecordParser#setdefaultvalall}. + * @param ctx the parse tree + */ + void enterSetdefaultvalall(EclRecordParser.SetdefaultvalallContext ctx); + /** + * Exit a parse tree produced by {@link EclRecordParser#setdefaultvalall}. + * @param ctx the parse tree + */ + void exitSetdefaultvalall(EclRecordParser.SetdefaultvalallContext ctx); /** * Enter a parse tree produced by {@link EclRecordParser#annotation_name}. * @param ctx the parse tree diff --git a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordParser.java b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordParser.java index 2e6f92a5f..7a19eb405 100644 --- a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordParser.java +++ b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/gen/EclRecordParser.java @@ -18,10 +18,11 @@ public class EclRecordParser extends Parser { new PredictionContextCache(); public static final int 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, - T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, OPAREN=16, - CPAREN=17, OCURLY=18, CCURLY=19, COMMA=20, SEMI=21, EQ=22, ASSING_SYM=23, - REC_SYM=24, END_SYM=25, DATASET_SYM=26, WS=27, INT=28, STRING=29, ATOKEN=30, - TOKEN=31, UTOKEN=32, ECL_NUMBERED_TYPE=33; + T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, OSQUARE=17, + CSQUARE=18, OPAREN=19, CPAREN=20, OCURLY=21, CCURLY=22, COMMA=23, SEMI=24, + EQ=25, ASSING_SYM=26, REC_SYM=27, END_SYM=28, DATASET_SYM=29, WS=30, INT=31, + SETSTRING=32, STRING=33, ATOKEN=34, TOKEN=35, UTOKEN=36, ECL_NUMBERED_TYPE=37, + SETTOKEN=38; public static final int RULE_program = 0, RULE_value = 1, RULE_value_list = 2, RULE_token_list = 3, RULE_assign = 4, RULE_assign_list = 5, RULE_eclfield_decl = 6, RULE_eclfield_type = 7, @@ -30,9 +31,9 @@ public class EclRecordParser extends Parser { RULE_exploded_dataset_record_def = 14, RULE_inline_dataset_record_def = 15, RULE_record_defs = 16, RULE_nested_dataset_decl = 17, RULE_nested_inline_dataset_decl = 18, RULE_opts = 19, RULE_opt = 20, RULE_maxlength = 21, RULE_blob = 22, RULE_maxcount = 23, - RULE_defaultval = 24, RULE_xpath = 25, RULE_xmldefaultval = 26, RULE_annotation_name = 27, - RULE_annotation_param = 28, RULE_annotation_arguments = 29, RULE_annotation = 30, - RULE_comment = 31; + RULE_defaultval = 24, RULE_xpath = 25, RULE_xmldefaultval = 26, RULE_setdefaultval = 27, + RULE_setdefaultvalall = 28, RULE_annotation_name = 29, RULE_annotation_param = 30, + RULE_annotation_arguments = 31, RULE_annotation = 32, RULE_comment = 33; private static String[] makeRuleNames() { return new String[] { "program", "value", "value_list", "token_list", "assign", "assign_list", @@ -40,8 +41,9 @@ private static String[] makeRuleNames() { "payload_sep", "record_def_inline", "record_def", "defined_record_def", "exploded_dataset_record_def", "inline_dataset_record_def", "record_defs", "nested_dataset_decl", "nested_inline_dataset_decl", "opts", "opt", "maxlength", - "blob", "maxcount", "defaultval", "xpath", "xmldefaultval", "annotation_name", - "annotation_param", "annotation_arguments", "annotation", "comment" + "blob", "maxcount", "defaultval", "xpath", "xmldefaultval", "setdefaultval", + "setdefaultvalall", "annotation_name", "annotation_param", "annotation_arguments", + "annotation", "comment" }; } public static final String[] ruleNames = makeRuleNames(); @@ -50,17 +52,18 @@ private static String[] makeLiteralNames() { return new String[] { null, "'SET OF'", "'set of'", "'MAXLENGTH'", "'maxlength'", "'=>'", "'maxLength'", "'BLOB'", "'blob'", "'MAXCOUNT'", "'DEFAULT'", "'XPATH'", "'XMLDEFAULT'", - "'//'", "'/*'", "'*/'", "'('", "')'", "'{'", "'}'", "','", null, "'='", - "':='", "'RECORD'", "'END'", "'DATASET'" + "'ALL'", "'//'", "'/*'", "'*/'", "'['", "']'", "'('", "')'", "'{'", "'}'", + "','", null, "'='", "':='", "'RECORD'", "'END'", "'DATASET'" }; } private static final String[] _LITERAL_NAMES = makeLiteralNames(); private static String[] makeSymbolicNames() { return new String[] { null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, "OPAREN", "CPAREN", "OCURLY", "CCURLY", "COMMA", - "SEMI", "EQ", "ASSING_SYM", "REC_SYM", "END_SYM", "DATASET_SYM", "WS", - "INT", "STRING", "ATOKEN", "TOKEN", "UTOKEN", "ECL_NUMBERED_TYPE" + null, null, null, null, null, "OSQUARE", "CSQUARE", "OPAREN", "CPAREN", + "OCURLY", "CCURLY", "COMMA", "SEMI", "EQ", "ASSING_SYM", "REC_SYM", "END_SYM", + "DATASET_SYM", "WS", "INT", "SETSTRING", "STRING", "ATOKEN", "TOKEN", + "UTOKEN", "ECL_NUMBERED_TYPE", "SETTOKEN" }; } private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); @@ -142,19 +145,19 @@ public final ProgramContext program() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(64); - record_defs(); setState(68); + record_defs(); + setState(72); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << OCURLY) | (1L << REC_SYM) | (1L << TOKEN) | (1L << UTOKEN))) != 0)) { { { - setState(65); + setState(69); record_defs(); } } - setState(70); + setState(74); _errHandler.sync(this); _la = _input.LA(1); } @@ -197,7 +200,7 @@ public final ValueContext value() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(71); + setState(75); _la = _input.LA(1); if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << INT) | (1L << STRING) | (1L << TOKEN) | (1L << UTOKEN))) != 0)) ) { _errHandler.recoverInline(this); @@ -252,23 +255,23 @@ public final Value_listContext value_list() throws RecognitionException { int _alt; enterOuterAlt(_localctx, 1); { - setState(73); + setState(77); value(); - setState(78); + setState(82); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,1,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(74); + setState(78); match(COMMA); - setState(75); + setState(79); value(); } } } - setState(80); + setState(84); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,1,_ctx); } @@ -315,21 +318,21 @@ public final Token_listContext token_list() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(81); + setState(85); match(TOKEN); - setState(86); + setState(90); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { - setState(82); + setState(86); match(COMMA); - setState(83); + setState(87); match(TOKEN); } } - setState(88); + setState(92); _errHandler.sync(this); _la = _input.LA(1); } @@ -374,11 +377,11 @@ public final AssignContext assign() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(89); + setState(93); value(); - setState(90); + setState(94); match(EQ); - setState(91); + setState(95); value_list(); } } @@ -425,21 +428,21 @@ public final Assign_listContext assign_list() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(93); + setState(97); assign(); - setState(98); + setState(102); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { - setState(94); + setState(98); match(COMMA); - setState(95); + setState(99); assign(); } } - setState(100); + setState(104); _errHandler.sync(this); _la = _input.LA(1); } @@ -500,25 +503,25 @@ public final Eclfield_declContext eclfield_decl() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(115); + setState(119); _errHandler.sync(this); switch ( getInterpreter().adaptivePredict(_input,5,_ctx) ) { case 1: { - setState(101); + setState(105); eclfield_type(); - setState(102); + setState(106); eclfield_name(); - setState(107); + setState(111); _errHandler.sync(this); switch ( getInterpreter().adaptivePredict(_input,4,_ctx) ) { case 1: { - setState(103); + setState(107); match(OCURLY); - setState(104); + setState(108); opts(); - setState(105); + setState(109); match(CCURLY); } break; @@ -527,29 +530,29 @@ public final Eclfield_declContext eclfield_decl() throws RecognitionException { break; case 2: { - setState(109); + setState(113); nested_dataset_decl(); } break; case 3: { - setState(110); + setState(114); nested_inline_dataset_decl(); } break; case 4: { { - setState(111); + setState(115); inline_dataset_record_def(); - setState(112); + setState(116); eclfield_name(); } } break; case 5: { - setState(114); + setState(118); eclfield_recref(); } break; @@ -591,12 +594,12 @@ public final Eclfield_typeContext eclfield_type() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(118); + setState(122); _errHandler.sync(this); _la = _input.LA(1); if (_la==T__0 || _la==T__1) { { - setState(117); + setState(121); _la = _input.LA(1); if ( !(_la==T__0 || _la==T__1) ) { _errHandler.recoverInline(this); @@ -609,7 +612,7 @@ public final Eclfield_typeContext eclfield_type() throws RecognitionException { } } - setState(120); + setState(124); _la = _input.LA(1); if ( !(_la==TOKEN || _la==UTOKEN) ) { _errHandler.recoverInline(this); @@ -656,7 +659,7 @@ public final Eclfield_nameContext eclfield_name() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(122); + setState(126); _la = _input.LA(1); if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__2) | (1L << T__3) | (1L << TOKEN) | (1L << UTOKEN))) != 0)) ) { _errHandler.recoverInline(this); @@ -703,11 +706,11 @@ public final Eclfield_recrefContext eclfield_recref() throws RecognitionExceptio try { enterOuterAlt(_localctx, 1); { - setState(124); + setState(128); match(OPAREN); - setState(125); + setState(129); match(TOKEN); - setState(126); + setState(130); match(CPAREN); } } @@ -743,7 +746,7 @@ public final Payload_sepContext payload_sep() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(128); + setState(132); match(T__4); } } @@ -796,53 +799,53 @@ public final Record_def_inlineContext record_def_inline() throws RecognitionExce try { enterOuterAlt(_localctx, 1); { - setState(130); + setState(134); match(OCURLY); - setState(133); + setState(137); _errHandler.sync(this); _la = _input.LA(1); if (_la==COMMA) { { - setState(131); + setState(135); match(COMMA); - setState(132); + setState(136); maxlength(); } } - setState(135); + setState(139); eclfield_decl(); - setState(145); + setState(149); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__0) | (1L << T__1) | (1L << OPAREN) | (1L << OCURLY) | (1L << COMMA) | (1L << DATASET_SYM) | (1L << TOKEN) | (1L << UTOKEN))) != 0)) { { { - setState(139); + setState(143); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { - setState(136); + setState(140); match(COMMA); } } - setState(141); + setState(145); _errHandler.sync(this); _la = _input.LA(1); } - setState(142); + setState(146); eclfield_decl(); } } - setState(147); + setState(151); _errHandler.sync(this); _la = _input.LA(1); } - setState(148); + setState(152); match(CCURLY); - setState(149); + setState(153); match(SEMI); } } @@ -901,73 +904,73 @@ public final Record_defContext record_def() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(151); + setState(155); match(REC_SYM); - setState(154); + setState(158); _errHandler.sync(this); _la = _input.LA(1); if (_la==COMMA) { { - setState(152); + setState(156); match(COMMA); - setState(153); + setState(157); maxlength(); } } - setState(157); + setState(161); _errHandler.sync(this); _la = _input.LA(1); - if (_la==T__12 || _la==T__13) { + if (_la==T__13 || _la==T__14) { { - setState(156); + setState(160); comment(); } } - setState(159); + setState(163); eclfield_decl(); - setState(160); + setState(164); match(SEMI); - setState(162); + setState(166); _errHandler.sync(this); _la = _input.LA(1); - if (_la==T__12 || _la==T__13) { + if (_la==T__13 || _la==T__14) { { - setState(161); + setState(165); comment(); } } - setState(171); + setState(175); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__0) | (1L << T__1) | (1L << OPAREN) | (1L << OCURLY) | (1L << DATASET_SYM) | (1L << TOKEN) | (1L << UTOKEN))) != 0)) { { { - setState(164); + setState(168); eclfield_decl(); - setState(165); + setState(169); match(SEMI); - setState(167); + setState(171); _errHandler.sync(this); _la = _input.LA(1); - if (_la==T__12 || _la==T__13) { + if (_la==T__13 || _la==T__14) { { - setState(166); + setState(170); comment(); } } } } - setState(173); + setState(177); _errHandler.sync(this); _la = _input.LA(1); } - setState(174); + setState(178); match(END_SYM); - setState(175); + setState(179); match(SEMI); } } @@ -1013,7 +1016,7 @@ public final Defined_record_defContext defined_record_def() throws RecognitionEx try { enterOuterAlt(_localctx, 1); { - setState(177); + setState(181); _la = _input.LA(1); if ( !(_la==TOKEN || _la==UTOKEN) ) { _errHandler.recoverInline(this); @@ -1023,20 +1026,20 @@ public final Defined_record_defContext defined_record_def() throws RecognitionEx _errHandler.reportMatch(this); consume(); } - setState(178); + setState(182); match(ASSING_SYM); - setState(181); + setState(185); _errHandler.sync(this); switch (_input.LA(1)) { case REC_SYM: { - setState(179); + setState(183); record_def(); } break; case OCURLY: { - setState(180); + setState(184); record_def_inline(); } break; @@ -1100,71 +1103,71 @@ public final Exploded_dataset_record_defContext exploded_dataset_record_def() th try { enterOuterAlt(_localctx, 1); { - setState(183); + setState(187); match(REC_SYM); - setState(186); + setState(190); _errHandler.sync(this); _la = _input.LA(1); if (_la==COMMA) { { - setState(184); + setState(188); match(COMMA); - setState(185); + setState(189); maxlength(); } } - setState(189); + setState(193); _errHandler.sync(this); _la = _input.LA(1); - if (_la==T__12 || _la==T__13) { + if (_la==T__13 || _la==T__14) { { - setState(188); + setState(192); comment(); } } - setState(191); + setState(195); eclfield_decl(); - setState(192); + setState(196); match(SEMI); - setState(194); + setState(198); _errHandler.sync(this); _la = _input.LA(1); - if (_la==T__12 || _la==T__13) { + if (_la==T__13 || _la==T__14) { { - setState(193); + setState(197); comment(); } } - setState(203); + setState(207); _errHandler.sync(this); _la = _input.LA(1); while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__0) | (1L << T__1) | (1L << OPAREN) | (1L << OCURLY) | (1L << DATASET_SYM) | (1L << TOKEN) | (1L << UTOKEN))) != 0)) { { { - setState(196); + setState(200); eclfield_decl(); - setState(197); + setState(201); match(SEMI); - setState(199); + setState(203); _errHandler.sync(this); _la = _input.LA(1); - if (_la==T__12 || _la==T__13) { + if (_la==T__13 || _la==T__14) { { - setState(198); + setState(202); comment(); } } } } - setState(205); + setState(209); _errHandler.sync(this); _la = _input.LA(1); } - setState(206); + setState(210); match(END_SYM); } } @@ -1213,27 +1216,27 @@ public final Inline_dataset_record_defContext inline_dataset_record_def() throws try { enterOuterAlt(_localctx, 1); { - setState(208); + setState(212); match(OCURLY); - setState(209); + setState(213); eclfield_decl(); - setState(214); + setState(218); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { - setState(210); + setState(214); match(COMMA); - setState(211); + setState(215); eclfield_decl(); } } - setState(216); + setState(220); _errHandler.sync(this); _la = _input.LA(1); } - setState(217); + setState(221); match(CCURLY); } } @@ -1276,20 +1279,20 @@ public final Record_defsContext record_defs() throws RecognitionException { Record_defsContext _localctx = new Record_defsContext(_ctx, getState()); enterRule(_localctx, 32, RULE_record_defs); try { - setState(222); + setState(226); _errHandler.sync(this); switch (_input.LA(1)) { case OCURLY: enterOuterAlt(_localctx, 1); { - setState(219); + setState(223); record_def_inline(); } break; case REC_SYM: enterOuterAlt(_localctx, 2); { - setState(220); + setState(224); record_def(); } break; @@ -1297,7 +1300,7 @@ public final Record_defsContext record_defs() throws RecognitionException { case UTOKEN: enterOuterAlt(_localctx, 3); { - setState(221); + setState(225); defined_record_def(); } break; @@ -1354,11 +1357,11 @@ public final Nested_dataset_declContext nested_dataset_decl() throws Recognition try { enterOuterAlt(_localctx, 1); { - setState(224); + setState(228); match(DATASET_SYM); - setState(225); + setState(229); match(OPAREN); - setState(226); + setState(230); _la = _input.LA(1); if ( !(_la==TOKEN || _la==UTOKEN) ) { _errHandler.recoverInline(this); @@ -1368,9 +1371,9 @@ public final Nested_dataset_declContext nested_dataset_decl() throws Recognition _errHandler.reportMatch(this); consume(); } - setState(227); + setState(231); match(CPAREN); - setState(228); + setState(232); _la = _input.LA(1); if ( !(_la==TOKEN || _la==UTOKEN) ) { _errHandler.recoverInline(this); @@ -1380,16 +1383,16 @@ public final Nested_dataset_declContext nested_dataset_decl() throws Recognition _errHandler.reportMatch(this); consume(); } - setState(233); + setState(237); _errHandler.sync(this); switch ( getInterpreter().adaptivePredict(_input,23,_ctx) ) { case 1: { - setState(229); + setState(233); match(OCURLY); - setState(230); + setState(234); opts(); - setState(231); + setState(235); match(CCURLY); } break; @@ -1445,31 +1448,31 @@ public final Nested_inline_dataset_declContext nested_inline_dataset_decl() thro try { enterOuterAlt(_localctx, 1); { - setState(235); + setState(239); match(DATASET_SYM); - setState(236); + setState(240); match(OPAREN); - setState(239); + setState(243); _errHandler.sync(this); switch (_input.LA(1)) { case REC_SYM: { - setState(237); + setState(241); exploded_dataset_record_def(); } break; case OCURLY: { - setState(238); + setState(242); inline_dataset_record_def(); } break; default: throw new NoViableAltException(this); } - setState(241); + setState(245); match(CPAREN); - setState(242); + setState(246); _la = _input.LA(1); if ( !(_la==TOKEN || _la==UTOKEN) ) { _errHandler.recoverInline(this); @@ -1479,16 +1482,16 @@ public final Nested_inline_dataset_declContext nested_inline_dataset_decl() thro _errHandler.reportMatch(this); consume(); } - setState(247); + setState(251); _errHandler.sync(this); switch ( getInterpreter().adaptivePredict(_input,25,_ctx) ) { case 1: { - setState(243); + setState(247); match(OCURLY); - setState(244); + setState(248); opts(); - setState(245); + setState(249); match(CCURLY); } break; @@ -1538,21 +1541,21 @@ public final OptsContext opts() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(249); + setState(253); opt(); - setState(254); + setState(258); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { - setState(250); + setState(254); match(COMMA); - setState(251); + setState(255); opt(); } } - setState(256); + setState(260); _errHandler.sync(this); _la = _input.LA(1); } @@ -1576,6 +1579,12 @@ public MaxlengthContext maxlength() { public MaxcountContext maxcount() { return getRuleContext(MaxcountContext.class,0); } + public SetdefaultvalallContext setdefaultvalall() { + return getRuleContext(SetdefaultvalallContext.class,0); + } + public SetdefaultvalContext setdefaultval() { + return getRuleContext(SetdefaultvalContext.class,0); + } public DefaultvalContext defaultval() { return getRuleContext(DefaultvalContext.class,0); } @@ -1606,56 +1615,65 @@ public final OptContext opt() throws RecognitionException { OptContext _localctx = new OptContext(_ctx, getState()); enterRule(_localctx, 40, RULE_opt); try { - setState(263); + setState(269); _errHandler.sync(this); - switch (_input.LA(1)) { - case T__2: - case T__3: - case T__5: + switch ( getInterpreter().adaptivePredict(_input,27,_ctx) ) { + case 1: enterOuterAlt(_localctx, 1); { - setState(257); + setState(261); maxlength(); } break; - case T__8: + case 2: enterOuterAlt(_localctx, 2); { - setState(258); + setState(262); maxcount(); } break; - case T__9: + case 3: enterOuterAlt(_localctx, 3); { - setState(259); - defaultval(); + setState(263); + setdefaultvalall(); } break; - case T__10: + case 4: enterOuterAlt(_localctx, 4); { - setState(260); - xpath(); + setState(264); + setdefaultval(); } break; - case T__11: + case 5: enterOuterAlt(_localctx, 5); { - setState(261); - xmldefaultval(); + setState(265); + defaultval(); } break; - case T__6: - case T__7: + case 6: enterOuterAlt(_localctx, 6); { - setState(262); + setState(266); + xpath(); + } + break; + case 7: + enterOuterAlt(_localctx, 7); + { + setState(267); + xmldefaultval(); + } + break; + case 8: + enterOuterAlt(_localctx, 8); + { + setState(268); blob(); } break; - default: - throw new NoViableAltException(this); } } catch (RecognitionException re) { @@ -1693,42 +1711,42 @@ public final MaxlengthContext maxlength() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(277); + setState(283); _errHandler.sync(this); switch (_input.LA(1)) { case T__2: { - setState(265); + setState(271); match(T__2); - setState(266); + setState(272); match(OPAREN); - setState(267); + setState(273); match(INT); - setState(268); + setState(274); match(CPAREN); } break; case T__3: { - setState(269); + setState(275); match(T__3); - setState(270); + setState(276); match(OPAREN); - setState(271); + setState(277); match(INT); - setState(272); + setState(278); match(CPAREN); } break; case T__5: { - setState(273); + setState(279); match(T__5); - setState(274); + setState(280); match(OPAREN); - setState(275); + setState(281); match(INT); - setState(276); + setState(282); match(CPAREN); } break; @@ -1770,7 +1788,7 @@ public final BlobContext blob() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(279); + setState(285); _la = _input.LA(1); if ( !(_la==T__6 || _la==T__7) ) { _errHandler.recoverInline(this); @@ -1817,13 +1835,13 @@ public final MaxcountContext maxcount() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(281); + setState(287); match(T__8); - setState(282); + setState(288); match(OPAREN); - setState(283); + setState(289); match(INT); - setState(284); + setState(290); match(CPAREN); } } @@ -1862,15 +1880,17 @@ public final DefaultvalContext defaultval() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(286); + { + setState(292); match(T__9); - setState(287); + setState(293); match(OPAREN); - setState(288); + setState(294); match(STRING); - setState(289); + setState(295); match(CPAREN); } + } } catch (RecognitionException re) { _localctx.exception = re; @@ -1907,13 +1927,13 @@ public final XpathContext xpath() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(291); + setState(297); match(T__10); - setState(292); + setState(298); match(OPAREN); - setState(293); + setState(299); match(STRING); - setState(294); + setState(300); match(CPAREN); } } @@ -1952,13 +1972,102 @@ public final XmldefaultvalContext xmldefaultval() throws RecognitionException { try { enterOuterAlt(_localctx, 1); { - setState(296); + setState(302); match(T__11); - setState(297); + setState(303); match(OPAREN); - setState(298); + setState(304); match(STRING); - setState(299); + setState(305); + match(CPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SetdefaultvalContext extends ParserRuleContext { + public TerminalNode OPAREN() { return getToken(EclRecordParser.OPAREN, 0); } + public TerminalNode SETSTRING() { return getToken(EclRecordParser.SETSTRING, 0); } + public TerminalNode CPAREN() { return getToken(EclRecordParser.CPAREN, 0); } + public SetdefaultvalContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_setdefaultval; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof EclRecordListener ) ((EclRecordListener)listener).enterSetdefaultval(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof EclRecordListener ) ((EclRecordListener)listener).exitSetdefaultval(this); + } + } + + public final SetdefaultvalContext setdefaultval() throws RecognitionException { + SetdefaultvalContext _localctx = new SetdefaultvalContext(_ctx, getState()); + enterRule(_localctx, 54, RULE_setdefaultval); + try { + enterOuterAlt(_localctx, 1); + { + setState(307); + match(T__9); + setState(308); + match(OPAREN); + setState(309); + match(SETSTRING); + setState(310); + match(CPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } + finally { + exitRule(); + } + return _localctx; + } + + public static class SetdefaultvalallContext extends ParserRuleContext { + public TerminalNode OPAREN() { return getToken(EclRecordParser.OPAREN, 0); } + public TerminalNode CPAREN() { return getToken(EclRecordParser.CPAREN, 0); } + public SetdefaultvalallContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + @Override public int getRuleIndex() { return RULE_setdefaultvalall; } + @Override + public void enterRule(ParseTreeListener listener) { + if ( listener instanceof EclRecordListener ) ((EclRecordListener)listener).enterSetdefaultvalall(this); + } + @Override + public void exitRule(ParseTreeListener listener) { + if ( listener instanceof EclRecordListener ) ((EclRecordListener)listener).exitSetdefaultvalall(this); + } + } + + public final SetdefaultvalallContext setdefaultvalall() throws RecognitionException { + SetdefaultvalallContext _localctx = new SetdefaultvalallContext(_ctx, getState()); + enterRule(_localctx, 56, RULE_setdefaultvalall); + try { + enterOuterAlt(_localctx, 1); + { + setState(312); + match(T__9); + setState(313); + match(OPAREN); + setState(314); + match(T__12); + setState(315); match(CPAREN); } } @@ -1991,11 +2100,11 @@ public void exitRule(ParseTreeListener listener) { public final Annotation_nameContext annotation_name() throws RecognitionException { Annotation_nameContext _localctx = new Annotation_nameContext(_ctx, getState()); - enterRule(_localctx, 54, RULE_annotation_name); + enterRule(_localctx, 58, RULE_annotation_name); try { enterOuterAlt(_localctx, 1); { - setState(301); + setState(317); match(ATOKEN); } } @@ -2029,12 +2138,12 @@ public void exitRule(ParseTreeListener listener) { public final Annotation_paramContext annotation_param() throws RecognitionException { Annotation_paramContext _localctx = new Annotation_paramContext(_ctx, getState()); - enterRule(_localctx, 56, RULE_annotation_param); + enterRule(_localctx, 60, RULE_annotation_param); int _la; try { enterOuterAlt(_localctx, 1); { - setState(303); + setState(319); _la = _input.LA(1); if ( !(_la==TOKEN || _la==UTOKEN) ) { _errHandler.recoverInline(this); @@ -2084,26 +2193,26 @@ public void exitRule(ParseTreeListener listener) { public final Annotation_argumentsContext annotation_arguments() throws RecognitionException { Annotation_argumentsContext _localctx = new Annotation_argumentsContext(_ctx, getState()); - enterRule(_localctx, 58, RULE_annotation_arguments); + enterRule(_localctx, 62, RULE_annotation_arguments); int _la; try { enterOuterAlt(_localctx, 1); { - setState(305); + setState(321); annotation_param(); - setState(310); + setState(326); _errHandler.sync(this); _la = _input.LA(1); while (_la==COMMA) { { { - setState(306); + setState(322); match(COMMA); - setState(307); + setState(323); annotation_param(); } } - setState(312); + setState(328); _errHandler.sync(this); _la = _input.LA(1); } @@ -2145,22 +2254,22 @@ public void exitRule(ParseTreeListener listener) { public final AnnotationContext annotation() throws RecognitionException { AnnotationContext _localctx = new AnnotationContext(_ctx, getState()); - enterRule(_localctx, 60, RULE_annotation); + enterRule(_localctx, 64, RULE_annotation); try { enterOuterAlt(_localctx, 1); { - setState(313); + setState(329); annotation_name(); - setState(318); + setState(334); _errHandler.sync(this); switch ( getInterpreter().adaptivePredict(_input,30,_ctx) ) { case 1: { - setState(314); + setState(330); match(OPAREN); - setState(315); + setState(331); annotation_arguments(); - setState(316); + setState(332); match(CPAREN); } break; @@ -2205,144 +2314,144 @@ public void exitRule(ParseTreeListener listener) { public final CommentContext comment() throws RecognitionException { CommentContext _localctx = new CommentContext(_ctx, getState()); - enterRule(_localctx, 62, RULE_comment); + enterRule(_localctx, 66, RULE_comment); try { int _alt; - setState(364); + setState(380); _errHandler.sync(this); switch (_input.LA(1)) { - case T__12: + case T__13: enterOuterAlt(_localctx, 1); { { - setState(320); - match(T__12); - setState(322); + setState(336); + match(T__13); + setState(338); _errHandler.sync(this); switch ( getInterpreter().adaptivePredict(_input,31,_ctx) ) { case 1: { - setState(321); + setState(337); annotation(); } break; } - setState(328); + setState(344); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,32,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(324); + setState(340); match(COMMA); - setState(325); + setState(341); annotation(); } } } - setState(330); + setState(346); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,32,_ctx); } - setState(334); + setState(350); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,33,_ctx); while ( _alt!=1 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1+1 ) { { { - setState(331); + setState(347); matchWildcard(); } } } - setState(336); + setState(352); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,33,_ctx); } } } break; - case T__13: + case T__14: enterOuterAlt(_localctx, 2); { { - setState(337); - match(T__13); - setState(339); + setState(353); + match(T__14); + setState(355); _errHandler.sync(this); switch ( getInterpreter().adaptivePredict(_input,34,_ctx) ) { case 1: { - setState(338); + setState(354); annotation(); } break; } - setState(345); + setState(361); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,35,_ctx); while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1 ) { { { - setState(341); + setState(357); match(COMMA); - setState(342); + setState(358); annotation(); } } } - setState(347); + setState(363); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,35,_ctx); } - setState(351); + setState(367); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,36,_ctx); while ( _alt!=1 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1+1 ) { { { - setState(348); + setState(364); matchWildcard(); } } } - setState(353); + setState(369); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,36,_ctx); } - setState(362); + setState(378); _errHandler.sync(this); switch ( getInterpreter().adaptivePredict(_input,38,_ctx) ) { case 1: { - setState(357); + setState(373); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,37,_ctx); while ( _alt!=1 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) { if ( _alt==1+1 ) { { { - setState(354); + setState(370); matchWildcard(); } } } - setState(359); + setState(375); _errHandler.sync(this); _alt = getInterpreter().adaptivePredict(_input,37,_ctx); } - setState(360); - match(T__14); + setState(376); + match(T__15); } break; case 2: { - setState(361); - match(T__14); + setState(377); + match(T__15); } break; } @@ -2365,7 +2474,7 @@ public final CommentContext comment() throws RecognitionException { } public static final String _serializedATN = - "\u0004\u0001!\u016f\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002"+ + "\u0004\u0001&\u017f\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002"+ "\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004\u0002"+ "\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007\u0002"+ "\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b\u0007\u000b\u0002"+ @@ -2375,236 +2484,241 @@ public final CommentContext comment() throws RecognitionException { "\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002\u0018\u0007\u0018"+ "\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002\u001b\u0007\u001b"+ "\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002\u001e\u0007\u001e"+ - "\u0002\u001f\u0007\u001f\u0001\u0000\u0001\u0000\u0005\u0000C\b\u0000"+ - "\n\u0000\f\u0000F\t\u0000\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0002"+ - "\u0001\u0002\u0005\u0002M\b\u0002\n\u0002\f\u0002P\t\u0002\u0001\u0003"+ - "\u0001\u0003\u0001\u0003\u0005\u0003U\b\u0003\n\u0003\f\u0003X\t\u0003"+ - "\u0001\u0004\u0001\u0004\u0001\u0004\u0001\u0004\u0001\u0005\u0001\u0005"+ - "\u0001\u0005\u0005\u0005a\b\u0005\n\u0005\f\u0005d\t\u0005\u0001\u0006"+ - "\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0003\u0006"+ - "l\b\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006"+ - "\u0001\u0006\u0003\u0006t\b\u0006\u0001\u0007\u0003\u0007w\b\u0007\u0001"+ - "\u0007\u0001\u0007\u0001\b\u0001\b\u0001\t\u0001\t\u0001\t\u0001\t\u0001"+ - "\n\u0001\n\u0001\u000b\u0001\u000b\u0001\u000b\u0003\u000b\u0086\b\u000b"+ - "\u0001\u000b\u0001\u000b\u0005\u000b\u008a\b\u000b\n\u000b\f\u000b\u008d"+ - "\t\u000b\u0001\u000b\u0005\u000b\u0090\b\u000b\n\u000b\f\u000b\u0093\t"+ - "\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0001\f\u0001\f\u0001\f\u0003"+ - "\f\u009b\b\f\u0001\f\u0003\f\u009e\b\f\u0001\f\u0001\f\u0001\f\u0003\f"+ - "\u00a3\b\f\u0001\f\u0001\f\u0001\f\u0003\f\u00a8\b\f\u0005\f\u00aa\b\f"+ - "\n\f\f\f\u00ad\t\f\u0001\f\u0001\f\u0001\f\u0001\r\u0001\r\u0001\r\u0001"+ - "\r\u0003\r\u00b6\b\r\u0001\u000e\u0001\u000e\u0001\u000e\u0003\u000e\u00bb"+ - "\b\u000e\u0001\u000e\u0003\u000e\u00be\b\u000e\u0001\u000e\u0001\u000e"+ - "\u0001\u000e\u0003\u000e\u00c3\b\u000e\u0001\u000e\u0001\u000e\u0001\u000e"+ - "\u0003\u000e\u00c8\b\u000e\u0005\u000e\u00ca\b\u000e\n\u000e\f\u000e\u00cd"+ - "\t\u000e\u0001\u000e\u0001\u000e\u0001\u000f\u0001\u000f\u0001\u000f\u0001"+ - "\u000f\u0005\u000f\u00d5\b\u000f\n\u000f\f\u000f\u00d8\t\u000f\u0001\u000f"+ - "\u0001\u000f\u0001\u0010\u0001\u0010\u0001\u0010\u0003\u0010\u00df\b\u0010"+ + "\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007!\u0001\u0000\u0001"+ + "\u0000\u0005\u0000G\b\u0000\n\u0000\f\u0000J\t\u0000\u0001\u0001\u0001"+ + "\u0001\u0001\u0002\u0001\u0002\u0001\u0002\u0005\u0002Q\b\u0002\n\u0002"+ + "\f\u0002T\t\u0002\u0001\u0003\u0001\u0003\u0001\u0003\u0005\u0003Y\b\u0003"+ + "\n\u0003\f\u0003\\\t\u0003\u0001\u0004\u0001\u0004\u0001\u0004\u0001\u0004"+ + "\u0001\u0005\u0001\u0005\u0001\u0005\u0005\u0005e\b\u0005\n\u0005\f\u0005"+ + "h\t\u0005\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006\u0001\u0006"+ + "\u0001\u0006\u0003\u0006p\b\u0006\u0001\u0006\u0001\u0006\u0001\u0006"+ + "\u0001\u0006\u0001\u0006\u0001\u0006\u0003\u0006x\b\u0006\u0001\u0007"+ + "\u0003\u0007{\b\u0007\u0001\u0007\u0001\u0007\u0001\b\u0001\b\u0001\t"+ + "\u0001\t\u0001\t\u0001\t\u0001\n\u0001\n\u0001\u000b\u0001\u000b\u0001"+ + "\u000b\u0003\u000b\u008a\b\u000b\u0001\u000b\u0001\u000b\u0005\u000b\u008e"+ + "\b\u000b\n\u000b\f\u000b\u0091\t\u000b\u0001\u000b\u0005\u000b\u0094\b"+ + "\u000b\n\u000b\f\u000b\u0097\t\u000b\u0001\u000b\u0001\u000b\u0001\u000b"+ + "\u0001\f\u0001\f\u0001\f\u0003\f\u009f\b\f\u0001\f\u0003\f\u00a2\b\f\u0001"+ + "\f\u0001\f\u0001\f\u0003\f\u00a7\b\f\u0001\f\u0001\f\u0001\f\u0003\f\u00ac"+ + "\b\f\u0005\f\u00ae\b\f\n\f\f\f\u00b1\t\f\u0001\f\u0001\f\u0001\f\u0001"+ + "\r\u0001\r\u0001\r\u0001\r\u0003\r\u00ba\b\r\u0001\u000e\u0001\u000e\u0001"+ + "\u000e\u0003\u000e\u00bf\b\u000e\u0001\u000e\u0003\u000e\u00c2\b\u000e"+ + "\u0001\u000e\u0001\u000e\u0001\u000e\u0003\u000e\u00c7\b\u000e\u0001\u000e"+ + "\u0001\u000e\u0001\u000e\u0003\u000e\u00cc\b\u000e\u0005\u000e\u00ce\b"+ + "\u000e\n\u000e\f\u000e\u00d1\t\u000e\u0001\u000e\u0001\u000e\u0001\u000f"+ + "\u0001\u000f\u0001\u000f\u0001\u000f\u0005\u000f\u00d9\b\u000f\n\u000f"+ + "\f\u000f\u00dc\t\u000f\u0001\u000f\u0001\u000f\u0001\u0010\u0001\u0010"+ + "\u0001\u0010\u0003\u0010\u00e3\b\u0010\u0001\u0011\u0001\u0011\u0001\u0011"+ "\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011\u0001\u0011"+ - "\u0001\u0011\u0001\u0011\u0001\u0011\u0003\u0011\u00ea\b\u0011\u0001\u0012"+ - "\u0001\u0012\u0001\u0012\u0001\u0012\u0003\u0012\u00f0\b\u0012\u0001\u0012"+ - "\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0003\u0012"+ - "\u00f8\b\u0012\u0001\u0013\u0001\u0013\u0001\u0013\u0005\u0013\u00fd\b"+ - "\u0013\n\u0013\f\u0013\u0100\t\u0013\u0001\u0014\u0001\u0014\u0001\u0014"+ - "\u0001\u0014\u0001\u0014\u0001\u0014\u0003\u0014\u0108\b\u0014\u0001\u0015"+ - "\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015"+ - "\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0003\u0015"+ - "\u0116\b\u0015\u0001\u0016\u0001\u0016\u0001\u0017\u0001\u0017\u0001\u0017"+ - "\u0001\u0017\u0001\u0017\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018"+ - "\u0001\u0018\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019"+ - "\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001b"+ - "\u0001\u001b\u0001\u001c\u0001\u001c\u0001\u001d\u0001\u001d\u0001\u001d"+ - "\u0005\u001d\u0135\b\u001d\n\u001d\f\u001d\u0138\t\u001d\u0001\u001e\u0001"+ - "\u001e\u0001\u001e\u0001\u001e\u0001\u001e\u0003\u001e\u013f\b\u001e\u0001"+ - "\u001f\u0001\u001f\u0003\u001f\u0143\b\u001f\u0001\u001f\u0001\u001f\u0005"+ - "\u001f\u0147\b\u001f\n\u001f\f\u001f\u014a\t\u001f\u0001\u001f\u0005\u001f"+ - "\u014d\b\u001f\n\u001f\f\u001f\u0150\t\u001f\u0001\u001f\u0001\u001f\u0003"+ - "\u001f\u0154\b\u001f\u0001\u001f\u0001\u001f\u0005\u001f\u0158\b\u001f"+ - "\n\u001f\f\u001f\u015b\t\u001f\u0001\u001f\u0005\u001f\u015e\b\u001f\n"+ - "\u001f\f\u001f\u0161\t\u001f\u0001\u001f\u0005\u001f\u0164\b\u001f\n\u001f"+ - "\f\u001f\u0167\t\u001f\u0001\u001f\u0001\u001f\u0003\u001f\u016b\b\u001f"+ - "\u0003\u001f\u016d\b\u001f\u0001\u001f\u0003\u014e\u015f\u0165\u0000 "+ - "\u0000\u0002\u0004\u0006\b\n\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a"+ - "\u001c\u001e \"$&(*,.02468:<>\u0000\u0005\u0002\u0000\u001c\u001d\u001f"+ - " \u0001\u0000\u0001\u0002\u0001\u0000\u001f \u0002\u0000\u0003\u0004\u001f"+ - " \u0001\u0000\u0007\b\u017f\u0000@\u0001\u0000\u0000\u0000\u0002G\u0001"+ - "\u0000\u0000\u0000\u0004I\u0001\u0000\u0000\u0000\u0006Q\u0001\u0000\u0000"+ - "\u0000\bY\u0001\u0000\u0000\u0000\n]\u0001\u0000\u0000\u0000\fs\u0001"+ - "\u0000\u0000\u0000\u000ev\u0001\u0000\u0000\u0000\u0010z\u0001\u0000\u0000"+ - "\u0000\u0012|\u0001\u0000\u0000\u0000\u0014\u0080\u0001\u0000\u0000\u0000"+ - "\u0016\u0082\u0001\u0000\u0000\u0000\u0018\u0097\u0001\u0000\u0000\u0000"+ - "\u001a\u00b1\u0001\u0000\u0000\u0000\u001c\u00b7\u0001\u0000\u0000\u0000"+ - "\u001e\u00d0\u0001\u0000\u0000\u0000 \u00de\u0001\u0000\u0000\u0000\""+ - "\u00e0\u0001\u0000\u0000\u0000$\u00eb\u0001\u0000\u0000\u0000&\u00f9\u0001"+ - "\u0000\u0000\u0000(\u0107\u0001\u0000\u0000\u0000*\u0115\u0001\u0000\u0000"+ - "\u0000,\u0117\u0001\u0000\u0000\u0000.\u0119\u0001\u0000\u0000\u00000"+ - "\u011e\u0001\u0000\u0000\u00002\u0123\u0001\u0000\u0000\u00004\u0128\u0001"+ - "\u0000\u0000\u00006\u012d\u0001\u0000\u0000\u00008\u012f\u0001\u0000\u0000"+ - "\u0000:\u0131\u0001\u0000\u0000\u0000<\u0139\u0001\u0000\u0000\u0000>"+ - "\u016c\u0001\u0000\u0000\u0000@D\u0003 \u0010\u0000AC\u0003 \u0010\u0000"+ - "BA\u0001\u0000\u0000\u0000CF\u0001\u0000\u0000\u0000DB\u0001\u0000\u0000"+ - "\u0000DE\u0001\u0000\u0000\u0000E\u0001\u0001\u0000\u0000\u0000FD\u0001"+ - "\u0000\u0000\u0000GH\u0007\u0000\u0000\u0000H\u0003\u0001\u0000\u0000"+ - "\u0000IN\u0003\u0002\u0001\u0000JK\u0005\u0014\u0000\u0000KM\u0003\u0002"+ - "\u0001\u0000LJ\u0001\u0000\u0000\u0000MP\u0001\u0000\u0000\u0000NL\u0001"+ - "\u0000\u0000\u0000NO\u0001\u0000\u0000\u0000O\u0005\u0001\u0000\u0000"+ - "\u0000PN\u0001\u0000\u0000\u0000QV\u0005\u001f\u0000\u0000RS\u0005\u0014"+ - "\u0000\u0000SU\u0005\u001f\u0000\u0000TR\u0001\u0000\u0000\u0000UX\u0001"+ - "\u0000\u0000\u0000VT\u0001\u0000\u0000\u0000VW\u0001\u0000\u0000\u0000"+ - "W\u0007\u0001\u0000\u0000\u0000XV\u0001\u0000\u0000\u0000YZ\u0003\u0002"+ - "\u0001\u0000Z[\u0005\u0016\u0000\u0000[\\\u0003\u0004\u0002\u0000\\\t"+ - "\u0001\u0000\u0000\u0000]b\u0003\b\u0004\u0000^_\u0005\u0014\u0000\u0000"+ - "_a\u0003\b\u0004\u0000`^\u0001\u0000\u0000\u0000ad\u0001\u0000\u0000\u0000"+ - "b`\u0001\u0000\u0000\u0000bc\u0001\u0000\u0000\u0000c\u000b\u0001\u0000"+ - "\u0000\u0000db\u0001\u0000\u0000\u0000ef\u0003\u000e\u0007\u0000fk\u0003"+ - "\u0010\b\u0000gh\u0005\u0012\u0000\u0000hi\u0003&\u0013\u0000ij\u0005"+ - "\u0013\u0000\u0000jl\u0001\u0000\u0000\u0000kg\u0001\u0000\u0000\u0000"+ - "kl\u0001\u0000\u0000\u0000lt\u0001\u0000\u0000\u0000mt\u0003\"\u0011\u0000"+ - "nt\u0003$\u0012\u0000op\u0003\u001e\u000f\u0000pq\u0003\u0010\b\u0000"+ - "qt\u0001\u0000\u0000\u0000rt\u0003\u0012\t\u0000se\u0001\u0000\u0000\u0000"+ - "sm\u0001\u0000\u0000\u0000sn\u0001\u0000\u0000\u0000so\u0001\u0000\u0000"+ - "\u0000sr\u0001\u0000\u0000\u0000t\r\u0001\u0000\u0000\u0000uw\u0007\u0001"+ - "\u0000\u0000vu\u0001\u0000\u0000\u0000vw\u0001\u0000\u0000\u0000wx\u0001"+ - "\u0000\u0000\u0000xy\u0007\u0002\u0000\u0000y\u000f\u0001\u0000\u0000"+ - "\u0000z{\u0007\u0003\u0000\u0000{\u0011\u0001\u0000\u0000\u0000|}\u0005"+ - "\u0010\u0000\u0000}~\u0005\u001f\u0000\u0000~\u007f\u0005\u0011\u0000"+ - "\u0000\u007f\u0013\u0001\u0000\u0000\u0000\u0080\u0081\u0005\u0005\u0000"+ - "\u0000\u0081\u0015\u0001\u0000\u0000\u0000\u0082\u0085\u0005\u0012\u0000"+ - "\u0000\u0083\u0084\u0005\u0014\u0000\u0000\u0084\u0086\u0003*\u0015\u0000"+ - "\u0085\u0083\u0001\u0000\u0000\u0000\u0085\u0086\u0001\u0000\u0000\u0000"+ - "\u0086\u0087\u0001\u0000\u0000\u0000\u0087\u0091\u0003\f\u0006\u0000\u0088"+ - "\u008a\u0005\u0014\u0000\u0000\u0089\u0088\u0001\u0000\u0000\u0000\u008a"+ - "\u008d\u0001\u0000\u0000\u0000\u008b\u0089\u0001\u0000\u0000\u0000\u008b"+ - "\u008c\u0001\u0000\u0000\u0000\u008c\u008e\u0001\u0000\u0000\u0000\u008d"+ - "\u008b\u0001\u0000\u0000\u0000\u008e\u0090\u0003\f\u0006\u0000\u008f\u008b"+ - "\u0001\u0000\u0000\u0000\u0090\u0093\u0001\u0000\u0000\u0000\u0091\u008f"+ - "\u0001\u0000\u0000\u0000\u0091\u0092\u0001\u0000\u0000\u0000\u0092\u0094"+ - "\u0001\u0000\u0000\u0000\u0093\u0091\u0001\u0000\u0000\u0000\u0094\u0095"+ - "\u0005\u0013\u0000\u0000\u0095\u0096\u0005\u0015\u0000\u0000\u0096\u0017"+ - "\u0001\u0000\u0000\u0000\u0097\u009a\u0005\u0018\u0000\u0000\u0098\u0099"+ - "\u0005\u0014\u0000\u0000\u0099\u009b\u0003*\u0015\u0000\u009a\u0098\u0001"+ - "\u0000\u0000\u0000\u009a\u009b\u0001\u0000\u0000\u0000\u009b\u009d\u0001"+ - "\u0000\u0000\u0000\u009c\u009e\u0003>\u001f\u0000\u009d\u009c\u0001\u0000"+ - "\u0000\u0000\u009d\u009e\u0001\u0000\u0000\u0000\u009e\u009f\u0001\u0000"+ - "\u0000\u0000\u009f\u00a0\u0003\f\u0006\u0000\u00a0\u00a2\u0005\u0015\u0000"+ - "\u0000\u00a1\u00a3\u0003>\u001f\u0000\u00a2\u00a1\u0001\u0000\u0000\u0000"+ - "\u00a2\u00a3\u0001\u0000\u0000\u0000\u00a3\u00ab\u0001\u0000\u0000\u0000"+ - "\u00a4\u00a5\u0003\f\u0006\u0000\u00a5\u00a7\u0005\u0015\u0000\u0000\u00a6"+ - "\u00a8\u0003>\u001f\u0000\u00a7\u00a6\u0001\u0000\u0000\u0000\u00a7\u00a8"+ - "\u0001\u0000\u0000\u0000\u00a8\u00aa\u0001\u0000\u0000\u0000\u00a9\u00a4"+ - "\u0001\u0000\u0000\u0000\u00aa\u00ad\u0001\u0000\u0000\u0000\u00ab\u00a9"+ + "\u0003\u0011\u00ee\b\u0011\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012"+ + "\u0003\u0012\u00f4\b\u0012\u0001\u0012\u0001\u0012\u0001\u0012\u0001\u0012"+ + "\u0001\u0012\u0001\u0012\u0003\u0012\u00fc\b\u0012\u0001\u0013\u0001\u0013"+ + "\u0001\u0013\u0005\u0013\u0101\b\u0013\n\u0013\f\u0013\u0104\t\u0013\u0001"+ + "\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001\u0014\u0001"+ + "\u0014\u0001\u0014\u0003\u0014\u010e\b\u0014\u0001\u0015\u0001\u0015\u0001"+ + "\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0001"+ + "\u0015\u0001\u0015\u0001\u0015\u0001\u0015\u0003\u0015\u011c\b\u0015\u0001"+ + "\u0016\u0001\u0016\u0001\u0017\u0001\u0017\u0001\u0017\u0001\u0017\u0001"+ + "\u0017\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0001\u0018\u0001"+ + "\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u0019\u0001\u001a\u0001"+ + "\u001a\u0001\u001a\u0001\u001a\u0001\u001a\u0001\u001b\u0001\u001b\u0001"+ + "\u001b\u0001\u001b\u0001\u001b\u0001\u001c\u0001\u001c\u0001\u001c\u0001"+ + "\u001c\u0001\u001c\u0001\u001d\u0001\u001d\u0001\u001e\u0001\u001e\u0001"+ + "\u001f\u0001\u001f\u0001\u001f\u0005\u001f\u0145\b\u001f\n\u001f\f\u001f"+ + "\u0148\t\u001f\u0001 \u0001 \u0001 \u0001 \u0001 \u0003 \u014f\b \u0001"+ + "!\u0001!\u0003!\u0153\b!\u0001!\u0001!\u0005!\u0157\b!\n!\f!\u015a\t!"+ + "\u0001!\u0005!\u015d\b!\n!\f!\u0160\t!\u0001!\u0001!\u0003!\u0164\b!\u0001"+ + "!\u0001!\u0005!\u0168\b!\n!\f!\u016b\t!\u0001!\u0005!\u016e\b!\n!\f!\u0171"+ + "\t!\u0001!\u0005!\u0174\b!\n!\f!\u0177\t!\u0001!\u0001!\u0003!\u017b\b"+ + "!\u0003!\u017d\b!\u0001!\u0003\u015e\u016f\u0175\u0000\"\u0000\u0002\u0004"+ + "\u0006\b\n\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e \""+ + "$&(*,.02468:<>@B\u0000\u0005\u0003\u0000\u001f\u001f!!#$\u0001\u0000\u0001"+ + "\u0002\u0001\u0000#$\u0002\u0000\u0003\u0004#$\u0001\u0000\u0007\b\u018f"+ + "\u0000D\u0001\u0000\u0000\u0000\u0002K\u0001\u0000\u0000\u0000\u0004M"+ + "\u0001\u0000\u0000\u0000\u0006U\u0001\u0000\u0000\u0000\b]\u0001\u0000"+ + "\u0000\u0000\na\u0001\u0000\u0000\u0000\fw\u0001\u0000\u0000\u0000\u000e"+ + "z\u0001\u0000\u0000\u0000\u0010~\u0001\u0000\u0000\u0000\u0012\u0080\u0001"+ + "\u0000\u0000\u0000\u0014\u0084\u0001\u0000\u0000\u0000\u0016\u0086\u0001"+ + "\u0000\u0000\u0000\u0018\u009b\u0001\u0000\u0000\u0000\u001a\u00b5\u0001"+ + "\u0000\u0000\u0000\u001c\u00bb\u0001\u0000\u0000\u0000\u001e\u00d4\u0001"+ + "\u0000\u0000\u0000 \u00e2\u0001\u0000\u0000\u0000\"\u00e4\u0001\u0000"+ + "\u0000\u0000$\u00ef\u0001\u0000\u0000\u0000&\u00fd\u0001\u0000\u0000\u0000"+ + "(\u010d\u0001\u0000\u0000\u0000*\u011b\u0001\u0000\u0000\u0000,\u011d"+ + "\u0001\u0000\u0000\u0000.\u011f\u0001\u0000\u0000\u00000\u0124\u0001\u0000"+ + "\u0000\u00002\u0129\u0001\u0000\u0000\u00004\u012e\u0001\u0000\u0000\u0000"+ + "6\u0133\u0001\u0000\u0000\u00008\u0138\u0001\u0000\u0000\u0000:\u013d"+ + "\u0001\u0000\u0000\u0000<\u013f\u0001\u0000\u0000\u0000>\u0141\u0001\u0000"+ + "\u0000\u0000@\u0149\u0001\u0000\u0000\u0000B\u017c\u0001\u0000\u0000\u0000"+ + "DH\u0003 \u0010\u0000EG\u0003 \u0010\u0000FE\u0001\u0000\u0000\u0000G"+ + "J\u0001\u0000\u0000\u0000HF\u0001\u0000\u0000\u0000HI\u0001\u0000\u0000"+ + "\u0000I\u0001\u0001\u0000\u0000\u0000JH\u0001\u0000\u0000\u0000KL\u0007"+ + "\u0000\u0000\u0000L\u0003\u0001\u0000\u0000\u0000MR\u0003\u0002\u0001"+ + "\u0000NO\u0005\u0017\u0000\u0000OQ\u0003\u0002\u0001\u0000PN\u0001\u0000"+ + "\u0000\u0000QT\u0001\u0000\u0000\u0000RP\u0001\u0000\u0000\u0000RS\u0001"+ + "\u0000\u0000\u0000S\u0005\u0001\u0000\u0000\u0000TR\u0001\u0000\u0000"+ + "\u0000UZ\u0005#\u0000\u0000VW\u0005\u0017\u0000\u0000WY\u0005#\u0000\u0000"+ + "XV\u0001\u0000\u0000\u0000Y\\\u0001\u0000\u0000\u0000ZX\u0001\u0000\u0000"+ + "\u0000Z[\u0001\u0000\u0000\u0000[\u0007\u0001\u0000\u0000\u0000\\Z\u0001"+ + "\u0000\u0000\u0000]^\u0003\u0002\u0001\u0000^_\u0005\u0019\u0000\u0000"+ + "_`\u0003\u0004\u0002\u0000`\t\u0001\u0000\u0000\u0000af\u0003\b\u0004"+ + "\u0000bc\u0005\u0017\u0000\u0000ce\u0003\b\u0004\u0000db\u0001\u0000\u0000"+ + "\u0000eh\u0001\u0000\u0000\u0000fd\u0001\u0000\u0000\u0000fg\u0001\u0000"+ + "\u0000\u0000g\u000b\u0001\u0000\u0000\u0000hf\u0001\u0000\u0000\u0000"+ + "ij\u0003\u000e\u0007\u0000jo\u0003\u0010\b\u0000kl\u0005\u0015\u0000\u0000"+ + "lm\u0003&\u0013\u0000mn\u0005\u0016\u0000\u0000np\u0001\u0000\u0000\u0000"+ + "ok\u0001\u0000\u0000\u0000op\u0001\u0000\u0000\u0000px\u0001\u0000\u0000"+ + "\u0000qx\u0003\"\u0011\u0000rx\u0003$\u0012\u0000st\u0003\u001e\u000f"+ + "\u0000tu\u0003\u0010\b\u0000ux\u0001\u0000\u0000\u0000vx\u0003\u0012\t"+ + "\u0000wi\u0001\u0000\u0000\u0000wq\u0001\u0000\u0000\u0000wr\u0001\u0000"+ + "\u0000\u0000ws\u0001\u0000\u0000\u0000wv\u0001\u0000\u0000\u0000x\r\u0001"+ + "\u0000\u0000\u0000y{\u0007\u0001\u0000\u0000zy\u0001\u0000\u0000\u0000"+ + "z{\u0001\u0000\u0000\u0000{|\u0001\u0000\u0000\u0000|}\u0007\u0002\u0000"+ + "\u0000}\u000f\u0001\u0000\u0000\u0000~\u007f\u0007\u0003\u0000\u0000\u007f"+ + "\u0011\u0001\u0000\u0000\u0000\u0080\u0081\u0005\u0013\u0000\u0000\u0081"+ + "\u0082\u0005#\u0000\u0000\u0082\u0083\u0005\u0014\u0000\u0000\u0083\u0013"+ + "\u0001\u0000\u0000\u0000\u0084\u0085\u0005\u0005\u0000\u0000\u0085\u0015"+ + "\u0001\u0000\u0000\u0000\u0086\u0089\u0005\u0015\u0000\u0000\u0087\u0088"+ + "\u0005\u0017\u0000\u0000\u0088\u008a\u0003*\u0015\u0000\u0089\u0087\u0001"+ + "\u0000\u0000\u0000\u0089\u008a\u0001\u0000\u0000\u0000\u008a\u008b\u0001"+ + "\u0000\u0000\u0000\u008b\u0095\u0003\f\u0006\u0000\u008c\u008e\u0005\u0017"+ + "\u0000\u0000\u008d\u008c\u0001\u0000\u0000\u0000\u008e\u0091\u0001\u0000"+ + "\u0000\u0000\u008f\u008d\u0001\u0000\u0000\u0000\u008f\u0090\u0001\u0000"+ + "\u0000\u0000\u0090\u0092\u0001\u0000\u0000\u0000\u0091\u008f\u0001\u0000"+ + "\u0000\u0000\u0092\u0094\u0003\f\u0006\u0000\u0093\u008f\u0001\u0000\u0000"+ + "\u0000\u0094\u0097\u0001\u0000\u0000\u0000\u0095\u0093\u0001\u0000\u0000"+ + "\u0000\u0095\u0096\u0001\u0000\u0000\u0000\u0096\u0098\u0001\u0000\u0000"+ + "\u0000\u0097\u0095\u0001\u0000\u0000\u0000\u0098\u0099\u0005\u0016\u0000"+ + "\u0000\u0099\u009a\u0005\u0018\u0000\u0000\u009a\u0017\u0001\u0000\u0000"+ + "\u0000\u009b\u009e\u0005\u001b\u0000\u0000\u009c\u009d\u0005\u0017\u0000"+ + "\u0000\u009d\u009f\u0003*\u0015\u0000\u009e\u009c\u0001\u0000\u0000\u0000"+ + "\u009e\u009f\u0001\u0000\u0000\u0000\u009f\u00a1\u0001\u0000\u0000\u0000"+ + "\u00a0\u00a2\u0003B!\u0000\u00a1\u00a0\u0001\u0000\u0000\u0000\u00a1\u00a2"+ + "\u0001\u0000\u0000\u0000\u00a2\u00a3\u0001\u0000\u0000\u0000\u00a3\u00a4"+ + "\u0003\f\u0006\u0000\u00a4\u00a6\u0005\u0018\u0000\u0000\u00a5\u00a7\u0003"+ + "B!\u0000\u00a6\u00a5\u0001\u0000\u0000\u0000\u00a6\u00a7\u0001\u0000\u0000"+ + "\u0000\u00a7\u00af\u0001\u0000\u0000\u0000\u00a8\u00a9\u0003\f\u0006\u0000"+ + "\u00a9\u00ab\u0005\u0018\u0000\u0000\u00aa\u00ac\u0003B!\u0000\u00ab\u00aa"+ "\u0001\u0000\u0000\u0000\u00ab\u00ac\u0001\u0000\u0000\u0000\u00ac\u00ae"+ - "\u0001\u0000\u0000\u0000\u00ad\u00ab\u0001\u0000\u0000\u0000\u00ae\u00af"+ - "\u0005\u0019\u0000\u0000\u00af\u00b0\u0005\u0015\u0000\u0000\u00b0\u0019"+ - "\u0001\u0000\u0000\u0000\u00b1\u00b2\u0007\u0002\u0000\u0000\u00b2\u00b5"+ - "\u0005\u0017\u0000\u0000\u00b3\u00b6\u0003\u0018\f\u0000\u00b4\u00b6\u0003"+ - "\u0016\u000b\u0000\u00b5\u00b3\u0001\u0000\u0000\u0000\u00b5\u00b4\u0001"+ - "\u0000\u0000\u0000\u00b6\u001b\u0001\u0000\u0000\u0000\u00b7\u00ba\u0005"+ - "\u0018\u0000\u0000\u00b8\u00b9\u0005\u0014\u0000\u0000\u00b9\u00bb\u0003"+ - "*\u0015\u0000\u00ba\u00b8\u0001\u0000\u0000\u0000\u00ba\u00bb\u0001\u0000"+ - "\u0000\u0000\u00bb\u00bd\u0001\u0000\u0000\u0000\u00bc\u00be\u0003>\u001f"+ - "\u0000\u00bd\u00bc\u0001\u0000\u0000\u0000\u00bd\u00be\u0001\u0000\u0000"+ - "\u0000\u00be\u00bf\u0001\u0000\u0000\u0000\u00bf\u00c0\u0003\f\u0006\u0000"+ - "\u00c0\u00c2\u0005\u0015\u0000\u0000\u00c1\u00c3\u0003>\u001f\u0000\u00c2"+ - "\u00c1\u0001\u0000\u0000\u0000\u00c2\u00c3\u0001\u0000\u0000\u0000\u00c3"+ - "\u00cb\u0001\u0000\u0000\u0000\u00c4\u00c5\u0003\f\u0006\u0000\u00c5\u00c7"+ - "\u0005\u0015\u0000\u0000\u00c6\u00c8\u0003>\u001f\u0000\u00c7\u00c6\u0001"+ - "\u0000\u0000\u0000\u00c7\u00c8\u0001\u0000\u0000\u0000\u00c8\u00ca\u0001"+ - "\u0000\u0000\u0000\u00c9\u00c4\u0001\u0000\u0000\u0000\u00ca\u00cd\u0001"+ - "\u0000\u0000\u0000\u00cb\u00c9\u0001\u0000\u0000\u0000\u00cb\u00cc\u0001"+ - "\u0000\u0000\u0000\u00cc\u00ce\u0001\u0000\u0000\u0000\u00cd\u00cb\u0001"+ - "\u0000\u0000\u0000\u00ce\u00cf\u0005\u0019\u0000\u0000\u00cf\u001d\u0001"+ - "\u0000\u0000\u0000\u00d0\u00d1\u0005\u0012\u0000\u0000\u00d1\u00d6\u0003"+ - "\f\u0006\u0000\u00d2\u00d3\u0005\u0014\u0000\u0000\u00d3\u00d5\u0003\f"+ - "\u0006\u0000\u00d4\u00d2\u0001\u0000\u0000\u0000\u00d5\u00d8\u0001\u0000"+ - "\u0000\u0000\u00d6\u00d4\u0001\u0000\u0000\u0000\u00d6\u00d7\u0001\u0000"+ - "\u0000\u0000\u00d7\u00d9\u0001\u0000\u0000\u0000\u00d8\u00d6\u0001\u0000"+ - "\u0000\u0000\u00d9\u00da\u0005\u0013\u0000\u0000\u00da\u001f\u0001\u0000"+ - "\u0000\u0000\u00db\u00df\u0003\u0016\u000b\u0000\u00dc\u00df\u0003\u0018"+ - "\f\u0000\u00dd\u00df\u0003\u001a\r\u0000\u00de\u00db\u0001\u0000\u0000"+ - "\u0000\u00de\u00dc\u0001\u0000\u0000\u0000\u00de\u00dd\u0001\u0000\u0000"+ - "\u0000\u00df!\u0001\u0000\u0000\u0000\u00e0\u00e1\u0005\u001a\u0000\u0000"+ - "\u00e1\u00e2\u0005\u0010\u0000\u0000\u00e2\u00e3\u0007\u0002\u0000\u0000"+ - "\u00e3\u00e4\u0005\u0011\u0000\u0000\u00e4\u00e9\u0007\u0002\u0000\u0000"+ - "\u00e5\u00e6\u0005\u0012\u0000\u0000\u00e6\u00e7\u0003&\u0013\u0000\u00e7"+ - "\u00e8\u0005\u0013\u0000\u0000\u00e8\u00ea\u0001\u0000\u0000\u0000\u00e9"+ - "\u00e5\u0001\u0000\u0000\u0000\u00e9\u00ea\u0001\u0000\u0000\u0000\u00ea"+ - "#\u0001\u0000\u0000\u0000\u00eb\u00ec\u0005\u001a\u0000\u0000\u00ec\u00ef"+ - "\u0005\u0010\u0000\u0000\u00ed\u00f0\u0003\u001c\u000e\u0000\u00ee\u00f0"+ - "\u0003\u001e\u000f\u0000\u00ef\u00ed\u0001\u0000\u0000\u0000\u00ef\u00ee"+ - "\u0001\u0000\u0000\u0000\u00f0\u00f1\u0001\u0000\u0000\u0000\u00f1\u00f2"+ - "\u0005\u0011\u0000\u0000\u00f2\u00f7\u0007\u0002\u0000\u0000\u00f3\u00f4"+ - "\u0005\u0012\u0000\u0000\u00f4\u00f5\u0003&\u0013\u0000\u00f5\u00f6\u0005"+ - "\u0013\u0000\u0000\u00f6\u00f8\u0001\u0000\u0000\u0000\u00f7\u00f3\u0001"+ - "\u0000\u0000\u0000\u00f7\u00f8\u0001\u0000\u0000\u0000\u00f8%\u0001\u0000"+ - "\u0000\u0000\u00f9\u00fe\u0003(\u0014\u0000\u00fa\u00fb\u0005\u0014\u0000"+ - "\u0000\u00fb\u00fd\u0003(\u0014\u0000\u00fc\u00fa\u0001\u0000\u0000\u0000"+ - "\u00fd\u0100\u0001\u0000\u0000\u0000\u00fe\u00fc\u0001\u0000\u0000\u0000"+ - "\u00fe\u00ff\u0001\u0000\u0000\u0000\u00ff\'\u0001\u0000\u0000\u0000\u0100"+ - "\u00fe\u0001\u0000\u0000\u0000\u0101\u0108\u0003*\u0015\u0000\u0102\u0108"+ - "\u0003.\u0017\u0000\u0103\u0108\u00030\u0018\u0000\u0104\u0108\u00032"+ - "\u0019\u0000\u0105\u0108\u00034\u001a\u0000\u0106\u0108\u0003,\u0016\u0000"+ - "\u0107\u0101\u0001\u0000\u0000\u0000\u0107\u0102\u0001\u0000\u0000\u0000"+ - "\u0107\u0103\u0001\u0000\u0000\u0000\u0107\u0104\u0001\u0000\u0000\u0000"+ - "\u0107\u0105\u0001\u0000\u0000\u0000\u0107\u0106\u0001\u0000\u0000\u0000"+ - "\u0108)\u0001\u0000\u0000\u0000\u0109\u010a\u0005\u0003\u0000\u0000\u010a"+ - "\u010b\u0005\u0010\u0000\u0000\u010b\u010c\u0005\u001c\u0000\u0000\u010c"+ - "\u0116\u0005\u0011\u0000\u0000\u010d\u010e\u0005\u0004\u0000\u0000\u010e"+ - "\u010f\u0005\u0010\u0000\u0000\u010f\u0110\u0005\u001c\u0000\u0000\u0110"+ - "\u0116\u0005\u0011\u0000\u0000\u0111\u0112\u0005\u0006\u0000\u0000\u0112"+ - "\u0113\u0005\u0010\u0000\u0000\u0113\u0114\u0005\u001c\u0000\u0000\u0114"+ - "\u0116\u0005\u0011\u0000\u0000\u0115\u0109\u0001\u0000\u0000\u0000\u0115"+ - "\u010d\u0001\u0000\u0000\u0000\u0115\u0111\u0001\u0000\u0000\u0000\u0116"+ - "+\u0001\u0000\u0000\u0000\u0117\u0118\u0007\u0004\u0000\u0000\u0118-\u0001"+ - "\u0000\u0000\u0000\u0119\u011a\u0005\t\u0000\u0000\u011a\u011b\u0005\u0010"+ - "\u0000\u0000\u011b\u011c\u0005\u001c\u0000\u0000\u011c\u011d\u0005\u0011"+ - "\u0000\u0000\u011d/\u0001\u0000\u0000\u0000\u011e\u011f\u0005\n\u0000"+ - "\u0000\u011f\u0120\u0005\u0010\u0000\u0000\u0120\u0121\u0005\u001d\u0000"+ - "\u0000\u0121\u0122\u0005\u0011\u0000\u0000\u01221\u0001\u0000\u0000\u0000"+ - "\u0123\u0124\u0005\u000b\u0000\u0000\u0124\u0125\u0005\u0010\u0000\u0000"+ - "\u0125\u0126\u0005\u001d\u0000\u0000\u0126\u0127\u0005\u0011\u0000\u0000"+ - "\u01273\u0001\u0000\u0000\u0000\u0128\u0129\u0005\f\u0000\u0000\u0129"+ - "\u012a\u0005\u0010\u0000\u0000\u012a\u012b\u0005\u001d\u0000\u0000\u012b"+ - "\u012c\u0005\u0011\u0000\u0000\u012c5\u0001\u0000\u0000\u0000\u012d\u012e"+ - "\u0005\u001e\u0000\u0000\u012e7\u0001\u0000\u0000\u0000\u012f\u0130\u0007"+ - "\u0002\u0000\u0000\u01309\u0001\u0000\u0000\u0000\u0131\u0136\u00038\u001c"+ - "\u0000\u0132\u0133\u0005\u0014\u0000\u0000\u0133\u0135\u00038\u001c\u0000"+ - "\u0134\u0132\u0001\u0000\u0000\u0000\u0135\u0138\u0001\u0000\u0000\u0000"+ - "\u0136\u0134\u0001\u0000\u0000\u0000\u0136\u0137\u0001\u0000\u0000\u0000"+ - "\u0137;\u0001\u0000\u0000\u0000\u0138\u0136\u0001\u0000\u0000\u0000\u0139"+ - "\u013e\u00036\u001b\u0000\u013a\u013b\u0005\u0010\u0000\u0000\u013b\u013c"+ - "\u0003:\u001d\u0000\u013c\u013d\u0005\u0011\u0000\u0000\u013d\u013f\u0001"+ - "\u0000\u0000\u0000\u013e\u013a\u0001\u0000\u0000\u0000\u013e\u013f\u0001"+ - "\u0000\u0000\u0000\u013f=\u0001\u0000\u0000\u0000\u0140\u0142\u0005\r"+ - "\u0000\u0000\u0141\u0143\u0003<\u001e\u0000\u0142\u0141\u0001\u0000\u0000"+ - "\u0000\u0142\u0143\u0001\u0000\u0000\u0000\u0143\u0148\u0001\u0000\u0000"+ - "\u0000\u0144\u0145\u0005\u0014\u0000\u0000\u0145\u0147\u0003<\u001e\u0000"+ - "\u0146\u0144\u0001\u0000\u0000\u0000\u0147\u014a\u0001\u0000\u0000\u0000"+ - "\u0148\u0146\u0001\u0000\u0000\u0000\u0148\u0149\u0001\u0000\u0000\u0000"+ - "\u0149\u014e\u0001\u0000\u0000\u0000\u014a\u0148\u0001\u0000\u0000\u0000"+ - "\u014b\u014d\t\u0000\u0000\u0000\u014c\u014b\u0001\u0000\u0000\u0000\u014d"+ - "\u0150\u0001\u0000\u0000\u0000\u014e\u014f\u0001\u0000\u0000\u0000\u014e"+ - "\u014c\u0001\u0000\u0000\u0000\u014f\u016d\u0001\u0000\u0000\u0000\u0150"+ - "\u014e\u0001\u0000\u0000\u0000\u0151\u0153\u0005\u000e\u0000\u0000\u0152"+ - "\u0154\u0003<\u001e\u0000\u0153\u0152\u0001\u0000\u0000\u0000\u0153\u0154"+ - "\u0001\u0000\u0000\u0000\u0154\u0159\u0001\u0000\u0000\u0000\u0155\u0156"+ - "\u0005\u0014\u0000\u0000\u0156\u0158\u0003<\u001e\u0000\u0157\u0155\u0001"+ - "\u0000\u0000\u0000\u0158\u015b\u0001\u0000\u0000\u0000\u0159\u0157\u0001"+ - "\u0000\u0000\u0000\u0159\u015a\u0001\u0000\u0000\u0000\u015a\u015f\u0001"+ - "\u0000\u0000\u0000\u015b\u0159\u0001\u0000\u0000\u0000\u015c\u015e\t\u0000"+ - "\u0000\u0000\u015d\u015c\u0001\u0000\u0000\u0000\u015e\u0161\u0001\u0000"+ - "\u0000\u0000\u015f\u0160\u0001\u0000\u0000\u0000\u015f\u015d\u0001\u0000"+ - "\u0000\u0000\u0160\u016a\u0001\u0000\u0000\u0000\u0161\u015f\u0001\u0000"+ - "\u0000\u0000\u0162\u0164\t\u0000\u0000\u0000\u0163\u0162\u0001\u0000\u0000"+ - "\u0000\u0164\u0167\u0001\u0000\u0000\u0000\u0165\u0166\u0001\u0000\u0000"+ - "\u0000\u0165\u0163\u0001\u0000\u0000\u0000\u0166\u0168\u0001\u0000\u0000"+ - "\u0000\u0167\u0165\u0001\u0000\u0000\u0000\u0168\u016b\u0005\u000f\u0000"+ - "\u0000\u0169\u016b\u0005\u000f\u0000\u0000\u016a\u0165\u0001\u0000\u0000"+ - "\u0000\u016a\u0169\u0001\u0000\u0000\u0000\u016b\u016d\u0001\u0000\u0000"+ - "\u0000\u016c\u0140\u0001\u0000\u0000\u0000\u016c\u0151\u0001\u0000\u0000"+ - "\u0000\u016d?\u0001\u0000\u0000\u0000(DNVbksv\u0085\u008b\u0091\u009a"+ - "\u009d\u00a2\u00a7\u00ab\u00b5\u00ba\u00bd\u00c2\u00c7\u00cb\u00d6\u00de"+ - "\u00e9\u00ef\u00f7\u00fe\u0107\u0115\u0136\u013e\u0142\u0148\u014e\u0153"+ - "\u0159\u015f\u0165\u016a\u016c"; + "\u0001\u0000\u0000\u0000\u00ad\u00a8\u0001\u0000\u0000\u0000\u00ae\u00b1"+ + "\u0001\u0000\u0000\u0000\u00af\u00ad\u0001\u0000\u0000\u0000\u00af\u00b0"+ + "\u0001\u0000\u0000\u0000\u00b0\u00b2\u0001\u0000\u0000\u0000\u00b1\u00af"+ + "\u0001\u0000\u0000\u0000\u00b2\u00b3\u0005\u001c\u0000\u0000\u00b3\u00b4"+ + "\u0005\u0018\u0000\u0000\u00b4\u0019\u0001\u0000\u0000\u0000\u00b5\u00b6"+ + "\u0007\u0002\u0000\u0000\u00b6\u00b9\u0005\u001a\u0000\u0000\u00b7\u00ba"+ + "\u0003\u0018\f\u0000\u00b8\u00ba\u0003\u0016\u000b\u0000\u00b9\u00b7\u0001"+ + "\u0000\u0000\u0000\u00b9\u00b8\u0001\u0000\u0000\u0000\u00ba\u001b\u0001"+ + "\u0000\u0000\u0000\u00bb\u00be\u0005\u001b\u0000\u0000\u00bc\u00bd\u0005"+ + "\u0017\u0000\u0000\u00bd\u00bf\u0003*\u0015\u0000\u00be\u00bc\u0001\u0000"+ + "\u0000\u0000\u00be\u00bf\u0001\u0000\u0000\u0000\u00bf\u00c1\u0001\u0000"+ + "\u0000\u0000\u00c0\u00c2\u0003B!\u0000\u00c1\u00c0\u0001\u0000\u0000\u0000"+ + "\u00c1\u00c2\u0001\u0000\u0000\u0000\u00c2\u00c3\u0001\u0000\u0000\u0000"+ + "\u00c3\u00c4\u0003\f\u0006\u0000\u00c4\u00c6\u0005\u0018\u0000\u0000\u00c5"+ + "\u00c7\u0003B!\u0000\u00c6\u00c5\u0001\u0000\u0000\u0000\u00c6\u00c7\u0001"+ + "\u0000\u0000\u0000\u00c7\u00cf\u0001\u0000\u0000\u0000\u00c8\u00c9\u0003"+ + "\f\u0006\u0000\u00c9\u00cb\u0005\u0018\u0000\u0000\u00ca\u00cc\u0003B"+ + "!\u0000\u00cb\u00ca\u0001\u0000\u0000\u0000\u00cb\u00cc\u0001\u0000\u0000"+ + "\u0000\u00cc\u00ce\u0001\u0000\u0000\u0000\u00cd\u00c8\u0001\u0000\u0000"+ + "\u0000\u00ce\u00d1\u0001\u0000\u0000\u0000\u00cf\u00cd\u0001\u0000\u0000"+ + "\u0000\u00cf\u00d0\u0001\u0000\u0000\u0000\u00d0\u00d2\u0001\u0000\u0000"+ + "\u0000\u00d1\u00cf\u0001\u0000\u0000\u0000\u00d2\u00d3\u0005\u001c\u0000"+ + "\u0000\u00d3\u001d\u0001\u0000\u0000\u0000\u00d4\u00d5\u0005\u0015\u0000"+ + "\u0000\u00d5\u00da\u0003\f\u0006\u0000\u00d6\u00d7\u0005\u0017\u0000\u0000"+ + "\u00d7\u00d9\u0003\f\u0006\u0000\u00d8\u00d6\u0001\u0000\u0000\u0000\u00d9"+ + "\u00dc\u0001\u0000\u0000\u0000\u00da\u00d8\u0001\u0000\u0000\u0000\u00da"+ + "\u00db\u0001\u0000\u0000\u0000\u00db\u00dd\u0001\u0000\u0000\u0000\u00dc"+ + "\u00da\u0001\u0000\u0000\u0000\u00dd\u00de\u0005\u0016\u0000\u0000\u00de"+ + "\u001f\u0001\u0000\u0000\u0000\u00df\u00e3\u0003\u0016\u000b\u0000\u00e0"+ + "\u00e3\u0003\u0018\f\u0000\u00e1\u00e3\u0003\u001a\r\u0000\u00e2\u00df"+ + "\u0001\u0000\u0000\u0000\u00e2\u00e0\u0001\u0000\u0000\u0000\u00e2\u00e1"+ + "\u0001\u0000\u0000\u0000\u00e3!\u0001\u0000\u0000\u0000\u00e4\u00e5\u0005"+ + "\u001d\u0000\u0000\u00e5\u00e6\u0005\u0013\u0000\u0000\u00e6\u00e7\u0007"+ + "\u0002\u0000\u0000\u00e7\u00e8\u0005\u0014\u0000\u0000\u00e8\u00ed\u0007"+ + "\u0002\u0000\u0000\u00e9\u00ea\u0005\u0015\u0000\u0000\u00ea\u00eb\u0003"+ + "&\u0013\u0000\u00eb\u00ec\u0005\u0016\u0000\u0000\u00ec\u00ee\u0001\u0000"+ + "\u0000\u0000\u00ed\u00e9\u0001\u0000\u0000\u0000\u00ed\u00ee\u0001\u0000"+ + "\u0000\u0000\u00ee#\u0001\u0000\u0000\u0000\u00ef\u00f0\u0005\u001d\u0000"+ + "\u0000\u00f0\u00f3\u0005\u0013\u0000\u0000\u00f1\u00f4\u0003\u001c\u000e"+ + "\u0000\u00f2\u00f4\u0003\u001e\u000f\u0000\u00f3\u00f1\u0001\u0000\u0000"+ + "\u0000\u00f3\u00f2\u0001\u0000\u0000\u0000\u00f4\u00f5\u0001\u0000\u0000"+ + "\u0000\u00f5\u00f6\u0005\u0014\u0000\u0000\u00f6\u00fb\u0007\u0002\u0000"+ + "\u0000\u00f7\u00f8\u0005\u0015\u0000\u0000\u00f8\u00f9\u0003&\u0013\u0000"+ + "\u00f9\u00fa\u0005\u0016\u0000\u0000\u00fa\u00fc\u0001\u0000\u0000\u0000"+ + "\u00fb\u00f7\u0001\u0000\u0000\u0000\u00fb\u00fc\u0001\u0000\u0000\u0000"+ + "\u00fc%\u0001\u0000\u0000\u0000\u00fd\u0102\u0003(\u0014\u0000\u00fe\u00ff"+ + "\u0005\u0017\u0000\u0000\u00ff\u0101\u0003(\u0014\u0000\u0100\u00fe\u0001"+ + "\u0000\u0000\u0000\u0101\u0104\u0001\u0000\u0000\u0000\u0102\u0100\u0001"+ + "\u0000\u0000\u0000\u0102\u0103\u0001\u0000\u0000\u0000\u0103\'\u0001\u0000"+ + "\u0000\u0000\u0104\u0102\u0001\u0000\u0000\u0000\u0105\u010e\u0003*\u0015"+ + "\u0000\u0106\u010e\u0003.\u0017\u0000\u0107\u010e\u00038\u001c\u0000\u0108"+ + "\u010e\u00036\u001b\u0000\u0109\u010e\u00030\u0018\u0000\u010a\u010e\u0003"+ + "2\u0019\u0000\u010b\u010e\u00034\u001a\u0000\u010c\u010e\u0003,\u0016"+ + "\u0000\u010d\u0105\u0001\u0000\u0000\u0000\u010d\u0106\u0001\u0000\u0000"+ + "\u0000\u010d\u0107\u0001\u0000\u0000\u0000\u010d\u0108\u0001\u0000\u0000"+ + "\u0000\u010d\u0109\u0001\u0000\u0000\u0000\u010d\u010a\u0001\u0000\u0000"+ + "\u0000\u010d\u010b\u0001\u0000\u0000\u0000\u010d\u010c\u0001\u0000\u0000"+ + "\u0000\u010e)\u0001\u0000\u0000\u0000\u010f\u0110\u0005\u0003\u0000\u0000"+ + "\u0110\u0111\u0005\u0013\u0000\u0000\u0111\u0112\u0005\u001f\u0000\u0000"+ + "\u0112\u011c\u0005\u0014\u0000\u0000\u0113\u0114\u0005\u0004\u0000\u0000"+ + "\u0114\u0115\u0005\u0013\u0000\u0000\u0115\u0116\u0005\u001f\u0000\u0000"+ + "\u0116\u011c\u0005\u0014\u0000\u0000\u0117\u0118\u0005\u0006\u0000\u0000"+ + "\u0118\u0119\u0005\u0013\u0000\u0000\u0119\u011a\u0005\u001f\u0000\u0000"+ + "\u011a\u011c\u0005\u0014\u0000\u0000\u011b\u010f\u0001\u0000\u0000\u0000"+ + "\u011b\u0113\u0001\u0000\u0000\u0000\u011b\u0117\u0001\u0000\u0000\u0000"+ + "\u011c+\u0001\u0000\u0000\u0000\u011d\u011e\u0007\u0004\u0000\u0000\u011e"+ + "-\u0001\u0000\u0000\u0000\u011f\u0120\u0005\t\u0000\u0000\u0120\u0121"+ + "\u0005\u0013\u0000\u0000\u0121\u0122\u0005\u001f\u0000\u0000\u0122\u0123"+ + "\u0005\u0014\u0000\u0000\u0123/\u0001\u0000\u0000\u0000\u0124\u0125\u0005"+ + "\n\u0000\u0000\u0125\u0126\u0005\u0013\u0000\u0000\u0126\u0127\u0005!"+ + "\u0000\u0000\u0127\u0128\u0005\u0014\u0000\u0000\u01281\u0001\u0000\u0000"+ + "\u0000\u0129\u012a\u0005\u000b\u0000\u0000\u012a\u012b\u0005\u0013\u0000"+ + "\u0000\u012b\u012c\u0005!\u0000\u0000\u012c\u012d\u0005\u0014\u0000\u0000"+ + "\u012d3\u0001\u0000\u0000\u0000\u012e\u012f\u0005\f\u0000\u0000\u012f"+ + "\u0130\u0005\u0013\u0000\u0000\u0130\u0131\u0005!\u0000\u0000\u0131\u0132"+ + "\u0005\u0014\u0000\u0000\u01325\u0001\u0000\u0000\u0000\u0133\u0134\u0005"+ + "\n\u0000\u0000\u0134\u0135\u0005\u0013\u0000\u0000\u0135\u0136\u0005 "+ + "\u0000\u0000\u0136\u0137\u0005\u0014\u0000\u0000\u01377\u0001\u0000\u0000"+ + "\u0000\u0138\u0139\u0005\n\u0000\u0000\u0139\u013a\u0005\u0013\u0000\u0000"+ + "\u013a\u013b\u0005\r\u0000\u0000\u013b\u013c\u0005\u0014\u0000\u0000\u013c"+ + "9\u0001\u0000\u0000\u0000\u013d\u013e\u0005\"\u0000\u0000\u013e;\u0001"+ + "\u0000\u0000\u0000\u013f\u0140\u0007\u0002\u0000\u0000\u0140=\u0001\u0000"+ + "\u0000\u0000\u0141\u0146\u0003<\u001e\u0000\u0142\u0143\u0005\u0017\u0000"+ + "\u0000\u0143\u0145\u0003<\u001e\u0000\u0144\u0142\u0001\u0000\u0000\u0000"+ + "\u0145\u0148\u0001\u0000\u0000\u0000\u0146\u0144\u0001\u0000\u0000\u0000"+ + "\u0146\u0147\u0001\u0000\u0000\u0000\u0147?\u0001\u0000\u0000\u0000\u0148"+ + "\u0146\u0001\u0000\u0000\u0000\u0149\u014e\u0003:\u001d\u0000\u014a\u014b"+ + "\u0005\u0013\u0000\u0000\u014b\u014c\u0003>\u001f\u0000\u014c\u014d\u0005"+ + "\u0014\u0000\u0000\u014d\u014f\u0001\u0000\u0000\u0000\u014e\u014a\u0001"+ + "\u0000\u0000\u0000\u014e\u014f\u0001\u0000\u0000\u0000\u014fA\u0001\u0000"+ + "\u0000\u0000\u0150\u0152\u0005\u000e\u0000\u0000\u0151\u0153\u0003@ \u0000"+ + "\u0152\u0151\u0001\u0000\u0000\u0000\u0152\u0153\u0001\u0000\u0000\u0000"+ + "\u0153\u0158\u0001\u0000\u0000\u0000\u0154\u0155\u0005\u0017\u0000\u0000"+ + "\u0155\u0157\u0003@ \u0000\u0156\u0154\u0001\u0000\u0000\u0000\u0157\u015a"+ + "\u0001\u0000\u0000\u0000\u0158\u0156\u0001\u0000\u0000\u0000\u0158\u0159"+ + "\u0001\u0000\u0000\u0000\u0159\u015e\u0001\u0000\u0000\u0000\u015a\u0158"+ + "\u0001\u0000\u0000\u0000\u015b\u015d\t\u0000\u0000\u0000\u015c\u015b\u0001"+ + "\u0000\u0000\u0000\u015d\u0160\u0001\u0000\u0000\u0000\u015e\u015f\u0001"+ + "\u0000\u0000\u0000\u015e\u015c\u0001\u0000\u0000\u0000\u015f\u017d\u0001"+ + "\u0000\u0000\u0000\u0160\u015e\u0001\u0000\u0000\u0000\u0161\u0163\u0005"+ + "\u000f\u0000\u0000\u0162\u0164\u0003@ \u0000\u0163\u0162\u0001\u0000\u0000"+ + "\u0000\u0163\u0164\u0001\u0000\u0000\u0000\u0164\u0169\u0001\u0000\u0000"+ + "\u0000\u0165\u0166\u0005\u0017\u0000\u0000\u0166\u0168\u0003@ \u0000\u0167"+ + "\u0165\u0001\u0000\u0000\u0000\u0168\u016b\u0001\u0000\u0000\u0000\u0169"+ + "\u0167\u0001\u0000\u0000\u0000\u0169\u016a\u0001\u0000\u0000\u0000\u016a"+ + "\u016f\u0001\u0000\u0000\u0000\u016b\u0169\u0001\u0000\u0000\u0000\u016c"+ + "\u016e\t\u0000\u0000\u0000\u016d\u016c\u0001\u0000\u0000\u0000\u016e\u0171"+ + "\u0001\u0000\u0000\u0000\u016f\u0170\u0001\u0000\u0000\u0000\u016f\u016d"+ + "\u0001\u0000\u0000\u0000\u0170\u017a\u0001\u0000\u0000\u0000\u0171\u016f"+ + "\u0001\u0000\u0000\u0000\u0172\u0174\t\u0000\u0000\u0000\u0173\u0172\u0001"+ + "\u0000\u0000\u0000\u0174\u0177\u0001\u0000\u0000\u0000\u0175\u0176\u0001"+ + "\u0000\u0000\u0000\u0175\u0173\u0001\u0000\u0000\u0000\u0176\u0178\u0001"+ + "\u0000\u0000\u0000\u0177\u0175\u0001\u0000\u0000\u0000\u0178\u017b\u0005"+ + "\u0010\u0000\u0000\u0179\u017b\u0005\u0010\u0000\u0000\u017a\u0175\u0001"+ + "\u0000\u0000\u0000\u017a\u0179\u0001\u0000\u0000\u0000\u017b\u017d\u0001"+ + "\u0000\u0000\u0000\u017c\u0150\u0001\u0000\u0000\u0000\u017c\u0161\u0001"+ + "\u0000\u0000\u0000\u017dC\u0001\u0000\u0000\u0000(HRZfowz\u0089\u008f"+ + "\u0095\u009e\u00a1\u00a6\u00ab\u00af\u00b9\u00be\u00c1\u00c6\u00cb\u00cf"+ + "\u00da\u00e2\u00ed\u00f3\u00fb\u0102\u010d\u011b\u0146\u014e\u0152\u0158"+ + "\u015e\u0163\u0169\u016f\u0175\u017a\u017c"; public static final ATN _ATN = new ATNDeserializer().deserialize(_serializedATN.toCharArray()); static { diff --git a/wsclient/src/test/java/org/hpccsystems/ws/client/DFUFileDetailWrapperTest.java b/wsclient/src/test/java/org/hpccsystems/ws/client/DFUFileDetailWrapperTest.java index 571326ef3..902018e7c 100644 --- a/wsclient/src/test/java/org/hpccsystems/ws/client/DFUFileDetailWrapperTest.java +++ b/wsclient/src/test/java/org/hpccsystems/ws/client/DFUFileDetailWrapperTest.java @@ -34,6 +34,14 @@ @Category(org.hpccsystems.commons.annotations.BaseTests.class) public class DFUFileDetailWrapperTest { + private static final String SETOF = "RECORD\n" + + "STRING1 test;\n" + + "SET OF UTF8 fieldAllset {DEFAULT (ALL)};\n" + + "SET OF UTF8 field2set {DEFAULT (['test1','test2'])};\n" + + "SET OF UTF8 field3set {DEFAULT ([''])};\n" + + "SET OF UTF8 field4set {DEFAULT (['test'])};\n" + + "STRING2 test;\n" + + "END;"; private final String WITH_ANNOTATION = "RECORD\nSTRING SSN; // @METATYPE(SSN)\nEND;"; private final String MAXLENGTH = "RECORD\nSTRING SSN;\nINTEGER8 maxlength;\nEND;"; private final String WITH_ANNOTATION_NO_PARAMS = "RECORD\nSTRING SSN; // @FEW\nEND;"; @@ -332,6 +340,35 @@ public void testGetRecordMaxlength() throws Exception { assertNotNull(column); } + @Test + public void testSetDefault() throws Exception { + EclRecordWrapper info = DFUFileDetailWrapper.getRecordEcl(SETOF); + if (info.getParseErrors().size()!=0) { + fail("Failed get set default test:" + String.join("\n",info.getParseErrors())); + } + DFURecordDefWrapper recordDefInfo = info.getRecordsets().get("unnamed0"); + assertNotNull(recordDefInfo); + assertEquals(0, recordDefInfo.getAnnotations().size()); + DFUDataColumnWrapper column = getColumnByName(recordDefInfo, "field3set"); + assertNotNull(column); + assertNotNull(column.getColumnValue()); + + DFUDataColumnWrapper column4 = getColumnByName(recordDefInfo, "field4set"); + assertNotNull(column4); + assertNotNull(column4.getColumnValue()); + assertEquals("test", column4.getColumnValue()); + + DFUDataColumnWrapper column2 = getColumnByName(recordDefInfo, "field2set"); + assertNotNull(column2); + assertNotNull(column2.getColumnValue()); + assertEquals("'test1','test2'", column2.getColumnValue()); + + DFUDataColumnWrapper column3 = getColumnByName(recordDefInfo, "field3set"); + assertNotNull(column3); + assertNotNull(column3.getColumnValue()); + assertEquals("", column3.getColumnValue()); + } + @Test public void testEclParsing() throws Exception { Map layouts=new LinkedHashMap(); From ff67127f9c1e14112063b71c9ca0eea1a34998bd Mon Sep 17 00:00:00 2001 From: Joseph Chambers Date: Thu, 28 Mar 2024 10:59:22 -0400 Subject: [PATCH 2/3] remove commented code --- .../java/org/hpccsystems/ws/client/antlr/EclRecordReader.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/EclRecordReader.java b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/EclRecordReader.java index 13937269c..42f5e6ab4 100644 --- a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/EclRecordReader.java +++ b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/EclRecordReader.java @@ -434,8 +434,6 @@ public void enterSetdefaultval(EclRecordParser.SetdefaultvalContext ctx) val = val.substring(0, val.length() - 2); } } - //val = val.replaceFirst("(\[')", ""); - //val = val.replace("['", ""); val = val.replace("']", ""); if(val.contains("','")){ From 18cec2f79b56ed12f8e3214f114e694c1d86748d Mon Sep 17 00:00:00 2001 From: Joseph Chambers Date: Thu, 28 Mar 2024 11:10:13 -0400 Subject: [PATCH 3/3] fix format --- .../ws/client/antlr/EclRecordReader.java | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/EclRecordReader.java b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/EclRecordReader.java index 42f5e6ab4..d106f7a7c 100644 --- a/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/EclRecordReader.java +++ b/wsclient/src/main/java/org/hpccsystems/ws/client/antlr/EclRecordReader.java @@ -398,7 +398,8 @@ else if (currentrec != null) @Override - public void enterSetdefaultvalall(EclRecordParser.SetdefaultvalallContext ctx) { + public void enterSetdefaultvalall(EclRecordParser.SetdefaultvalallContext ctx) + { String val = ctx.getChild(2).getText(); val = val.replace("'", ""); @@ -424,23 +425,30 @@ else if (currentrec != null) public void enterSetdefaultval(EclRecordParser.SetdefaultvalContext ctx) { String val = ctx.getChild(2).getText(); - if(val.length() >= 2){ - if(val.substring(0, 2).equals("['")) { + if(val.length() >= 2) + { + if(val.substring(0, 2).equals("['")) + { val = val.substring(2, val.length()); } } - if(val.length() >= 2){ - if(val.substring(val.length()-2, val.length()).equals("']")) { + if(val.length() >= 2) + { + if(val.substring(val.length()-2, val.length()).equals("']")) + { val = val.substring(0, val.length() - 2); } } val = val.replace("']", ""); - if(val.contains("','")){ - if(!val.startsWith("'")) { + if(val.contains("','")) + { + if(!val.startsWith("'")) + { val = "'" + val; } - if(!val.endsWith("'")){ + if(!val.endsWith("'")) + { val = val + "'"; } } @@ -452,8 +460,6 @@ else if (currentrec != null) { currentrec.setColumnValue(val); } - - } /** @@ -467,10 +473,12 @@ else if (currentrec != null) public void enterXpath(EclRecordParser.XpathContext ctx) { String val = ctx.getChild(2).getText(); - if (val.startsWith("'")) { + if (val.startsWith("'")) + { val=val.substring(1); } - if (val.endsWith("'")) { + if (val.endsWith("'")) + { val=val.substring(0,val.length()-1); } if (currentfield != null)