11
11
12
12
def serializedATN ():
13
13
with StringIO () as buf :
14
- buf .write ("\3 \u608b \ua72a \u8133 \ub9ed \u417c \u3be7 \u7786 \u5964 \3 \32 " )
15
- buf .write ("\u00b4 \4 \2 \t \2 \4 \3 \t \3 \4 \4 \t \4 \4 \5 \t \5 \4 \6 \t \6 \4 \7 \t \7 " )
14
+ buf .write ("\3 \u608b \ua72a \u8133 \ub9ed \u417c \u3be7 \u7786 \u5964 \3 \33 " )
15
+ buf .write ("\u00b5 \4 \2 \t \2 \4 \3 \t \3 \4 \4 \t \4 \4 \5 \t \5 \4 \6 \t \6 \4 \7 \t \7 " )
16
16
buf .write ("\4 \b \t \b \4 \t \t \t \4 \n \t \n \4 \13 \t \13 \4 \f \t \f \4 \r \t \r \4 \16 " )
17
17
buf .write ("\t \16 \4 \17 \t \17 \4 \20 \t \20 \3 \2 \7 \2 \" \n \2 \f \2 \16 \2 %\13 \2 " )
18
18
buf .write ("\3 \2 \5 \2 (\n \2 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \3 \4 \3 \4 \5 \4 \62 \n " )
@@ -26,59 +26,61 @@ def serializedATN():
26
26
buf .write ("\3 \13 \3 \13 \3 \13 \5 \13 \u008c \n \13 \3 \f \3 \f \3 \f \3 \f \5 \f \u0092 " )
27
27
buf .write ("\n \f \3 \r \3 \r \3 \r \3 \r \3 \r \3 \r \5 \r \u009a \n \r \3 \16 \3 \16 \3 " )
28
28
buf .write ("\16 \7 \16 \u009f \n \16 \f \16 \16 \16 \u00a2 \13 \16 \3 \16 \5 \16 \u00a5 " )
29
- buf .write ("\n \16 \3 \16 \3 \16 \3 \16 \5 \16 \u00aa \n \16 \3 \17 \3 \17 \5 \17 \u00ae " )
30
- buf .write ("\n \17 \3 \20 \3 \20 \3 \20 \3 \20 \3 \20 \2 \2 \21 \2 \4 \6 \b \n \f \16 \20 " )
31
- buf .write ("\22 \24 \26 \30 \32 \34 \36 \2 \2 \2 \u00bf \2 #\3 \2 \2 \2 \4 )\3 \2 \2 " )
32
- buf .write ("\2 \6 /\3 \2 \2 \2 \b =\3 \2 \2 \2 \n K\3 \2 \2 \2 \f O\3 \2 \2 \2 \16 y\3 \2 " )
33
- buf .write ("\2 \2 \20 \177 \3 \2 \2 \2 \22 \u0085 \3 \2 \2 \2 \24 \u008b \3 \2 \2 \2 " )
34
- buf .write ("\26 \u008d \3 \2 \2 \2 \30 \u0099 \3 \2 \2 \2 \32 \u00a9 \3 \2 \2 \2 \34 " )
35
- buf .write ("\u00ad \3 \2 \2 \2 \36 \u00af \3 \2 \2 \2 \" \5 \4 \3 \2 ! \3 \2 \2 \2 \" " )
36
- buf .write ("%\3 \2 \2 \2 #!\3 \2 \2 \2 #$\3 \2 \2 \2 $\' \3 \2 \2 \2 %#\3 \2 \2 \2 &(\5 " )
37
- buf .write ("\6 \4 \2 \' &\3 \2 \2 \2 \' (\3 \2 \2 \2 (\3 \3 \2 \2 \2 )*\7 \6 \2 \2 *+\7 " )
38
- buf .write ("\21 \2 \2 +,\7 \31 \2 \2 ,-\5 \n \6 \2 -.\7 \30 \2 \2 .\5 \3 \2 \2 \2 /\61 " )
39
- buf .write ("\7 \17 \2 \2 \60 \62 \7 \21 \2 \2 \61 \60 \3 \2 \2 \2 \61 \62 \3 \2 \2 \2 \62 " )
40
- buf .write ("\63 \3 \2 \2 \2 \63 \67 \7 \27 \2 \2 \64 \65 \5 \30 \r \2 \65 \66 \7 \26 \2 " )
41
- buf .write ("\2 \668 \3 \2 \2 \2 \67 \64 \3 \2 \2 \2 \678 \3 \2 \2 \28 ;\3 \2 \2 \29 <\5 " )
42
- buf .write ("\b \5 \2 :<\7 \21 \2 \2 ;9\3 \2 \2 \2 ;:\3 \2 \2 \2 <\7 \3 \2 \2 \2 =C\7 \24 " )
43
- buf .write ("\2 \2 >?\5 \36 \20 \2 ?@\7 \30 \2 \2 @B\3 \2 \2 \2 A>\3 \2 \2 \2 BE\3 \2 " )
44
- buf .write ("\2 \2 CA\3 \2 \2 \2 CD\3 \2 \2 \2 DF\3 \2 \2 \2 EC\3 \2 \2 \2 FG\7 \25 \2 " )
45
- buf .write ("\2 G\t \3 \2 \2 \2 HL\7 \21 \2 \2 IL\7 \t \2 \2 JL\5 \f \7 \2 KH\3 \2 \2 \2 " )
46
- buf .write ("KI\3 \2 \2 \2 KJ\3 \2 \2 \2 L\13 \3 \2 \2 \2 MP\5 \16 \b \2 NP\5 \24 \13 " )
47
- buf .write ("\2 OM\3 \2 \2 \2 ON\3 \2 \2 \2 P\r \3 \2 \2 \2 QR\7 \13 \2 \2 Rz\5 \n \6 \2 " )
48
- buf .write ("ST\7 \f \2 \2 Tz\5 \n \6 \2 UV\7 \r \2 \2 VW\7 \24 \2 \2 Wz\7 \25 \2 \2 X" )
49
- buf .write ("Y\7 \r \2 \2 YZ\7 \24 \2 \2 Z_\5 \20 \t \2 [\\ \7 \30 \2 \2 \\ ^\5 \20 \t " )
50
- buf .write ("\2 ][\3 \2 \2 \2 ^a\3 \2 \2 \2 _]\3 \2 \2 \2 _`\3 \2 \2 \2 `c\3 \2 \2 \2 a" )
51
- buf .write ("_\3 \2 \2 \2 bd\7 \30 \2 \2 cb\3 \2 \2 \2 cd\3 \2 \2 \2 de\3 \2 \2 \2 ef\7 " )
52
- buf .write ("\25 \2 \2 fz\3 \2 \2 \2 gh\7 \16 \2 \2 hi\7 \24 \2 \2 iz\7 \25 \2 \2 jk\7 " )
53
- buf .write ("\16 \2 \2 kl\7 \24 \2 \2 lq\5 \22 \n \2 mn\7 \30 \2 \2 np\5 \22 \n \2 om" )
54
- buf .write ("\3 \2 \2 \2 ps\3 \2 \2 \2 qo\3 \2 \2 \2 qr\3 \2 \2 \2 ru\3 \2 \2 \2 sq\3 \2 " )
55
- buf .write ("\2 \2 tv\7 \30 \2 \2 ut\3 \2 \2 \2 uv\3 \2 \2 \2 vw\3 \2 \2 \2 wx\7 \25 \2 " )
56
- buf .write ("\2 xz\3 \2 \2 \2 yQ\3 \2 \2 \2 yS\3 \2 \2 \2 yU\3 \2 \2 \2 yX\3 \2 \2 \2 y" )
57
- buf .write ("g\3 \2 \2 \2 yj\3 \2 \2 \2 z\17 \3 \2 \2 \2 {|\7 \21 \2 \2 |}\7 \27 \2 \2 " )
58
- buf .write ("}\u0080 \5 \n \6 \2 ~\u0080 \5 \n \6 \2 \177 {\3 \2 \2 \2 \177 ~\3 \2 \2 " )
59
- buf .write ("\2 \u0080 \21 \3 \2 \2 \2 \u0081 \u0082 \7 \21 \2 \2 \u0082 \u0083 \7 " )
60
- buf .write ("\27 \2 \2 \u0083 \u0086 \5 \n \6 \2 \u0084 \u0086 \7 \21 \2 \2 \u0085 " )
61
- buf .write ("\u0081 \3 \2 \2 \2 \u0085 \u0084 \3 \2 \2 \2 \u0086 \23 \3 \2 \2 \2 \u0087 " )
62
- buf .write ("\u0088 \7 \20 \2 \2 \u0088 \u008c \5 \26 \f \2 \u0089 \u008a \7 \17 " )
63
- buf .write ("\2 \2 \u008a \u008c \5 \b \5 \2 \u008b \u0087 \3 \2 \2 \2 \u008b \u0089 " )
64
- buf .write ("\3 \2 \2 \2 \u008c \25 \3 \2 \2 \2 \u008d \u008e \5 \30 \r \2 \u008e \u008f " )
65
- buf .write ("\7 \26 \2 \2 \u008f \u0091 \5 \30 \r \2 \u0090 \u0092 \5 \34 \17 \2 \u0091 " )
66
- buf .write ("\u0090 \3 \2 \2 \2 \u0091 \u0092 \3 \2 \2 \2 \u0092 \27 \3 \2 \2 \2 \u0093 " )
67
- buf .write ("\u0094 \7 \22 \2 \2 \u0094 \u009a \7 \23 \2 \2 \u0095 \u0096 \7 \22 " )
68
- buf .write ("\2 \2 \u0096 \u0097 \5 \32 \16 \2 \u0097 \u0098 \7 \23 \2 \2 \u0098 " )
69
- buf .write ("\u009a \3 \2 \2 \2 \u0099 \u0093 \3 \2 \2 \2 \u0099 \u0095 \3 \2 \2 \2 " )
70
- buf .write ("\u009a \31 \3 \2 \2 \2 \u009b \u00a0 \5 \n \6 \2 \u009c \u009d \7 \32 " )
71
- buf .write ("\2 \2 \u009d \u009f \5 \n \6 \2 \u009e \u009c \3 \2 \2 \2 \u009f \u00a2 " )
72
- buf .write ("\3 \2 \2 \2 \u00a0 \u009e \3 \2 \2 \2 \u00a0 \u00a1 \3 \2 \2 \2 \u00a1 " )
73
- buf .write ("\u00a4 \3 \2 \2 \2 \u00a2 \u00a0 \3 \2 \2 \2 \u00a3 \u00a5 \7 \32 \2 " )
74
- buf .write ("\2 \u00a4 \u00a3 \3 \2 \2 \2 \u00a4 \u00a5 \3 \2 \2 \2 \u00a5 \u00aa " )
75
- buf .write ("\3 \2 \2 \2 \u00a6 \u00a7 \7 \21 \2 \2 \u00a7 \u00a8 \7 \27 \2 \2 \u00a8 " )
76
- buf .write ("\u00aa \5 \n \6 \2 \u00a9 \u009b \3 \2 \2 \2 \u00a9 \u00a6 \3 \2 \2 \2 " )
77
- buf .write ("\u00aa \33 \3 \2 \2 \2 \u00ab \u00ae \7 \7 \2 \2 \u00ac \u00ae \7 \b " )
78
- buf .write ("\2 \2 \u00ad \u00ab \3 \2 \2 \2 \u00ad \u00ac \3 \2 \2 \2 \u00ae \35 " )
79
- buf .write ("\3 \2 \2 \2 \u00af \u00b0 \7 \21 \2 \2 \u00b0 \u00b1 \7 \27 \2 \2 \u00b1 " )
80
- buf .write ("\u00b2 \5 \26 \f \2 \u00b2 \37 \3 \2 \2 \2 \30 #\' \61 \67 ;CKO_cquy" )
81
- buf .write ("\177 \u0085 \u008b \u0091 \u0099 \u00a0 \u00a4 \u00a9 \u00ad " )
29
+ buf .write ("\n \16 \3 \16 \3 \16 \3 \16 \5 \16 \u00aa \n \16 \3 \17 \3 \17 \3 \17 \5 " )
30
+ buf .write ("\17 \u00af \n \17 \3 \20 \3 \20 \3 \20 \3 \20 \3 \20 \2 \2 \21 \2 \4 \6 \b " )
31
+ buf .write ("\n \f \16 \20 \22 \24 \26 \30 \32 \34 \36 \2 \2 \2 \u00c1 \2 #\3 \2 \2 \2 " )
32
+ buf .write ("\4 )\3 \2 \2 \2 \6 /\3 \2 \2 \2 \b =\3 \2 \2 \2 \n K\3 \2 \2 \2 \f O\3 \2 \2 " )
33
+ buf .write ("\2 \16 y\3 \2 \2 \2 \20 \177 \3 \2 \2 \2 \22 \u0085 \3 \2 \2 \2 \24 \u008b " )
34
+ buf .write ("\3 \2 \2 \2 \26 \u008d \3 \2 \2 \2 \30 \u0099 \3 \2 \2 \2 \32 \u00a9 \3 " )
35
+ buf .write ("\2 \2 \2 \34 \u00ae \3 \2 \2 \2 \36 \u00b0 \3 \2 \2 \2 \" \5 \4 \3 \2 ! " )
36
+ buf .write ("\3 \2 \2 \2 \" %\3 \2 \2 \2 #!\3 \2 \2 \2 #$\3 \2 \2 \2 $\' \3 \2 \2 \2 %#\3 " )
37
+ buf .write ("\2 \2 \2 &(\5 \6 \4 \2 \' &\3 \2 \2 \2 \' (\3 \2 \2 \2 (\3 \3 \2 \2 \2 )*\7 " )
38
+ buf .write ("\6 \2 \2 *+\7 \22 \2 \2 +,\7 \32 \2 \2 ,-\5 \n \6 \2 -.\7 \31 \2 \2 .\5 \3 " )
39
+ buf .write ("\2 \2 \2 /\61 \7 \20 \2 \2 \60 \62 \7 \22 \2 \2 \61 \60 \3 \2 \2 \2 \61 \62 " )
40
+ buf .write ("\3 \2 \2 \2 \62 \63 \3 \2 \2 \2 \63 \67 \7 \30 \2 \2 \64 \65 \5 \30 \r \2 \65 " )
41
+ buf .write ("\66 \7 \27 \2 \2 \668 \3 \2 \2 \2 \67 \64 \3 \2 \2 \2 \678 \3 \2 \2 \28 ;\3 " )
42
+ buf .write ("\2 \2 \29 <\5 \b \5 \2 :<\7 \22 \2 \2 ;9\3 \2 \2 \2 ;:\3 \2 \2 \2 <\7 \3 \2 " )
43
+ buf .write ("\2 \2 =C\7 \25 \2 \2 >?\5 \36 \20 \2 ?@\7 \31 \2 \2 @B\3 \2 \2 \2 A>\3 \2 " )
44
+ buf .write ("\2 \2 BE\3 \2 \2 \2 CA\3 \2 \2 \2 CD\3 \2 \2 \2 DF\3 \2 \2 \2 EC\3 \2 \2 \2 " )
45
+ buf .write ("FG\7 \26 \2 \2 G\t \3 \2 \2 \2 HL\7 \22 \2 \2 IL\7 \n \2 \2 JL\5 \f \7 \2 " )
46
+ buf .write ("KH\3 \2 \2 \2 KI\3 \2 \2 \2 KJ\3 \2 \2 \2 L\13 \3 \2 \2 \2 MP\5 \16 \b \2 " )
47
+ buf .write ("NP\5 \24 \13 \2 OM\3 \2 \2 \2 ON\3 \2 \2 \2 P\r \3 \2 \2 \2 QR\7 \f \2 \2 " )
48
+ buf .write ("Rz\5 \n \6 \2 ST\7 \r \2 \2 Tz\5 \n \6 \2 UV\7 \16 \2 \2 VW\7 \25 \2 \2 W" )
49
+ buf .write ("z\7 \26 \2 \2 XY\7 \16 \2 \2 YZ\7 \25 \2 \2 Z_\5 \20 \t \2 [\\ \7 \31 \2 " )
50
+ buf .write ("\2 \\ ^\5 \20 \t \2 ][\3 \2 \2 \2 ^a\3 \2 \2 \2 _]\3 \2 \2 \2 _`\3 \2 \2 \2 " )
51
+ buf .write ("`c\3 \2 \2 \2 a_\3 \2 \2 \2 bd\7 \31 \2 \2 cb\3 \2 \2 \2 cd\3 \2 \2 \2 de" )
52
+ buf .write ("\3 \2 \2 \2 ef\7 \26 \2 \2 fz\3 \2 \2 \2 gh\7 \17 \2 \2 hi\7 \25 \2 \2 iz" )
53
+ buf .write ("\7 \26 \2 \2 jk\7 \17 \2 \2 kl\7 \25 \2 \2 lq\5 \22 \n \2 mn\7 \31 \2 \2 " )
54
+ buf .write ("np\5 \22 \n \2 om\3 \2 \2 \2 ps\3 \2 \2 \2 qo\3 \2 \2 \2 qr\3 \2 \2 \2 ru" )
55
+ buf .write ("\3 \2 \2 \2 sq\3 \2 \2 \2 tv\7 \31 \2 \2 ut\3 \2 \2 \2 uv\3 \2 \2 \2 vw\3 " )
56
+ buf .write ("\2 \2 \2 wx\7 \26 \2 \2 xz\3 \2 \2 \2 yQ\3 \2 \2 \2 yS\3 \2 \2 \2 yU\3 \2 " )
57
+ buf .write ("\2 \2 yX\3 \2 \2 \2 yg\3 \2 \2 \2 yj\3 \2 \2 \2 z\17 \3 \2 \2 \2 {|\7 \22 " )
58
+ buf .write ("\2 \2 |}\7 \30 \2 \2 }\u0080 \5 \n \6 \2 ~\u0080 \5 \n \6 \2 \177 {\3 \2 " )
59
+ buf .write ("\2 \2 \177 ~\3 \2 \2 \2 \u0080 \21 \3 \2 \2 \2 \u0081 \u0082 \7 \22 \2 " )
60
+ buf .write ("\2 \u0082 \u0083 \7 \30 \2 \2 \u0083 \u0086 \5 \n \6 \2 \u0084 \u0086 " )
61
+ buf .write ("\7 \22 \2 \2 \u0085 \u0081 \3 \2 \2 \2 \u0085 \u0084 \3 \2 \2 \2 \u0086 " )
62
+ buf .write ("\23 \3 \2 \2 \2 \u0087 \u0088 \7 \21 \2 \2 \u0088 \u008c \5 \26 \f \2 " )
63
+ buf .write ("\u0089 \u008a \7 \20 \2 \2 \u008a \u008c \5 \b \5 \2 \u008b \u0087 " )
64
+ buf .write ("\3 \2 \2 \2 \u008b \u0089 \3 \2 \2 \2 \u008c \25 \3 \2 \2 \2 \u008d \u008e " )
65
+ buf .write ("\5 \30 \r \2 \u008e \u008f \7 \27 \2 \2 \u008f \u0091 \5 \30 \r \2 \u0090 " )
66
+ buf .write ("\u0092 \5 \34 \17 \2 \u0091 \u0090 \3 \2 \2 \2 \u0091 \u0092 \3 \2 \2 " )
67
+ buf .write ("\2 \u0092 \27 \3 \2 \2 \2 \u0093 \u0094 \7 \23 \2 \2 \u0094 \u009a \7 " )
68
+ buf .write ("\24 \2 \2 \u0095 \u0096 \7 \23 \2 \2 \u0096 \u0097 \5 \32 \16 \2 \u0097 " )
69
+ buf .write ("\u0098 \7 \24 \2 \2 \u0098 \u009a \3 \2 \2 \2 \u0099 \u0093 \3 \2 \2 " )
70
+ buf .write ("\2 \u0099 \u0095 \3 \2 \2 \2 \u009a \31 \3 \2 \2 \2 \u009b \u00a0 \5 " )
71
+ buf .write ("\n \6 \2 \u009c \u009d \7 \33 \2 \2 \u009d \u009f \5 \n \6 \2 \u009e " )
72
+ buf .write ("\u009c \3 \2 \2 \2 \u009f \u00a2 \3 \2 \2 \2 \u00a0 \u009e \3 \2 \2 \2 " )
73
+ buf .write ("\u00a0 \u00a1 \3 \2 \2 \2 \u00a1 \u00a4 \3 \2 \2 \2 \u00a2 \u00a0 \3 " )
74
+ buf .write ("\2 \2 \2 \u00a3 \u00a5 \7 \33 \2 \2 \u00a4 \u00a3 \3 \2 \2 \2 \u00a4 " )
75
+ buf .write ("\u00a5 \3 \2 \2 \2 \u00a5 \u00aa \3 \2 \2 \2 \u00a6 \u00a7 \7 \22 \2 " )
76
+ buf .write ("\2 \u00a7 \u00a8 \7 \30 \2 \2 \u00a8 \u00aa \5 \n \6 \2 \u00a9 \u009b " )
77
+ buf .write ("\3 \2 \2 \2 \u00a9 \u00a6 \3 \2 \2 \2 \u00aa \33 \3 \2 \2 \2 \u00ab \u00af " )
78
+ buf .write ("\7 \7 \2 \2 \u00ac \u00af \7 \b \2 \2 \u00ad \u00af \7 \t \2 \2 \u00ae " )
79
+ buf .write ("\u00ab \3 \2 \2 \2 \u00ae \u00ac \3 \2 \2 \2 \u00ae \u00ad \3 \2 \2 \2 " )
80
+ buf .write ("\u00af \35 \3 \2 \2 \2 \u00b0 \u00b1 \7 \22 \2 \2 \u00b1 \u00b2 \7 \30 " )
81
+ buf .write ("\2 \2 \u00b2 \u00b3 \5 \26 \f \2 \u00b3 \37 \3 \2 \2 \2 \30 #\' \61 \67 " )
82
+ buf .write (";CKO_cquy\177 \u0085 \u008b \u0091 \u0099 \u00a0 \u00a4 \u00a9 " )
83
+ buf .write ("\u00ae " )
82
84
return buf .getvalue ()
83
85
84
86
@@ -93,16 +95,16 @@ class DIDParser ( Parser ):
93
95
sharedContextCache = PredictionContextCache ()
94
96
95
97
literalNames = [ "<INVALID>" , "<INVALID>" , "<INVALID>" , "<INVALID>" ,
96
- "'type'" , "'query'" , "'oneway '" , "<INVALID>" , "<INVALID> " ,
97
- "'opt' " , "'vec' " , "'record '" , "'variant '" , "'service '" ,
98
- "'func '" , "<INVALID>" , "'( '" , "') '" , "'{' " , "'} '" ,
99
- "'->'" , "':'" , "';'" , "'='" , "','" ]
98
+ "'type'" , "'query'" , "'composite_query '" , "'oneway' " ,
99
+ "<INVALID> " , "<INVALID> " , "'opt '" , "'vec '" , "'record '" ,
100
+ "'variant '" , "'service '" , "'func '" , "<INVALID> " , "'( '" ,
101
+ "')'" , "'{'" , "'}'" , "' ->'" , "':'" , "';'" , "'='" , "','" ]
100
102
101
103
symbolicNames = [ "<INVALID>" , "BlockComment" , "LineComment" , "S" , "Type" ,
102
- "Query" , "Oneway " , "PrimType " , "NumType " , "OPT" , "VEC " ,
103
- "RECORD " , "VARIANT " , "Service " , "FUNC " , "Name " , "LeftP " ,
104
- "RightP " , "LeftB " , "RightB " , "Arrow " , "Colon " , "Semicolon " ,
105
- "Eq" , "Comma" ]
104
+ "Query" , "CompositeQuery " , "Oneway " , "PrimType " , "NumType " ,
105
+ "OPT " , "VEC " , "RECORD " , "VARIANT " , "Service " , "FUNC " ,
106
+ "Name " , "LeftP " , "RightP " , "LeftB " , "RightB " , "Arrow " ,
107
+ "Colon" , "Semicolon" , " Eq" , "Comma" ]
106
108
107
109
RULE_program = 0
108
110
RULE_defination = 1
@@ -131,25 +133,26 @@ class DIDParser ( Parser ):
131
133
S = 3
132
134
Type = 4
133
135
Query = 5
134
- Oneway = 6
135
- PrimType = 7
136
- NumType = 8
137
- OPT = 9
138
- VEC = 10
139
- RECORD = 11
140
- VARIANT = 12
141
- Service = 13
142
- FUNC = 14
143
- Name = 15
144
- LeftP = 16
145
- RightP = 17
146
- LeftB = 18
147
- RightB = 19
148
- Arrow = 20
149
- Colon = 21
150
- Semicolon = 22
151
- Eq = 23
152
- Comma = 24
136
+ CompositeQuery = 6
137
+ Oneway = 7
138
+ PrimType = 8
139
+ NumType = 9
140
+ OPT = 10
141
+ VEC = 11
142
+ RECORD = 12
143
+ VARIANT = 13
144
+ Service = 14
145
+ FUNC = 15
146
+ Name = 16
147
+ LeftP = 17
148
+ RightP = 18
149
+ LeftB = 19
150
+ RightB = 20
151
+ Arrow = 21
152
+ Colon = 22
153
+ Semicolon = 23
154
+ Eq = 24
155
+ Comma = 25
153
156
154
157
def __init__ (self , input :TokenStream , output :TextIO = sys .stdout ):
155
158
super ().__init__ (input , output )
@@ -1234,7 +1237,7 @@ def functype(self):
1234
1237
self .state = 143
1235
1238
self ._errHandler .sync (self )
1236
1239
_la = self ._input .LA (1 )
1237
- if _la == DIDParser .Query or _la == DIDParser .Oneway :
1240
+ if ((( _la ) & ~ 0x3f ) == 0 and (( 1 << _la ) & (( 1 << DIDParser .Query ) | ( 1 << DIDParser .CompositeQuery ) | ( 1 << DIDParser . Oneway ))) != 0 ) :
1238
1241
self .state = 142
1239
1242
self .funcann ()
1240
1243
@@ -1496,13 +1499,31 @@ def exitRule(self, listener:ParseTreeListener):
1496
1499
listener .exitOneway (self )
1497
1500
1498
1501
1502
+ class CompositeQueryContext (FuncannContext ):
1503
+
1504
+ def __init__ (self , parser , ctx :ParserRuleContext ): # actually a DIDParser.FuncannContext
1505
+ super ().__init__ (parser )
1506
+ self .copyFrom (ctx )
1507
+
1508
+ def CompositeQuery (self ):
1509
+ return self .getToken (DIDParser .CompositeQuery , 0 )
1510
+
1511
+ def enterRule (self , listener :ParseTreeListener ):
1512
+ if hasattr ( listener , "enterCompositeQuery" ):
1513
+ listener .enterCompositeQuery (self )
1514
+
1515
+ def exitRule (self , listener :ParseTreeListener ):
1516
+ if hasattr ( listener , "exitCompositeQuery" ):
1517
+ listener .exitCompositeQuery (self )
1518
+
1519
+
1499
1520
1500
1521
def funcann (self ):
1501
1522
1502
1523
localctx = DIDParser .FuncannContext (self , self ._ctx , self .state )
1503
1524
self .enterRule (localctx , 26 , self .RULE_funcann )
1504
1525
try :
1505
- self .state = 171
1526
+ self .state = 172
1506
1527
self ._errHandler .sync (self )
1507
1528
token = self ._input .LA (1 )
1508
1529
if token in [DIDParser .Query ]:
@@ -1511,10 +1532,16 @@ def funcann(self):
1511
1532
self .state = 169
1512
1533
self .match (DIDParser .Query )
1513
1534
pass
1514
- elif token in [DIDParser .Oneway ]:
1515
- localctx = DIDParser .OnewayContext (self , localctx )
1535
+ elif token in [DIDParser .CompositeQuery ]:
1536
+ localctx = DIDParser .CompositeQueryContext (self , localctx )
1516
1537
self .enterOuterAlt (localctx , 2 )
1517
1538
self .state = 170
1539
+ self .match (DIDParser .CompositeQuery )
1540
+ pass
1541
+ elif token in [DIDParser .Oneway ]:
1542
+ localctx = DIDParser .OnewayContext (self , localctx )
1543
+ self .enterOuterAlt (localctx , 3 )
1544
+ self .state = 171
1518
1545
self .match (DIDParser .Oneway )
1519
1546
pass
1520
1547
else :
@@ -1566,11 +1593,11 @@ def methodtype(self):
1566
1593
self .enterRule (localctx , 28 , self .RULE_methodtype )
1567
1594
try :
1568
1595
self .enterOuterAlt (localctx , 1 )
1569
- self .state = 173
1570
- self .match (DIDParser .Name )
1571
1596
self .state = 174
1572
- self .match (DIDParser .Colon )
1597
+ self .match (DIDParser .Name )
1573
1598
self .state = 175
1599
+ self .match (DIDParser .Colon )
1600
+ self .state = 176
1574
1601
self .functype ()
1575
1602
except RecognitionException as re :
1576
1603
localctx .exception = re
0 commit comments