1111
1212def serializedATN ():
1313 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 " )
1616 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 " )
1717 buf .write ("\t \16 \4 \17 \t \17 \4 \20 \t \20 \3 \2 \7 \2 \" \n \2 \f \2 \16 \2 %\13 \2 " )
1818 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():
2626 buf .write ("\3 \13 \3 \13 \3 \13 \5 \13 \u008c \n \13 \3 \f \3 \f \3 \f \3 \f \5 \f \u0092 " )
2727 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 " )
2828 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 " )
8284 return buf .getvalue ()
8385
8486
@@ -93,16 +95,16 @@ class DIDParser ( Parser ):
9395 sharedContextCache = PredictionContextCache ()
9496
9597 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+ "')'" , "'{'" , "'}'" , "' ->'" , "':'" , "';'" , "'='" , "','" ]
100102
101103 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" ]
106108
107109 RULE_program = 0
108110 RULE_defination = 1
@@ -131,25 +133,26 @@ class DIDParser ( Parser ):
131133 S = 3
132134 Type = 4
133135 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
153156
154157 def __init__ (self , input :TokenStream , output :TextIO = sys .stdout ):
155158 super ().__init__ (input , output )
@@ -1234,7 +1237,7 @@ def functype(self):
12341237 self .state = 143
12351238 self ._errHandler .sync (self )
12361239 _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 ) :
12381241 self .state = 142
12391242 self .funcann ()
12401243
@@ -1496,13 +1499,31 @@ def exitRule(self, listener:ParseTreeListener):
14961499 listener .exitOneway (self )
14971500
14981501
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+
14991520
15001521 def funcann (self ):
15011522
15021523 localctx = DIDParser .FuncannContext (self , self ._ctx , self .state )
15031524 self .enterRule (localctx , 26 , self .RULE_funcann )
15041525 try :
1505- self .state = 171
1526+ self .state = 172
15061527 self ._errHandler .sync (self )
15071528 token = self ._input .LA (1 )
15081529 if token in [DIDParser .Query ]:
@@ -1511,10 +1532,16 @@ def funcann(self):
15111532 self .state = 169
15121533 self .match (DIDParser .Query )
15131534 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 )
15161537 self .enterOuterAlt (localctx , 2 )
15171538 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
15181545 self .match (DIDParser .Oneway )
15191546 pass
15201547 else :
@@ -1566,11 +1593,11 @@ def methodtype(self):
15661593 self .enterRule (localctx , 28 , self .RULE_methodtype )
15671594 try :
15681595 self .enterOuterAlt (localctx , 1 )
1569- self .state = 173
1570- self .match (DIDParser .Name )
15711596 self .state = 174
1572- self .match (DIDParser .Colon )
1597+ self .match (DIDParser .Name )
15731598 self .state = 175
1599+ self .match (DIDParser .Colon )
1600+ self .state = 176
15741601 self .functype ()
15751602 except RecognitionException as re :
15761603 localctx .exception = re
0 commit comments