omextra 0.0.0.dev424__py3-none-any.whl → 0.0.0.dev425__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. omextra/.omlish-manifests.json +14 -0
  2. omextra/__about__.py +3 -1
  3. omextra/defs.py +216 -0
  4. omextra/dynamic.py +219 -0
  5. omextra/formats/__init__.py +0 -0
  6. omextra/formats/json/Json.g4 +77 -0
  7. omextra/formats/json/__init__.py +0 -0
  8. omextra/formats/json/_antlr/JsonLexer.py +109 -0
  9. omextra/formats/json/_antlr/JsonListener.py +61 -0
  10. omextra/formats/json/_antlr/JsonParser.py +457 -0
  11. omextra/formats/json/_antlr/JsonVisitor.py +42 -0
  12. omextra/formats/json/_antlr/__init__.py +0 -0
  13. omextra/io/__init__.py +0 -0
  14. omextra/io/trampoline.py +289 -0
  15. omextra/specs/__init__.py +0 -0
  16. omextra/specs/irc/__init__.py +0 -0
  17. omextra/specs/irc/messages/__init__.py +0 -0
  18. omextra/specs/irc/messages/base.py +50 -0
  19. omextra/specs/irc/messages/formats.py +92 -0
  20. omextra/specs/irc/messages/messages.py +775 -0
  21. omextra/specs/irc/messages/parsing.py +99 -0
  22. omextra/specs/irc/numerics/__init__.py +0 -0
  23. omextra/specs/irc/numerics/formats.py +97 -0
  24. omextra/specs/irc/numerics/numerics.py +865 -0
  25. omextra/specs/irc/numerics/types.py +59 -0
  26. omextra/specs/irc/protocol/LICENSE +11 -0
  27. omextra/specs/irc/protocol/__init__.py +61 -0
  28. omextra/specs/irc/protocol/consts.py +6 -0
  29. omextra/specs/irc/protocol/errors.py +30 -0
  30. omextra/specs/irc/protocol/message.py +21 -0
  31. omextra/specs/irc/protocol/nuh.py +55 -0
  32. omextra/specs/irc/protocol/parsing.py +158 -0
  33. omextra/specs/irc/protocol/rendering.py +153 -0
  34. omextra/specs/irc/protocol/tags.py +102 -0
  35. omextra/specs/irc/protocol/utils.py +30 -0
  36. omextra/specs/proto/Protobuf3.g4 +396 -0
  37. omextra/specs/proto/__init__.py +0 -0
  38. omextra/specs/proto/_antlr/Protobuf3Lexer.py +340 -0
  39. omextra/specs/proto/_antlr/Protobuf3Listener.py +448 -0
  40. omextra/specs/proto/_antlr/Protobuf3Parser.py +3909 -0
  41. omextra/specs/proto/_antlr/Protobuf3Visitor.py +257 -0
  42. omextra/specs/proto/_antlr/__init__.py +0 -0
  43. omextra/specs/proto/nodes.py +54 -0
  44. omextra/specs/proto/parsing.py +98 -0
  45. omextra/sql/__init__.py +0 -0
  46. omextra/sql/parsing/Minisql.g4 +292 -0
  47. omextra/sql/parsing/__init__.py +0 -0
  48. omextra/sql/parsing/_antlr/MinisqlLexer.py +322 -0
  49. omextra/sql/parsing/_antlr/MinisqlListener.py +511 -0
  50. omextra/sql/parsing/_antlr/MinisqlParser.py +3763 -0
  51. omextra/sql/parsing/_antlr/MinisqlVisitor.py +292 -0
  52. omextra/sql/parsing/_antlr/__init__.py +0 -0
  53. omextra/sql/parsing/parsing.py +120 -0
  54. omextra/text/__init__.py +0 -0
  55. omextra/text/antlr/__init__.py +0 -0
  56. omextra/text/antlr/cli/__init__.py +0 -0
  57. omextra/text/antlr/cli/__main__.py +11 -0
  58. omextra/text/antlr/cli/cli.py +62 -0
  59. omextra/text/antlr/cli/consts.py +7 -0
  60. omextra/text/antlr/cli/gen.py +188 -0
  61. {omextra-0.0.0.dev424.dist-info → omextra-0.0.0.dev425.dist-info}/METADATA +2 -3
  62. omextra-0.0.0.dev425.dist-info/RECORD +67 -0
  63. omextra/.manifests.json +0 -1
  64. omextra-0.0.0.dev424.dist-info/RECORD +0 -9
  65. {omextra-0.0.0.dev424.dist-info → omextra-0.0.0.dev425.dist-info}/WHEEL +0 -0
  66. {omextra-0.0.0.dev424.dist-info → omextra-0.0.0.dev425.dist-info}/entry_points.txt +0 -0
  67. {omextra-0.0.0.dev424.dist-info → omextra-0.0.0.dev425.dist-info}/licenses/LICENSE +0 -0
  68. {omextra-0.0.0.dev424.dist-info → omextra-0.0.0.dev425.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,3909 @@
1
+ # type: ignore
2
+ # ruff: noqa
3
+ # flake8: noqa
4
+ # @omlish-generated
5
+ # Generated from Protobuf3.g4 by ANTLR 4.13.2
6
+ # encoding: utf-8
7
+ from omlish.text.antlr._runtime._all import *
8
+ from io import StringIO
9
+ import sys
10
+ if sys.version_info[1] > 5:
11
+ from typing import TextIO
12
+ else:
13
+ from typing.io import TextIO
14
+
15
+ def serializedATN():
16
+ return [
17
+ 4,1,59,464,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,
18
+ 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,
19
+ 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,
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,
21
+ 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,
22
+ 7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,
23
+ 2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,
24
+ 7,46,2,47,7,47,1,0,1,0,5,0,99,8,0,10,0,12,0,102,9,0,1,0,1,0,1,1,
25
+ 1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,3,2,116,8,2,1,3,1,3,3,3,120,
26
+ 8,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,3,5,134,8,5,
27
+ 1,5,1,5,1,6,1,6,1,6,1,6,1,6,3,6,143,8,6,1,6,1,6,1,6,3,6,148,8,6,
28
+ 5,6,150,8,6,10,6,12,6,153,9,6,1,7,1,7,5,7,157,8,7,10,7,12,7,160,
29
+ 9,7,1,7,1,7,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,3,9,172,8,9,1,10,1,10,
30
+ 1,10,1,10,1,11,1,11,5,11,180,8,11,10,11,12,11,183,9,11,1,11,1,11,
31
+ 1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,3,12,196,8,12,1,13,
32
+ 1,13,1,13,1,13,1,14,1,14,1,14,1,14,5,14,206,8,14,10,14,12,14,209,
33
+ 9,14,1,14,1,14,1,15,1,15,1,15,3,15,216,8,15,1,15,1,15,1,15,1,15,
34
+ 1,15,5,15,223,8,15,10,15,12,15,226,9,15,1,15,1,15,3,15,230,8,15,
35
+ 1,15,1,15,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,17,3,17,243,
36
+ 8,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,5,18,253,8,18,10,18,
37
+ 12,18,256,9,18,1,18,1,18,1,19,1,19,1,19,1,19,3,19,264,8,19,1,19,
38
+ 1,19,1,19,1,19,1,19,3,19,271,8,19,1,19,1,19,1,19,1,19,1,19,5,19,
39
+ 278,8,19,10,19,12,19,281,9,19,1,19,1,19,3,19,285,8,19,1,20,1,20,
40
+ 1,20,3,20,290,8,20,1,20,1,20,1,21,1,21,1,21,5,21,297,8,21,10,21,
41
+ 12,21,300,9,21,1,22,1,22,1,22,1,22,3,22,306,8,22,1,23,1,23,1,23,
42
+ 5,23,311,8,23,10,23,12,23,314,9,23,1,24,1,24,3,24,318,8,24,1,25,
43
+ 1,25,1,26,1,26,1,27,3,27,325,8,27,1,27,1,27,1,27,1,27,1,27,1,27,
44
+ 1,27,1,27,3,27,335,8,27,1,27,1,27,1,28,1,28,1,28,5,28,342,8,28,10,
45
+ 28,12,28,345,9,28,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,5,
46
+ 30,356,8,30,10,30,12,30,359,9,30,1,30,1,30,1,31,1,31,1,31,1,31,1,
47
+ 31,1,31,1,31,1,31,3,31,371,8,31,1,31,1,31,1,32,1,32,1,32,1,32,1,
48
+ 32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,3,32,388,8,32,1,32,1,
49
+ 32,1,33,1,33,1,34,1,34,1,35,1,35,1,35,5,35,399,8,35,10,35,12,35,
50
+ 402,9,35,1,36,1,36,1,37,1,37,1,38,1,38,1,39,1,39,3,39,412,8,39,1,
51
+ 40,1,40,1,41,1,41,1,42,1,42,1,43,1,43,1,44,3,44,423,8,44,1,44,1,
52
+ 44,5,44,427,8,44,10,44,12,44,430,9,44,1,44,1,44,1,45,3,45,435,8,
53
+ 45,1,45,1,45,3,45,439,8,45,1,45,5,45,442,8,45,10,45,12,45,445,9,
54
+ 45,1,45,1,45,1,46,1,46,1,47,1,47,3,47,453,8,47,1,47,1,47,3,47,457,
55
+ 8,47,1,47,1,47,1,47,3,47,462,8,47,1,47,0,0,48,0,2,4,6,8,10,12,14,
56
+ 16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,
57
+ 60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,0,6,1,0,32,
58
+ 33,2,0,34,34,50,50,6,0,16,18,21,23,25,26,40,43,45,45,48,49,6,0,16,
59
+ 16,21,22,25,26,40,43,45,45,48,49,6,0,20,20,28,28,30,31,38,39,44,
60
+ 46,50,50,2,0,9,9,15,15,478,0,96,1,0,0,0,2,105,1,0,0,0,4,115,1,0,
61
+ 0,0,6,117,1,0,0,0,8,124,1,0,0,0,10,128,1,0,0,0,12,142,1,0,0,0,14,
62
+ 154,1,0,0,0,16,163,1,0,0,0,18,171,1,0,0,0,20,173,1,0,0,0,22,177,
63
+ 1,0,0,0,24,195,1,0,0,0,26,197,1,0,0,0,28,201,1,0,0,0,30,212,1,0,
64
+ 0,0,32,233,1,0,0,0,34,237,1,0,0,0,36,246,1,0,0,0,38,259,1,0,0,0,
65
+ 40,286,1,0,0,0,42,293,1,0,0,0,44,305,1,0,0,0,46,307,1,0,0,0,48,317,
66
+ 1,0,0,0,50,319,1,0,0,0,52,321,1,0,0,0,54,324,1,0,0,0,56,338,1,0,
67
+ 0,0,58,346,1,0,0,0,60,350,1,0,0,0,62,362,1,0,0,0,64,374,1,0,0,0,
68
+ 66,391,1,0,0,0,68,393,1,0,0,0,70,395,1,0,0,0,72,403,1,0,0,0,74,405,
69
+ 1,0,0,0,76,407,1,0,0,0,78,411,1,0,0,0,80,413,1,0,0,0,82,415,1,0,
70
+ 0,0,84,417,1,0,0,0,86,419,1,0,0,0,88,422,1,0,0,0,90,434,1,0,0,0,
71
+ 92,448,1,0,0,0,94,461,1,0,0,0,96,100,3,2,1,0,97,99,3,4,2,0,98,97,
72
+ 1,0,0,0,99,102,1,0,0,0,100,98,1,0,0,0,100,101,1,0,0,0,101,103,1,
73
+ 0,0,0,102,100,1,0,0,0,103,104,5,0,0,1,104,1,1,0,0,0,105,106,5,46,
74
+ 0,0,106,107,5,1,0,0,107,108,7,0,0,0,108,109,5,2,0,0,109,3,1,0,0,
75
+ 0,110,116,3,6,3,0,111,116,3,8,4,0,112,116,3,10,5,0,113,116,3,18,
76
+ 9,0,114,116,3,92,46,0,115,110,1,0,0,0,115,111,1,0,0,0,115,112,1,
77
+ 0,0,0,115,113,1,0,0,0,115,114,1,0,0,0,116,5,1,0,0,0,117,119,5,24,
78
+ 0,0,118,120,7,1,0,0,119,118,1,0,0,0,119,120,1,0,0,0,120,121,1,0,
79
+ 0,0,121,122,5,55,0,0,122,123,5,2,0,0,123,7,1,0,0,0,124,125,5,31,
80
+ 0,0,125,126,3,70,35,0,126,127,5,2,0,0,127,9,1,0,0,0,128,129,5,30,
81
+ 0,0,129,130,3,12,6,0,130,133,5,1,0,0,131,134,3,94,47,0,132,134,3,
82
+ 14,7,0,133,131,1,0,0,0,133,132,1,0,0,0,134,135,1,0,0,0,135,136,5,
83
+ 2,0,0,136,11,1,0,0,0,137,143,5,51,0,0,138,139,5,3,0,0,139,140,3,
84
+ 70,35,0,140,141,5,4,0,0,141,143,1,0,0,0,142,137,1,0,0,0,142,138,
85
+ 1,0,0,0,143,151,1,0,0,0,144,147,5,5,0,0,145,148,5,51,0,0,146,148,
86
+ 3,68,34,0,147,145,1,0,0,0,147,146,1,0,0,0,148,150,1,0,0,0,149,144,
87
+ 1,0,0,0,150,153,1,0,0,0,151,149,1,0,0,0,151,152,1,0,0,0,152,13,1,
88
+ 0,0,0,153,151,1,0,0,0,154,158,5,6,0,0,155,157,3,16,8,0,156,155,1,
89
+ 0,0,0,157,160,1,0,0,0,158,156,1,0,0,0,158,159,1,0,0,0,159,161,1,
90
+ 0,0,0,160,158,1,0,0,0,161,162,5,7,0,0,162,15,1,0,0,0,163,164,3,12,
91
+ 6,0,164,165,5,8,0,0,165,166,3,94,47,0,166,17,1,0,0,0,167,172,3,20,
92
+ 10,0,168,172,3,26,13,0,169,172,3,34,17,0,170,172,3,36,18,0,171,167,
93
+ 1,0,0,0,171,168,1,0,0,0,171,169,1,0,0,0,171,170,1,0,0,0,172,19,1,
94
+ 0,0,0,173,174,5,28,0,0,174,175,3,72,36,0,175,176,3,22,11,0,176,21,
95
+ 1,0,0,0,177,181,5,6,0,0,178,180,3,24,12,0,179,178,1,0,0,0,180,183,
96
+ 1,0,0,0,181,179,1,0,0,0,181,182,1,0,0,0,182,184,1,0,0,0,183,181,
97
+ 1,0,0,0,184,185,5,7,0,0,185,23,1,0,0,0,186,196,3,54,27,0,187,196,
98
+ 3,26,13,0,188,196,3,20,10,0,189,196,3,34,17,0,190,196,3,10,5,0,191,
99
+ 196,3,60,30,0,192,196,3,64,32,0,193,196,3,40,20,0,194,196,3,92,46,
100
+ 0,195,186,1,0,0,0,195,187,1,0,0,0,195,188,1,0,0,0,195,189,1,0,0,
101
+ 0,195,190,1,0,0,0,195,191,1,0,0,0,195,192,1,0,0,0,195,193,1,0,0,
102
+ 0,195,194,1,0,0,0,196,25,1,0,0,0,197,198,5,19,0,0,198,199,3,74,37,
103
+ 0,199,200,3,28,14,0,200,27,1,0,0,0,201,207,5,6,0,0,202,206,3,10,
104
+ 5,0,203,206,3,30,15,0,204,206,3,92,46,0,205,202,1,0,0,0,205,203,
105
+ 1,0,0,0,205,204,1,0,0,0,206,209,1,0,0,0,207,205,1,0,0,0,207,208,
106
+ 1,0,0,0,208,210,1,0,0,0,209,207,1,0,0,0,210,211,5,7,0,0,211,29,1,
107
+ 0,0,0,212,213,5,51,0,0,213,215,5,1,0,0,214,216,5,9,0,0,215,214,1,
108
+ 0,0,0,215,216,1,0,0,0,216,217,1,0,0,0,217,229,5,52,0,0,218,219,5,
109
+ 10,0,0,219,224,3,32,16,0,220,221,5,11,0,0,221,223,3,32,16,0,222,
110
+ 220,1,0,0,0,223,226,1,0,0,0,224,222,1,0,0,0,224,225,1,0,0,0,225,
111
+ 227,1,0,0,0,226,224,1,0,0,0,227,228,5,12,0,0,228,230,1,0,0,0,229,
112
+ 218,1,0,0,0,229,230,1,0,0,0,230,231,1,0,0,0,231,232,5,2,0,0,232,
113
+ 31,1,0,0,0,233,234,3,12,6,0,234,235,5,1,0,0,235,236,3,94,47,0,236,
114
+ 33,1,0,0,0,237,238,5,20,0,0,238,239,3,88,44,0,239,242,5,6,0,0,240,
115
+ 243,3,54,27,0,241,243,3,92,46,0,242,240,1,0,0,0,242,241,1,0,0,0,
116
+ 243,244,1,0,0,0,244,245,5,7,0,0,245,35,1,0,0,0,246,247,5,39,0,0,
117
+ 247,248,3,84,42,0,248,254,5,6,0,0,249,253,3,10,5,0,250,253,3,38,
118
+ 19,0,251,253,3,92,46,0,252,249,1,0,0,0,252,250,1,0,0,0,252,251,1,
119
+ 0,0,0,253,256,1,0,0,0,254,252,1,0,0,0,254,255,1,0,0,0,255,257,1,
120
+ 0,0,0,256,254,1,0,0,0,257,258,5,7,0,0,258,37,1,0,0,0,259,260,5,38,
121
+ 0,0,260,261,3,86,43,0,261,263,5,3,0,0,262,264,5,44,0,0,263,262,1,
122
+ 0,0,0,263,264,1,0,0,0,264,265,1,0,0,0,265,266,3,88,44,0,266,267,
123
+ 5,4,0,0,267,268,5,37,0,0,268,270,5,3,0,0,269,271,5,44,0,0,270,269,
124
+ 1,0,0,0,270,271,1,0,0,0,271,272,1,0,0,0,272,273,3,88,44,0,273,284,
125
+ 5,4,0,0,274,279,5,6,0,0,275,278,3,10,5,0,276,278,3,92,46,0,277,275,
126
+ 1,0,0,0,277,276,1,0,0,0,278,281,1,0,0,0,279,277,1,0,0,0,279,280,
127
+ 1,0,0,0,280,282,1,0,0,0,281,279,1,0,0,0,282,285,5,7,0,0,283,285,
128
+ 5,2,0,0,284,274,1,0,0,0,284,283,1,0,0,0,285,39,1,0,0,0,286,289,5,
129
+ 36,0,0,287,290,3,42,21,0,288,290,3,46,23,0,289,287,1,0,0,0,289,288,
130
+ 1,0,0,0,290,291,1,0,0,0,291,292,5,2,0,0,292,41,1,0,0,0,293,298,3,
131
+ 44,22,0,294,295,5,11,0,0,295,297,3,44,22,0,296,294,1,0,0,0,297,300,
132
+ 1,0,0,0,298,296,1,0,0,0,298,299,1,0,0,0,299,43,1,0,0,0,300,298,1,
133
+ 0,0,0,301,306,5,52,0,0,302,303,5,52,0,0,303,304,5,47,0,0,304,306,
134
+ 5,52,0,0,305,301,1,0,0,0,305,302,1,0,0,0,306,45,1,0,0,0,307,312,
135
+ 5,55,0,0,308,309,5,11,0,0,309,311,5,55,0,0,310,308,1,0,0,0,311,314,
136
+ 1,0,0,0,312,310,1,0,0,0,312,313,1,0,0,0,313,47,1,0,0,0,314,312,1,
137
+ 0,0,0,315,318,3,50,25,0,316,318,3,90,45,0,317,315,1,0,0,0,317,316,
138
+ 1,0,0,0,318,49,1,0,0,0,319,320,7,2,0,0,320,51,1,0,0,0,321,322,5,
139
+ 52,0,0,322,53,1,0,0,0,323,325,5,35,0,0,324,323,1,0,0,0,324,325,1,
140
+ 0,0,0,325,326,1,0,0,0,326,327,3,48,24,0,327,328,3,78,39,0,328,329,
141
+ 5,1,0,0,329,334,3,52,26,0,330,331,5,10,0,0,331,332,3,56,28,0,332,
142
+ 333,5,12,0,0,333,335,1,0,0,0,334,330,1,0,0,0,334,335,1,0,0,0,335,
143
+ 336,1,0,0,0,336,337,5,2,0,0,337,55,1,0,0,0,338,343,3,58,29,0,339,
144
+ 340,5,11,0,0,340,342,3,58,29,0,341,339,1,0,0,0,342,345,1,0,0,0,343,
145
+ 341,1,0,0,0,343,344,1,0,0,0,344,57,1,0,0,0,345,343,1,0,0,0,346,347,
146
+ 3,12,6,0,347,348,5,1,0,0,348,349,3,94,47,0,349,59,1,0,0,0,350,351,
147
+ 5,29,0,0,351,352,3,80,40,0,352,357,5,6,0,0,353,356,3,62,31,0,354,
148
+ 356,3,92,46,0,355,353,1,0,0,0,355,354,1,0,0,0,356,359,1,0,0,0,357,
149
+ 355,1,0,0,0,357,358,1,0,0,0,358,360,1,0,0,0,359,357,1,0,0,0,360,
150
+ 361,5,7,0,0,361,61,1,0,0,0,362,363,3,48,24,0,363,364,3,78,39,0,364,
151
+ 365,5,1,0,0,365,370,3,52,26,0,366,367,5,10,0,0,367,368,3,56,28,0,
152
+ 368,369,5,12,0,0,369,371,1,0,0,0,370,366,1,0,0,0,370,371,1,0,0,0,
153
+ 371,372,1,0,0,0,372,373,5,2,0,0,373,63,1,0,0,0,374,375,5,27,0,0,
154
+ 375,376,5,13,0,0,376,377,3,66,33,0,377,378,5,11,0,0,378,379,3,48,
155
+ 24,0,379,380,5,14,0,0,380,381,3,82,41,0,381,382,5,1,0,0,382,387,
156
+ 3,52,26,0,383,384,5,10,0,0,384,385,3,56,28,0,385,386,5,12,0,0,386,
157
+ 388,1,0,0,0,387,383,1,0,0,0,387,388,1,0,0,0,388,389,1,0,0,0,389,
158
+ 390,5,2,0,0,390,65,1,0,0,0,391,392,7,3,0,0,392,67,1,0,0,0,393,394,
159
+ 7,4,0,0,394,69,1,0,0,0,395,400,5,51,0,0,396,397,5,5,0,0,397,399,
160
+ 5,51,0,0,398,396,1,0,0,0,399,402,1,0,0,0,400,398,1,0,0,0,400,401,
161
+ 1,0,0,0,401,71,1,0,0,0,402,400,1,0,0,0,403,404,5,51,0,0,404,73,1,
162
+ 0,0,0,405,406,5,51,0,0,406,75,1,0,0,0,407,408,5,51,0,0,408,77,1,
163
+ 0,0,0,409,412,5,51,0,0,410,412,3,68,34,0,411,409,1,0,0,0,411,410,
164
+ 1,0,0,0,412,79,1,0,0,0,413,414,5,51,0,0,414,81,1,0,0,0,415,416,5,
165
+ 51,0,0,416,83,1,0,0,0,417,418,5,51,0,0,418,85,1,0,0,0,419,420,5,
166
+ 51,0,0,420,87,1,0,0,0,421,423,5,5,0,0,422,421,1,0,0,0,422,423,1,
167
+ 0,0,0,423,428,1,0,0,0,424,425,5,51,0,0,425,427,5,5,0,0,426,424,1,
168
+ 0,0,0,427,430,1,0,0,0,428,426,1,0,0,0,428,429,1,0,0,0,429,431,1,
169
+ 0,0,0,430,428,1,0,0,0,431,432,3,72,36,0,432,89,1,0,0,0,433,435,5,
170
+ 5,0,0,434,433,1,0,0,0,434,435,1,0,0,0,435,443,1,0,0,0,436,439,5,
171
+ 51,0,0,437,439,3,68,34,0,438,436,1,0,0,0,438,437,1,0,0,0,439,440,
172
+ 1,0,0,0,440,442,5,5,0,0,441,438,1,0,0,0,442,445,1,0,0,0,443,441,
173
+ 1,0,0,0,443,444,1,0,0,0,444,446,1,0,0,0,445,443,1,0,0,0,446,447,
174
+ 3,76,38,0,447,91,1,0,0,0,448,449,5,2,0,0,449,93,1,0,0,0,450,462,
175
+ 3,70,35,0,451,453,7,5,0,0,452,451,1,0,0,0,452,453,1,0,0,0,453,454,
176
+ 1,0,0,0,454,462,5,52,0,0,455,457,7,5,0,0,456,455,1,0,0,0,456,457,
177
+ 1,0,0,0,457,458,1,0,0,0,458,462,5,53,0,0,459,462,5,55,0,0,460,462,
178
+ 5,54,0,0,461,450,1,0,0,0,461,452,1,0,0,0,461,456,1,0,0,0,461,459,
179
+ 1,0,0,0,461,460,1,0,0,0,462,95,1,0,0,0,46,100,115,119,133,142,147,
180
+ 151,158,171,181,195,205,207,215,224,229,242,252,254,263,270,277,
181
+ 279,284,289,298,305,312,317,324,334,343,355,357,370,387,400,411,
182
+ 422,428,434,438,443,452,456,461
183
+ ]
184
+
185
+ class Protobuf3Parser ( Parser ):
186
+
187
+ grammarFileName = "Protobuf3.g4"
188
+
189
+ atn = ATNDeserializer().deserialize(serializedATN())
190
+
191
+ decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ]
192
+
193
+ sharedContextCache = PredictionContextCache()
194
+
195
+ literalNames = [ "<INVALID>", "'='", "';'", "'('", "')'", "'.'", "'{'",
196
+ "'}'", "':'", "'-'", "'['", "','", "']'", "'<'", "'>'",
197
+ "'+'", "'bool'", "'bytes'", "'double'", "'enum'", "'extend'",
198
+ "'fixed32'", "'fixed64'", "'float'", "'import'", "'int32'",
199
+ "'int64'", "'map'", "'message'", "'oneof'", "'option'",
200
+ "'package'", "'\"proto3\"'", "''proto3''", "'public'",
201
+ "'repeated'", "'reserved'", "'returns'", "'rpc'", "'service'",
202
+ "'sfixed32'", "'sfixed64'", "'sint32'", "'sint64'",
203
+ "'stream'", "'string'", "'syntax'", "'to'", "'uint32'",
204
+ "'uint64'", "'weak'" ]
205
+
206
+ symbolicNames = [ "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>",
207
+ "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>",
208
+ "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>",
209
+ "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>",
210
+ "BOOL", "BYTES", "DOUBLE", "ENUM", "EXTEND", "FIXED32",
211
+ "FIXED64", "FLOAT", "IMPORT", "INT32", "INT64", "MAP",
212
+ "MESSAGE", "ONEOF", "OPTION", "PACKAGE", "PROTO3_DOUBLE",
213
+ "PROTO3_SINGLE", "PUBLIC", "REPEATED", "RESERVED",
214
+ "RETURNS", "RPC", "SERVICE", "SFIXED32", "SFIXED64",
215
+ "SINT32", "SINT64", "STREAM", "STRING", "SYNTAX",
216
+ "TO", "UINT32", "UINT64", "WEAK", "IDENT", "INT_LIT",
217
+ "FLOAT_LIT", "BOOL_LIT", "STR_LIT", "QUOTE", "WS",
218
+ "COMMENT", "LINE_COMMENT" ]
219
+
220
+ RULE_proto = 0
221
+ RULE_syntax = 1
222
+ RULE_syntaxExtra = 2
223
+ RULE_importStmt = 3
224
+ RULE_packageStmt = 4
225
+ RULE_option = 5
226
+ RULE_optionName = 6
227
+ RULE_optionBody = 7
228
+ RULE_optionBodyVariable = 8
229
+ RULE_topLevelDef = 9
230
+ RULE_message = 10
231
+ RULE_messageBody = 11
232
+ RULE_messageBodyContent = 12
233
+ RULE_enumDef = 13
234
+ RULE_enumBody = 14
235
+ RULE_enumField = 15
236
+ RULE_enumValueOption = 16
237
+ RULE_extend = 17
238
+ RULE_service = 18
239
+ RULE_rpc = 19
240
+ RULE_reserved = 20
241
+ RULE_ranges = 21
242
+ RULE_rangeRule = 22
243
+ RULE_fieldNames = 23
244
+ RULE_typeRule = 24
245
+ RULE_simpleType = 25
246
+ RULE_fieldNumber = 26
247
+ RULE_field = 27
248
+ RULE_fieldOptions = 28
249
+ RULE_fieldOption = 29
250
+ RULE_oneof = 30
251
+ RULE_oneofField = 31
252
+ RULE_mapField = 32
253
+ RULE_keyType = 33
254
+ RULE_reservedWord = 34
255
+ RULE_fullIdent = 35
256
+ RULE_messageName = 36
257
+ RULE_enumName = 37
258
+ RULE_messageOrEnumName = 38
259
+ RULE_fieldName = 39
260
+ RULE_oneofName = 40
261
+ RULE_mapName = 41
262
+ RULE_serviceName = 42
263
+ RULE_rpcName = 43
264
+ RULE_messageType = 44
265
+ RULE_messageOrEnumType = 45
266
+ RULE_emptyStmt = 46
267
+ RULE_constant = 47
268
+
269
+ ruleNames = [ "proto", "syntax", "syntaxExtra", "importStmt", "packageStmt",
270
+ "option", "optionName", "optionBody", "optionBodyVariable",
271
+ "topLevelDef", "message", "messageBody", "messageBodyContent",
272
+ "enumDef", "enumBody", "enumField", "enumValueOption",
273
+ "extend", "service", "rpc", "reserved", "ranges", "rangeRule",
274
+ "fieldNames", "typeRule", "simpleType", "fieldNumber",
275
+ "field", "fieldOptions", "fieldOption", "oneof", "oneofField",
276
+ "mapField", "keyType", "reservedWord", "fullIdent", "messageName",
277
+ "enumName", "messageOrEnumName", "fieldName", "oneofName",
278
+ "mapName", "serviceName", "rpcName", "messageType", "messageOrEnumType",
279
+ "emptyStmt", "constant" ]
280
+
281
+ EOF = Token.EOF
282
+ T__0=1
283
+ T__1=2
284
+ T__2=3
285
+ T__3=4
286
+ T__4=5
287
+ T__5=6
288
+ T__6=7
289
+ T__7=8
290
+ T__8=9
291
+ T__9=10
292
+ T__10=11
293
+ T__11=12
294
+ T__12=13
295
+ T__13=14
296
+ T__14=15
297
+ BOOL=16
298
+ BYTES=17
299
+ DOUBLE=18
300
+ ENUM=19
301
+ EXTEND=20
302
+ FIXED32=21
303
+ FIXED64=22
304
+ FLOAT=23
305
+ IMPORT=24
306
+ INT32=25
307
+ INT64=26
308
+ MAP=27
309
+ MESSAGE=28
310
+ ONEOF=29
311
+ OPTION=30
312
+ PACKAGE=31
313
+ PROTO3_DOUBLE=32
314
+ PROTO3_SINGLE=33
315
+ PUBLIC=34
316
+ REPEATED=35
317
+ RESERVED=36
318
+ RETURNS=37
319
+ RPC=38
320
+ SERVICE=39
321
+ SFIXED32=40
322
+ SFIXED64=41
323
+ SINT32=42
324
+ SINT64=43
325
+ STREAM=44
326
+ STRING=45
327
+ SYNTAX=46
328
+ TO=47
329
+ UINT32=48
330
+ UINT64=49
331
+ WEAK=50
332
+ IDENT=51
333
+ INT_LIT=52
334
+ FLOAT_LIT=53
335
+ BOOL_LIT=54
336
+ STR_LIT=55
337
+ QUOTE=56
338
+ WS=57
339
+ COMMENT=58
340
+ LINE_COMMENT=59
341
+
342
+ def __init__(self, input:TokenStream, output:TextIO = sys.stdout):
343
+ super().__init__(input, output)
344
+ self.checkVersion("4.13.2")
345
+ self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache)
346
+ self._predicates = None
347
+
348
+
349
+
350
+
351
+ class ProtoContext(ParserRuleContext):
352
+ __slots__ = 'parser'
353
+
354
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
355
+ super().__init__(parent, invokingState)
356
+ self.parser = parser
357
+
358
+ def syntax(self):
359
+ return self.getTypedRuleContext(Protobuf3Parser.SyntaxContext,0)
360
+
361
+
362
+ def EOF(self):
363
+ return self.getToken(Protobuf3Parser.EOF, 0)
364
+
365
+ def syntaxExtra(self, i:int=None):
366
+ if i is None:
367
+ return self.getTypedRuleContexts(Protobuf3Parser.SyntaxExtraContext)
368
+ else:
369
+ return self.getTypedRuleContext(Protobuf3Parser.SyntaxExtraContext,i)
370
+
371
+
372
+ def getRuleIndex(self):
373
+ return Protobuf3Parser.RULE_proto
374
+
375
+ def enterRule(self, listener:ParseTreeListener):
376
+ if hasattr( listener, "enterProto" ):
377
+ listener.enterProto(self)
378
+
379
+ def exitRule(self, listener:ParseTreeListener):
380
+ if hasattr( listener, "exitProto" ):
381
+ listener.exitProto(self)
382
+
383
+ def accept(self, visitor:ParseTreeVisitor):
384
+ if hasattr( visitor, "visitProto" ):
385
+ return visitor.visitProto(self)
386
+ else:
387
+ return visitor.visitChildren(self)
388
+
389
+
390
+
391
+
392
+ def proto(self):
393
+
394
+ localctx = Protobuf3Parser.ProtoContext(self, self._ctx, self.state)
395
+ self.enterRule(localctx, 0, self.RULE_proto)
396
+ self._la = 0 # Token type
397
+ try:
398
+ self.enterOuterAlt(localctx, 1)
399
+ self.state = 96
400
+ self.syntax()
401
+ self.state = 100
402
+ self._errHandler.sync(self)
403
+ _la = self._input.LA(1)
404
+ while (((_la) & ~0x3f) == 0 and ((1 << _la) & 553263824900) != 0):
405
+ self.state = 97
406
+ self.syntaxExtra()
407
+ self.state = 102
408
+ self._errHandler.sync(self)
409
+ _la = self._input.LA(1)
410
+
411
+ self.state = 103
412
+ self.match(Protobuf3Parser.EOF)
413
+ except RecognitionException as re:
414
+ localctx.exception = re
415
+ self._errHandler.reportError(self, re)
416
+ self._errHandler.recover(self, re)
417
+ finally:
418
+ self.exitRule()
419
+ return localctx
420
+
421
+
422
+ class SyntaxContext(ParserRuleContext):
423
+ __slots__ = 'parser'
424
+
425
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
426
+ super().__init__(parent, invokingState)
427
+ self.parser = parser
428
+
429
+ def SYNTAX(self):
430
+ return self.getToken(Protobuf3Parser.SYNTAX, 0)
431
+
432
+ def PROTO3_DOUBLE(self):
433
+ return self.getToken(Protobuf3Parser.PROTO3_DOUBLE, 0)
434
+
435
+ def PROTO3_SINGLE(self):
436
+ return self.getToken(Protobuf3Parser.PROTO3_SINGLE, 0)
437
+
438
+ def getRuleIndex(self):
439
+ return Protobuf3Parser.RULE_syntax
440
+
441
+ def enterRule(self, listener:ParseTreeListener):
442
+ if hasattr( listener, "enterSyntax" ):
443
+ listener.enterSyntax(self)
444
+
445
+ def exitRule(self, listener:ParseTreeListener):
446
+ if hasattr( listener, "exitSyntax" ):
447
+ listener.exitSyntax(self)
448
+
449
+ def accept(self, visitor:ParseTreeVisitor):
450
+ if hasattr( visitor, "visitSyntax" ):
451
+ return visitor.visitSyntax(self)
452
+ else:
453
+ return visitor.visitChildren(self)
454
+
455
+
456
+
457
+
458
+ def syntax(self):
459
+
460
+ localctx = Protobuf3Parser.SyntaxContext(self, self._ctx, self.state)
461
+ self.enterRule(localctx, 2, self.RULE_syntax)
462
+ self._la = 0 # Token type
463
+ try:
464
+ self.enterOuterAlt(localctx, 1)
465
+ self.state = 105
466
+ self.match(Protobuf3Parser.SYNTAX)
467
+ self.state = 106
468
+ self.match(Protobuf3Parser.T__0)
469
+ self.state = 107
470
+ _la = self._input.LA(1)
471
+ if not(_la==32 or _la==33):
472
+ self._errHandler.recoverInline(self)
473
+ else:
474
+ self._errHandler.reportMatch(self)
475
+ self.consume()
476
+ self.state = 108
477
+ self.match(Protobuf3Parser.T__1)
478
+ except RecognitionException as re:
479
+ localctx.exception = re
480
+ self._errHandler.reportError(self, re)
481
+ self._errHandler.recover(self, re)
482
+ finally:
483
+ self.exitRule()
484
+ return localctx
485
+
486
+
487
+ class SyntaxExtraContext(ParserRuleContext):
488
+ __slots__ = 'parser'
489
+
490
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
491
+ super().__init__(parent, invokingState)
492
+ self.parser = parser
493
+
494
+ def importStmt(self):
495
+ return self.getTypedRuleContext(Protobuf3Parser.ImportStmtContext,0)
496
+
497
+
498
+ def packageStmt(self):
499
+ return self.getTypedRuleContext(Protobuf3Parser.PackageStmtContext,0)
500
+
501
+
502
+ def option(self):
503
+ return self.getTypedRuleContext(Protobuf3Parser.OptionContext,0)
504
+
505
+
506
+ def topLevelDef(self):
507
+ return self.getTypedRuleContext(Protobuf3Parser.TopLevelDefContext,0)
508
+
509
+
510
+ def emptyStmt(self):
511
+ return self.getTypedRuleContext(Protobuf3Parser.EmptyStmtContext,0)
512
+
513
+
514
+ def getRuleIndex(self):
515
+ return Protobuf3Parser.RULE_syntaxExtra
516
+
517
+ def enterRule(self, listener:ParseTreeListener):
518
+ if hasattr( listener, "enterSyntaxExtra" ):
519
+ listener.enterSyntaxExtra(self)
520
+
521
+ def exitRule(self, listener:ParseTreeListener):
522
+ if hasattr( listener, "exitSyntaxExtra" ):
523
+ listener.exitSyntaxExtra(self)
524
+
525
+ def accept(self, visitor:ParseTreeVisitor):
526
+ if hasattr( visitor, "visitSyntaxExtra" ):
527
+ return visitor.visitSyntaxExtra(self)
528
+ else:
529
+ return visitor.visitChildren(self)
530
+
531
+
532
+
533
+
534
+ def syntaxExtra(self):
535
+
536
+ localctx = Protobuf3Parser.SyntaxExtraContext(self, self._ctx, self.state)
537
+ self.enterRule(localctx, 4, self.RULE_syntaxExtra)
538
+ try:
539
+ self.state = 115
540
+ self._errHandler.sync(self)
541
+ token = self._input.LA(1)
542
+ if token in [24]:
543
+ self.enterOuterAlt(localctx, 1)
544
+ self.state = 110
545
+ self.importStmt()
546
+ pass
547
+ elif token in [31]:
548
+ self.enterOuterAlt(localctx, 2)
549
+ self.state = 111
550
+ self.packageStmt()
551
+ pass
552
+ elif token in [30]:
553
+ self.enterOuterAlt(localctx, 3)
554
+ self.state = 112
555
+ self.option()
556
+ pass
557
+ elif token in [19, 20, 28, 39]:
558
+ self.enterOuterAlt(localctx, 4)
559
+ self.state = 113
560
+ self.topLevelDef()
561
+ pass
562
+ elif token in [2]:
563
+ self.enterOuterAlt(localctx, 5)
564
+ self.state = 114
565
+ self.emptyStmt()
566
+ pass
567
+ else:
568
+ raise NoViableAltException(self)
569
+
570
+ except RecognitionException as re:
571
+ localctx.exception = re
572
+ self._errHandler.reportError(self, re)
573
+ self._errHandler.recover(self, re)
574
+ finally:
575
+ self.exitRule()
576
+ return localctx
577
+
578
+
579
+ class ImportStmtContext(ParserRuleContext):
580
+ __slots__ = 'parser'
581
+
582
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
583
+ super().__init__(parent, invokingState)
584
+ self.parser = parser
585
+
586
+ def IMPORT(self):
587
+ return self.getToken(Protobuf3Parser.IMPORT, 0)
588
+
589
+ def STR_LIT(self):
590
+ return self.getToken(Protobuf3Parser.STR_LIT, 0)
591
+
592
+ def WEAK(self):
593
+ return self.getToken(Protobuf3Parser.WEAK, 0)
594
+
595
+ def PUBLIC(self):
596
+ return self.getToken(Protobuf3Parser.PUBLIC, 0)
597
+
598
+ def getRuleIndex(self):
599
+ return Protobuf3Parser.RULE_importStmt
600
+
601
+ def enterRule(self, listener:ParseTreeListener):
602
+ if hasattr( listener, "enterImportStmt" ):
603
+ listener.enterImportStmt(self)
604
+
605
+ def exitRule(self, listener:ParseTreeListener):
606
+ if hasattr( listener, "exitImportStmt" ):
607
+ listener.exitImportStmt(self)
608
+
609
+ def accept(self, visitor:ParseTreeVisitor):
610
+ if hasattr( visitor, "visitImportStmt" ):
611
+ return visitor.visitImportStmt(self)
612
+ else:
613
+ return visitor.visitChildren(self)
614
+
615
+
616
+
617
+
618
+ def importStmt(self):
619
+
620
+ localctx = Protobuf3Parser.ImportStmtContext(self, self._ctx, self.state)
621
+ self.enterRule(localctx, 6, self.RULE_importStmt)
622
+ self._la = 0 # Token type
623
+ try:
624
+ self.enterOuterAlt(localctx, 1)
625
+ self.state = 117
626
+ self.match(Protobuf3Parser.IMPORT)
627
+ self.state = 119
628
+ self._errHandler.sync(self)
629
+ _la = self._input.LA(1)
630
+ if _la==34 or _la==50:
631
+ self.state = 118
632
+ _la = self._input.LA(1)
633
+ if not(_la==34 or _la==50):
634
+ self._errHandler.recoverInline(self)
635
+ else:
636
+ self._errHandler.reportMatch(self)
637
+ self.consume()
638
+
639
+
640
+ self.state = 121
641
+ self.match(Protobuf3Parser.STR_LIT)
642
+ self.state = 122
643
+ self.match(Protobuf3Parser.T__1)
644
+ except RecognitionException as re:
645
+ localctx.exception = re
646
+ self._errHandler.reportError(self, re)
647
+ self._errHandler.recover(self, re)
648
+ finally:
649
+ self.exitRule()
650
+ return localctx
651
+
652
+
653
+ class PackageStmtContext(ParserRuleContext):
654
+ __slots__ = 'parser'
655
+
656
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
657
+ super().__init__(parent, invokingState)
658
+ self.parser = parser
659
+
660
+ def PACKAGE(self):
661
+ return self.getToken(Protobuf3Parser.PACKAGE, 0)
662
+
663
+ def fullIdent(self):
664
+ return self.getTypedRuleContext(Protobuf3Parser.FullIdentContext,0)
665
+
666
+
667
+ def getRuleIndex(self):
668
+ return Protobuf3Parser.RULE_packageStmt
669
+
670
+ def enterRule(self, listener:ParseTreeListener):
671
+ if hasattr( listener, "enterPackageStmt" ):
672
+ listener.enterPackageStmt(self)
673
+
674
+ def exitRule(self, listener:ParseTreeListener):
675
+ if hasattr( listener, "exitPackageStmt" ):
676
+ listener.exitPackageStmt(self)
677
+
678
+ def accept(self, visitor:ParseTreeVisitor):
679
+ if hasattr( visitor, "visitPackageStmt" ):
680
+ return visitor.visitPackageStmt(self)
681
+ else:
682
+ return visitor.visitChildren(self)
683
+
684
+
685
+
686
+
687
+ def packageStmt(self):
688
+
689
+ localctx = Protobuf3Parser.PackageStmtContext(self, self._ctx, self.state)
690
+ self.enterRule(localctx, 8, self.RULE_packageStmt)
691
+ try:
692
+ self.enterOuterAlt(localctx, 1)
693
+ self.state = 124
694
+ self.match(Protobuf3Parser.PACKAGE)
695
+ self.state = 125
696
+ self.fullIdent()
697
+ self.state = 126
698
+ self.match(Protobuf3Parser.T__1)
699
+ except RecognitionException as re:
700
+ localctx.exception = re
701
+ self._errHandler.reportError(self, re)
702
+ self._errHandler.recover(self, re)
703
+ finally:
704
+ self.exitRule()
705
+ return localctx
706
+
707
+
708
+ class OptionContext(ParserRuleContext):
709
+ __slots__ = 'parser'
710
+
711
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
712
+ super().__init__(parent, invokingState)
713
+ self.parser = parser
714
+
715
+ def OPTION(self):
716
+ return self.getToken(Protobuf3Parser.OPTION, 0)
717
+
718
+ def optionName(self):
719
+ return self.getTypedRuleContext(Protobuf3Parser.OptionNameContext,0)
720
+
721
+
722
+ def constant(self):
723
+ return self.getTypedRuleContext(Protobuf3Parser.ConstantContext,0)
724
+
725
+
726
+ def optionBody(self):
727
+ return self.getTypedRuleContext(Protobuf3Parser.OptionBodyContext,0)
728
+
729
+
730
+ def getRuleIndex(self):
731
+ return Protobuf3Parser.RULE_option
732
+
733
+ def enterRule(self, listener:ParseTreeListener):
734
+ if hasattr( listener, "enterOption" ):
735
+ listener.enterOption(self)
736
+
737
+ def exitRule(self, listener:ParseTreeListener):
738
+ if hasattr( listener, "exitOption" ):
739
+ listener.exitOption(self)
740
+
741
+ def accept(self, visitor:ParseTreeVisitor):
742
+ if hasattr( visitor, "visitOption" ):
743
+ return visitor.visitOption(self)
744
+ else:
745
+ return visitor.visitChildren(self)
746
+
747
+
748
+
749
+
750
+ def option(self):
751
+
752
+ localctx = Protobuf3Parser.OptionContext(self, self._ctx, self.state)
753
+ self.enterRule(localctx, 10, self.RULE_option)
754
+ try:
755
+ self.enterOuterAlt(localctx, 1)
756
+ self.state = 128
757
+ self.match(Protobuf3Parser.OPTION)
758
+ self.state = 129
759
+ self.optionName()
760
+ self.state = 130
761
+ self.match(Protobuf3Parser.T__0)
762
+ self.state = 133
763
+ self._errHandler.sync(self)
764
+ token = self._input.LA(1)
765
+ if token in [9, 15, 51, 52, 53, 54, 55]:
766
+ self.state = 131
767
+ self.constant()
768
+ pass
769
+ elif token in [6]:
770
+ self.state = 132
771
+ self.optionBody()
772
+ pass
773
+ else:
774
+ raise NoViableAltException(self)
775
+
776
+ self.state = 135
777
+ self.match(Protobuf3Parser.T__1)
778
+ except RecognitionException as re:
779
+ localctx.exception = re
780
+ self._errHandler.reportError(self, re)
781
+ self._errHandler.recover(self, re)
782
+ finally:
783
+ self.exitRule()
784
+ return localctx
785
+
786
+
787
+ class OptionNameContext(ParserRuleContext):
788
+ __slots__ = 'parser'
789
+
790
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
791
+ super().__init__(parent, invokingState)
792
+ self.parser = parser
793
+
794
+ def IDENT(self, i:int=None):
795
+ if i is None:
796
+ return self.getTokens(Protobuf3Parser.IDENT)
797
+ else:
798
+ return self.getToken(Protobuf3Parser.IDENT, i)
799
+
800
+ def fullIdent(self):
801
+ return self.getTypedRuleContext(Protobuf3Parser.FullIdentContext,0)
802
+
803
+
804
+ def reservedWord(self, i:int=None):
805
+ if i is None:
806
+ return self.getTypedRuleContexts(Protobuf3Parser.ReservedWordContext)
807
+ else:
808
+ return self.getTypedRuleContext(Protobuf3Parser.ReservedWordContext,i)
809
+
810
+
811
+ def getRuleIndex(self):
812
+ return Protobuf3Parser.RULE_optionName
813
+
814
+ def enterRule(self, listener:ParseTreeListener):
815
+ if hasattr( listener, "enterOptionName" ):
816
+ listener.enterOptionName(self)
817
+
818
+ def exitRule(self, listener:ParseTreeListener):
819
+ if hasattr( listener, "exitOptionName" ):
820
+ listener.exitOptionName(self)
821
+
822
+ def accept(self, visitor:ParseTreeVisitor):
823
+ if hasattr( visitor, "visitOptionName" ):
824
+ return visitor.visitOptionName(self)
825
+ else:
826
+ return visitor.visitChildren(self)
827
+
828
+
829
+
830
+
831
+ def optionName(self):
832
+
833
+ localctx = Protobuf3Parser.OptionNameContext(self, self._ctx, self.state)
834
+ self.enterRule(localctx, 12, self.RULE_optionName)
835
+ self._la = 0 # Token type
836
+ try:
837
+ self.enterOuterAlt(localctx, 1)
838
+ self.state = 142
839
+ self._errHandler.sync(self)
840
+ token = self._input.LA(1)
841
+ if token in [51]:
842
+ self.state = 137
843
+ self.match(Protobuf3Parser.IDENT)
844
+ pass
845
+ elif token in [3]:
846
+ self.state = 138
847
+ self.match(Protobuf3Parser.T__2)
848
+ self.state = 139
849
+ self.fullIdent()
850
+ self.state = 140
851
+ self.match(Protobuf3Parser.T__3)
852
+ pass
853
+ else:
854
+ raise NoViableAltException(self)
855
+
856
+ self.state = 151
857
+ self._errHandler.sync(self)
858
+ _la = self._input.LA(1)
859
+ while _la==5:
860
+ self.state = 144
861
+ self.match(Protobuf3Parser.T__4)
862
+ self.state = 147
863
+ self._errHandler.sync(self)
864
+ token = self._input.LA(1)
865
+ if token in [51]:
866
+ self.state = 145
867
+ self.match(Protobuf3Parser.IDENT)
868
+ pass
869
+ elif token in [20, 28, 30, 31, 38, 39, 44, 45, 46, 50]:
870
+ self.state = 146
871
+ self.reservedWord()
872
+ pass
873
+ else:
874
+ raise NoViableAltException(self)
875
+
876
+ self.state = 153
877
+ self._errHandler.sync(self)
878
+ _la = self._input.LA(1)
879
+
880
+ except RecognitionException as re:
881
+ localctx.exception = re
882
+ self._errHandler.reportError(self, re)
883
+ self._errHandler.recover(self, re)
884
+ finally:
885
+ self.exitRule()
886
+ return localctx
887
+
888
+
889
+ class OptionBodyContext(ParserRuleContext):
890
+ __slots__ = 'parser'
891
+
892
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
893
+ super().__init__(parent, invokingState)
894
+ self.parser = parser
895
+
896
+ def optionBodyVariable(self, i:int=None):
897
+ if i is None:
898
+ return self.getTypedRuleContexts(Protobuf3Parser.OptionBodyVariableContext)
899
+ else:
900
+ return self.getTypedRuleContext(Protobuf3Parser.OptionBodyVariableContext,i)
901
+
902
+
903
+ def getRuleIndex(self):
904
+ return Protobuf3Parser.RULE_optionBody
905
+
906
+ def enterRule(self, listener:ParseTreeListener):
907
+ if hasattr( listener, "enterOptionBody" ):
908
+ listener.enterOptionBody(self)
909
+
910
+ def exitRule(self, listener:ParseTreeListener):
911
+ if hasattr( listener, "exitOptionBody" ):
912
+ listener.exitOptionBody(self)
913
+
914
+ def accept(self, visitor:ParseTreeVisitor):
915
+ if hasattr( visitor, "visitOptionBody" ):
916
+ return visitor.visitOptionBody(self)
917
+ else:
918
+ return visitor.visitChildren(self)
919
+
920
+
921
+
922
+
923
+ def optionBody(self):
924
+
925
+ localctx = Protobuf3Parser.OptionBodyContext(self, self._ctx, self.state)
926
+ self.enterRule(localctx, 14, self.RULE_optionBody)
927
+ self._la = 0 # Token type
928
+ try:
929
+ self.enterOuterAlt(localctx, 1)
930
+ self.state = 154
931
+ self.match(Protobuf3Parser.T__5)
932
+ self.state = 158
933
+ self._errHandler.sync(self)
934
+ _la = self._input.LA(1)
935
+ while _la==3 or _la==51:
936
+ self.state = 155
937
+ self.optionBodyVariable()
938
+ self.state = 160
939
+ self._errHandler.sync(self)
940
+ _la = self._input.LA(1)
941
+
942
+ self.state = 161
943
+ self.match(Protobuf3Parser.T__6)
944
+ except RecognitionException as re:
945
+ localctx.exception = re
946
+ self._errHandler.reportError(self, re)
947
+ self._errHandler.recover(self, re)
948
+ finally:
949
+ self.exitRule()
950
+ return localctx
951
+
952
+
953
+ class OptionBodyVariableContext(ParserRuleContext):
954
+ __slots__ = 'parser'
955
+
956
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
957
+ super().__init__(parent, invokingState)
958
+ self.parser = parser
959
+
960
+ def optionName(self):
961
+ return self.getTypedRuleContext(Protobuf3Parser.OptionNameContext,0)
962
+
963
+
964
+ def constant(self):
965
+ return self.getTypedRuleContext(Protobuf3Parser.ConstantContext,0)
966
+
967
+
968
+ def getRuleIndex(self):
969
+ return Protobuf3Parser.RULE_optionBodyVariable
970
+
971
+ def enterRule(self, listener:ParseTreeListener):
972
+ if hasattr( listener, "enterOptionBodyVariable" ):
973
+ listener.enterOptionBodyVariable(self)
974
+
975
+ def exitRule(self, listener:ParseTreeListener):
976
+ if hasattr( listener, "exitOptionBodyVariable" ):
977
+ listener.exitOptionBodyVariable(self)
978
+
979
+ def accept(self, visitor:ParseTreeVisitor):
980
+ if hasattr( visitor, "visitOptionBodyVariable" ):
981
+ return visitor.visitOptionBodyVariable(self)
982
+ else:
983
+ return visitor.visitChildren(self)
984
+
985
+
986
+
987
+
988
+ def optionBodyVariable(self):
989
+
990
+ localctx = Protobuf3Parser.OptionBodyVariableContext(self, self._ctx, self.state)
991
+ self.enterRule(localctx, 16, self.RULE_optionBodyVariable)
992
+ try:
993
+ self.enterOuterAlt(localctx, 1)
994
+ self.state = 163
995
+ self.optionName()
996
+ self.state = 164
997
+ self.match(Protobuf3Parser.T__7)
998
+ self.state = 165
999
+ self.constant()
1000
+ except RecognitionException as re:
1001
+ localctx.exception = re
1002
+ self._errHandler.reportError(self, re)
1003
+ self._errHandler.recover(self, re)
1004
+ finally:
1005
+ self.exitRule()
1006
+ return localctx
1007
+
1008
+
1009
+ class TopLevelDefContext(ParserRuleContext):
1010
+ __slots__ = 'parser'
1011
+
1012
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
1013
+ super().__init__(parent, invokingState)
1014
+ self.parser = parser
1015
+
1016
+ def message(self):
1017
+ return self.getTypedRuleContext(Protobuf3Parser.MessageContext,0)
1018
+
1019
+
1020
+ def enumDef(self):
1021
+ return self.getTypedRuleContext(Protobuf3Parser.EnumDefContext,0)
1022
+
1023
+
1024
+ def extend(self):
1025
+ return self.getTypedRuleContext(Protobuf3Parser.ExtendContext,0)
1026
+
1027
+
1028
+ def service(self):
1029
+ return self.getTypedRuleContext(Protobuf3Parser.ServiceContext,0)
1030
+
1031
+
1032
+ def getRuleIndex(self):
1033
+ return Protobuf3Parser.RULE_topLevelDef
1034
+
1035
+ def enterRule(self, listener:ParseTreeListener):
1036
+ if hasattr( listener, "enterTopLevelDef" ):
1037
+ listener.enterTopLevelDef(self)
1038
+
1039
+ def exitRule(self, listener:ParseTreeListener):
1040
+ if hasattr( listener, "exitTopLevelDef" ):
1041
+ listener.exitTopLevelDef(self)
1042
+
1043
+ def accept(self, visitor:ParseTreeVisitor):
1044
+ if hasattr( visitor, "visitTopLevelDef" ):
1045
+ return visitor.visitTopLevelDef(self)
1046
+ else:
1047
+ return visitor.visitChildren(self)
1048
+
1049
+
1050
+
1051
+
1052
+ def topLevelDef(self):
1053
+
1054
+ localctx = Protobuf3Parser.TopLevelDefContext(self, self._ctx, self.state)
1055
+ self.enterRule(localctx, 18, self.RULE_topLevelDef)
1056
+ try:
1057
+ self.state = 171
1058
+ self._errHandler.sync(self)
1059
+ token = self._input.LA(1)
1060
+ if token in [28]:
1061
+ self.enterOuterAlt(localctx, 1)
1062
+ self.state = 167
1063
+ self.message()
1064
+ pass
1065
+ elif token in [19]:
1066
+ self.enterOuterAlt(localctx, 2)
1067
+ self.state = 168
1068
+ self.enumDef()
1069
+ pass
1070
+ elif token in [20]:
1071
+ self.enterOuterAlt(localctx, 3)
1072
+ self.state = 169
1073
+ self.extend()
1074
+ pass
1075
+ elif token in [39]:
1076
+ self.enterOuterAlt(localctx, 4)
1077
+ self.state = 170
1078
+ self.service()
1079
+ pass
1080
+ else:
1081
+ raise NoViableAltException(self)
1082
+
1083
+ except RecognitionException as re:
1084
+ localctx.exception = re
1085
+ self._errHandler.reportError(self, re)
1086
+ self._errHandler.recover(self, re)
1087
+ finally:
1088
+ self.exitRule()
1089
+ return localctx
1090
+
1091
+
1092
+ class MessageContext(ParserRuleContext):
1093
+ __slots__ = 'parser'
1094
+
1095
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
1096
+ super().__init__(parent, invokingState)
1097
+ self.parser = parser
1098
+
1099
+ def MESSAGE(self):
1100
+ return self.getToken(Protobuf3Parser.MESSAGE, 0)
1101
+
1102
+ def messageName(self):
1103
+ return self.getTypedRuleContext(Protobuf3Parser.MessageNameContext,0)
1104
+
1105
+
1106
+ def messageBody(self):
1107
+ return self.getTypedRuleContext(Protobuf3Parser.MessageBodyContext,0)
1108
+
1109
+
1110
+ def getRuleIndex(self):
1111
+ return Protobuf3Parser.RULE_message
1112
+
1113
+ def enterRule(self, listener:ParseTreeListener):
1114
+ if hasattr( listener, "enterMessage" ):
1115
+ listener.enterMessage(self)
1116
+
1117
+ def exitRule(self, listener:ParseTreeListener):
1118
+ if hasattr( listener, "exitMessage" ):
1119
+ listener.exitMessage(self)
1120
+
1121
+ def accept(self, visitor:ParseTreeVisitor):
1122
+ if hasattr( visitor, "visitMessage" ):
1123
+ return visitor.visitMessage(self)
1124
+ else:
1125
+ return visitor.visitChildren(self)
1126
+
1127
+
1128
+
1129
+
1130
+ def message(self):
1131
+
1132
+ localctx = Protobuf3Parser.MessageContext(self, self._ctx, self.state)
1133
+ self.enterRule(localctx, 20, self.RULE_message)
1134
+ try:
1135
+ self.enterOuterAlt(localctx, 1)
1136
+ self.state = 173
1137
+ self.match(Protobuf3Parser.MESSAGE)
1138
+ self.state = 174
1139
+ self.messageName()
1140
+ self.state = 175
1141
+ self.messageBody()
1142
+ except RecognitionException as re:
1143
+ localctx.exception = re
1144
+ self._errHandler.reportError(self, re)
1145
+ self._errHandler.recover(self, re)
1146
+ finally:
1147
+ self.exitRule()
1148
+ return localctx
1149
+
1150
+
1151
+ class MessageBodyContext(ParserRuleContext):
1152
+ __slots__ = 'parser'
1153
+
1154
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
1155
+ super().__init__(parent, invokingState)
1156
+ self.parser = parser
1157
+
1158
+ def messageBodyContent(self, i:int=None):
1159
+ if i is None:
1160
+ return self.getTypedRuleContexts(Protobuf3Parser.MessageBodyContentContext)
1161
+ else:
1162
+ return self.getTypedRuleContext(Protobuf3Parser.MessageBodyContentContext,i)
1163
+
1164
+
1165
+ def getRuleIndex(self):
1166
+ return Protobuf3Parser.RULE_messageBody
1167
+
1168
+ def enterRule(self, listener:ParseTreeListener):
1169
+ if hasattr( listener, "enterMessageBody" ):
1170
+ listener.enterMessageBody(self)
1171
+
1172
+ def exitRule(self, listener:ParseTreeListener):
1173
+ if hasattr( listener, "exitMessageBody" ):
1174
+ listener.exitMessageBody(self)
1175
+
1176
+ def accept(self, visitor:ParseTreeVisitor):
1177
+ if hasattr( visitor, "visitMessageBody" ):
1178
+ return visitor.visitMessageBody(self)
1179
+ else:
1180
+ return visitor.visitChildren(self)
1181
+
1182
+
1183
+
1184
+
1185
+ def messageBody(self):
1186
+
1187
+ localctx = Protobuf3Parser.MessageBodyContext(self, self._ctx, self.state)
1188
+ self.enterRule(localctx, 22, self.RULE_messageBody)
1189
+ self._la = 0 # Token type
1190
+ try:
1191
+ self.enterOuterAlt(localctx, 1)
1192
+ self.state = 177
1193
+ self.match(Protobuf3Parser.T__5)
1194
+ self.state = 181
1195
+ self._errHandler.sync(self)
1196
+ _la = self._input.LA(1)
1197
+ while (((_la) & ~0x3f) == 0 and ((1 << _la) & 4362694618447908) != 0):
1198
+ self.state = 178
1199
+ self.messageBodyContent()
1200
+ self.state = 183
1201
+ self._errHandler.sync(self)
1202
+ _la = self._input.LA(1)
1203
+
1204
+ self.state = 184
1205
+ self.match(Protobuf3Parser.T__6)
1206
+ except RecognitionException as re:
1207
+ localctx.exception = re
1208
+ self._errHandler.reportError(self, re)
1209
+ self._errHandler.recover(self, re)
1210
+ finally:
1211
+ self.exitRule()
1212
+ return localctx
1213
+
1214
+
1215
+ class MessageBodyContentContext(ParserRuleContext):
1216
+ __slots__ = 'parser'
1217
+
1218
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
1219
+ super().__init__(parent, invokingState)
1220
+ self.parser = parser
1221
+
1222
+ def field(self):
1223
+ return self.getTypedRuleContext(Protobuf3Parser.FieldContext,0)
1224
+
1225
+
1226
+ def enumDef(self):
1227
+ return self.getTypedRuleContext(Protobuf3Parser.EnumDefContext,0)
1228
+
1229
+
1230
+ def message(self):
1231
+ return self.getTypedRuleContext(Protobuf3Parser.MessageContext,0)
1232
+
1233
+
1234
+ def extend(self):
1235
+ return self.getTypedRuleContext(Protobuf3Parser.ExtendContext,0)
1236
+
1237
+
1238
+ def option(self):
1239
+ return self.getTypedRuleContext(Protobuf3Parser.OptionContext,0)
1240
+
1241
+
1242
+ def oneof(self):
1243
+ return self.getTypedRuleContext(Protobuf3Parser.OneofContext,0)
1244
+
1245
+
1246
+ def mapField(self):
1247
+ return self.getTypedRuleContext(Protobuf3Parser.MapFieldContext,0)
1248
+
1249
+
1250
+ def reserved(self):
1251
+ return self.getTypedRuleContext(Protobuf3Parser.ReservedContext,0)
1252
+
1253
+
1254
+ def emptyStmt(self):
1255
+ return self.getTypedRuleContext(Protobuf3Parser.EmptyStmtContext,0)
1256
+
1257
+
1258
+ def getRuleIndex(self):
1259
+ return Protobuf3Parser.RULE_messageBodyContent
1260
+
1261
+ def enterRule(self, listener:ParseTreeListener):
1262
+ if hasattr( listener, "enterMessageBodyContent" ):
1263
+ listener.enterMessageBodyContent(self)
1264
+
1265
+ def exitRule(self, listener:ParseTreeListener):
1266
+ if hasattr( listener, "exitMessageBodyContent" ):
1267
+ listener.exitMessageBodyContent(self)
1268
+
1269
+ def accept(self, visitor:ParseTreeVisitor):
1270
+ if hasattr( visitor, "visitMessageBodyContent" ):
1271
+ return visitor.visitMessageBodyContent(self)
1272
+ else:
1273
+ return visitor.visitChildren(self)
1274
+
1275
+
1276
+
1277
+
1278
+ def messageBodyContent(self):
1279
+
1280
+ localctx = Protobuf3Parser.MessageBodyContentContext(self, self._ctx, self.state)
1281
+ self.enterRule(localctx, 24, self.RULE_messageBodyContent)
1282
+ try:
1283
+ self.state = 195
1284
+ self._errHandler.sync(self)
1285
+ la_ = self._interp.adaptivePredict(self._input,10,self._ctx)
1286
+ if la_ == 1:
1287
+ self.enterOuterAlt(localctx, 1)
1288
+ self.state = 186
1289
+ self.field()
1290
+ pass
1291
+
1292
+ elif la_ == 2:
1293
+ self.enterOuterAlt(localctx, 2)
1294
+ self.state = 187
1295
+ self.enumDef()
1296
+ pass
1297
+
1298
+ elif la_ == 3:
1299
+ self.enterOuterAlt(localctx, 3)
1300
+ self.state = 188
1301
+ self.message()
1302
+ pass
1303
+
1304
+ elif la_ == 4:
1305
+ self.enterOuterAlt(localctx, 4)
1306
+ self.state = 189
1307
+ self.extend()
1308
+ pass
1309
+
1310
+ elif la_ == 5:
1311
+ self.enterOuterAlt(localctx, 5)
1312
+ self.state = 190
1313
+ self.option()
1314
+ pass
1315
+
1316
+ elif la_ == 6:
1317
+ self.enterOuterAlt(localctx, 6)
1318
+ self.state = 191
1319
+ self.oneof()
1320
+ pass
1321
+
1322
+ elif la_ == 7:
1323
+ self.enterOuterAlt(localctx, 7)
1324
+ self.state = 192
1325
+ self.mapField()
1326
+ pass
1327
+
1328
+ elif la_ == 8:
1329
+ self.enterOuterAlt(localctx, 8)
1330
+ self.state = 193
1331
+ self.reserved()
1332
+ pass
1333
+
1334
+ elif la_ == 9:
1335
+ self.enterOuterAlt(localctx, 9)
1336
+ self.state = 194
1337
+ self.emptyStmt()
1338
+ pass
1339
+
1340
+
1341
+ except RecognitionException as re:
1342
+ localctx.exception = re
1343
+ self._errHandler.reportError(self, re)
1344
+ self._errHandler.recover(self, re)
1345
+ finally:
1346
+ self.exitRule()
1347
+ return localctx
1348
+
1349
+
1350
+ class EnumDefContext(ParserRuleContext):
1351
+ __slots__ = 'parser'
1352
+
1353
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
1354
+ super().__init__(parent, invokingState)
1355
+ self.parser = parser
1356
+
1357
+ def ENUM(self):
1358
+ return self.getToken(Protobuf3Parser.ENUM, 0)
1359
+
1360
+ def enumName(self):
1361
+ return self.getTypedRuleContext(Protobuf3Parser.EnumNameContext,0)
1362
+
1363
+
1364
+ def enumBody(self):
1365
+ return self.getTypedRuleContext(Protobuf3Parser.EnumBodyContext,0)
1366
+
1367
+
1368
+ def getRuleIndex(self):
1369
+ return Protobuf3Parser.RULE_enumDef
1370
+
1371
+ def enterRule(self, listener:ParseTreeListener):
1372
+ if hasattr( listener, "enterEnumDef" ):
1373
+ listener.enterEnumDef(self)
1374
+
1375
+ def exitRule(self, listener:ParseTreeListener):
1376
+ if hasattr( listener, "exitEnumDef" ):
1377
+ listener.exitEnumDef(self)
1378
+
1379
+ def accept(self, visitor:ParseTreeVisitor):
1380
+ if hasattr( visitor, "visitEnumDef" ):
1381
+ return visitor.visitEnumDef(self)
1382
+ else:
1383
+ return visitor.visitChildren(self)
1384
+
1385
+
1386
+
1387
+
1388
+ def enumDef(self):
1389
+
1390
+ localctx = Protobuf3Parser.EnumDefContext(self, self._ctx, self.state)
1391
+ self.enterRule(localctx, 26, self.RULE_enumDef)
1392
+ try:
1393
+ self.enterOuterAlt(localctx, 1)
1394
+ self.state = 197
1395
+ self.match(Protobuf3Parser.ENUM)
1396
+ self.state = 198
1397
+ self.enumName()
1398
+ self.state = 199
1399
+ self.enumBody()
1400
+ except RecognitionException as re:
1401
+ localctx.exception = re
1402
+ self._errHandler.reportError(self, re)
1403
+ self._errHandler.recover(self, re)
1404
+ finally:
1405
+ self.exitRule()
1406
+ return localctx
1407
+
1408
+
1409
+ class EnumBodyContext(ParserRuleContext):
1410
+ __slots__ = 'parser'
1411
+
1412
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
1413
+ super().__init__(parent, invokingState)
1414
+ self.parser = parser
1415
+
1416
+ def option(self, i:int=None):
1417
+ if i is None:
1418
+ return self.getTypedRuleContexts(Protobuf3Parser.OptionContext)
1419
+ else:
1420
+ return self.getTypedRuleContext(Protobuf3Parser.OptionContext,i)
1421
+
1422
+
1423
+ def enumField(self, i:int=None):
1424
+ if i is None:
1425
+ return self.getTypedRuleContexts(Protobuf3Parser.EnumFieldContext)
1426
+ else:
1427
+ return self.getTypedRuleContext(Protobuf3Parser.EnumFieldContext,i)
1428
+
1429
+
1430
+ def emptyStmt(self, i:int=None):
1431
+ if i is None:
1432
+ return self.getTypedRuleContexts(Protobuf3Parser.EmptyStmtContext)
1433
+ else:
1434
+ return self.getTypedRuleContext(Protobuf3Parser.EmptyStmtContext,i)
1435
+
1436
+
1437
+ def getRuleIndex(self):
1438
+ return Protobuf3Parser.RULE_enumBody
1439
+
1440
+ def enterRule(self, listener:ParseTreeListener):
1441
+ if hasattr( listener, "enterEnumBody" ):
1442
+ listener.enterEnumBody(self)
1443
+
1444
+ def exitRule(self, listener:ParseTreeListener):
1445
+ if hasattr( listener, "exitEnumBody" ):
1446
+ listener.exitEnumBody(self)
1447
+
1448
+ def accept(self, visitor:ParseTreeVisitor):
1449
+ if hasattr( visitor, "visitEnumBody" ):
1450
+ return visitor.visitEnumBody(self)
1451
+ else:
1452
+ return visitor.visitChildren(self)
1453
+
1454
+
1455
+
1456
+
1457
+ def enumBody(self):
1458
+
1459
+ localctx = Protobuf3Parser.EnumBodyContext(self, self._ctx, self.state)
1460
+ self.enterRule(localctx, 28, self.RULE_enumBody)
1461
+ self._la = 0 # Token type
1462
+ try:
1463
+ self.enterOuterAlt(localctx, 1)
1464
+ self.state = 201
1465
+ self.match(Protobuf3Parser.T__5)
1466
+ self.state = 207
1467
+ self._errHandler.sync(self)
1468
+ _la = self._input.LA(1)
1469
+ while (((_la) & ~0x3f) == 0 and ((1 << _la) & 2251800887427076) != 0):
1470
+ self.state = 205
1471
+ self._errHandler.sync(self)
1472
+ token = self._input.LA(1)
1473
+ if token in [30]:
1474
+ self.state = 202
1475
+ self.option()
1476
+ pass
1477
+ elif token in [51]:
1478
+ self.state = 203
1479
+ self.enumField()
1480
+ pass
1481
+ elif token in [2]:
1482
+ self.state = 204
1483
+ self.emptyStmt()
1484
+ pass
1485
+ else:
1486
+ raise NoViableAltException(self)
1487
+
1488
+ self.state = 209
1489
+ self._errHandler.sync(self)
1490
+ _la = self._input.LA(1)
1491
+
1492
+ self.state = 210
1493
+ self.match(Protobuf3Parser.T__6)
1494
+ except RecognitionException as re:
1495
+ localctx.exception = re
1496
+ self._errHandler.reportError(self, re)
1497
+ self._errHandler.recover(self, re)
1498
+ finally:
1499
+ self.exitRule()
1500
+ return localctx
1501
+
1502
+
1503
+ class EnumFieldContext(ParserRuleContext):
1504
+ __slots__ = 'parser'
1505
+
1506
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
1507
+ super().__init__(parent, invokingState)
1508
+ self.parser = parser
1509
+
1510
+ def IDENT(self):
1511
+ return self.getToken(Protobuf3Parser.IDENT, 0)
1512
+
1513
+ def INT_LIT(self):
1514
+ return self.getToken(Protobuf3Parser.INT_LIT, 0)
1515
+
1516
+ def enumValueOption(self, i:int=None):
1517
+ if i is None:
1518
+ return self.getTypedRuleContexts(Protobuf3Parser.EnumValueOptionContext)
1519
+ else:
1520
+ return self.getTypedRuleContext(Protobuf3Parser.EnumValueOptionContext,i)
1521
+
1522
+
1523
+ def getRuleIndex(self):
1524
+ return Protobuf3Parser.RULE_enumField
1525
+
1526
+ def enterRule(self, listener:ParseTreeListener):
1527
+ if hasattr( listener, "enterEnumField" ):
1528
+ listener.enterEnumField(self)
1529
+
1530
+ def exitRule(self, listener:ParseTreeListener):
1531
+ if hasattr( listener, "exitEnumField" ):
1532
+ listener.exitEnumField(self)
1533
+
1534
+ def accept(self, visitor:ParseTreeVisitor):
1535
+ if hasattr( visitor, "visitEnumField" ):
1536
+ return visitor.visitEnumField(self)
1537
+ else:
1538
+ return visitor.visitChildren(self)
1539
+
1540
+
1541
+
1542
+
1543
+ def enumField(self):
1544
+
1545
+ localctx = Protobuf3Parser.EnumFieldContext(self, self._ctx, self.state)
1546
+ self.enterRule(localctx, 30, self.RULE_enumField)
1547
+ self._la = 0 # Token type
1548
+ try:
1549
+ self.enterOuterAlt(localctx, 1)
1550
+ self.state = 212
1551
+ self.match(Protobuf3Parser.IDENT)
1552
+ self.state = 213
1553
+ self.match(Protobuf3Parser.T__0)
1554
+ self.state = 215
1555
+ self._errHandler.sync(self)
1556
+ _la = self._input.LA(1)
1557
+ if _la==9:
1558
+ self.state = 214
1559
+ self.match(Protobuf3Parser.T__8)
1560
+
1561
+
1562
+ self.state = 217
1563
+ self.match(Protobuf3Parser.INT_LIT)
1564
+ self.state = 229
1565
+ self._errHandler.sync(self)
1566
+ _la = self._input.LA(1)
1567
+ if _la==10:
1568
+ self.state = 218
1569
+ self.match(Protobuf3Parser.T__9)
1570
+ self.state = 219
1571
+ self.enumValueOption()
1572
+ self.state = 224
1573
+ self._errHandler.sync(self)
1574
+ _la = self._input.LA(1)
1575
+ while _la==11:
1576
+ self.state = 220
1577
+ self.match(Protobuf3Parser.T__10)
1578
+ self.state = 221
1579
+ self.enumValueOption()
1580
+ self.state = 226
1581
+ self._errHandler.sync(self)
1582
+ _la = self._input.LA(1)
1583
+
1584
+ self.state = 227
1585
+ self.match(Protobuf3Parser.T__11)
1586
+
1587
+
1588
+ self.state = 231
1589
+ self.match(Protobuf3Parser.T__1)
1590
+ except RecognitionException as re:
1591
+ localctx.exception = re
1592
+ self._errHandler.reportError(self, re)
1593
+ self._errHandler.recover(self, re)
1594
+ finally:
1595
+ self.exitRule()
1596
+ return localctx
1597
+
1598
+
1599
+ class EnumValueOptionContext(ParserRuleContext):
1600
+ __slots__ = 'parser'
1601
+
1602
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
1603
+ super().__init__(parent, invokingState)
1604
+ self.parser = parser
1605
+
1606
+ def optionName(self):
1607
+ return self.getTypedRuleContext(Protobuf3Parser.OptionNameContext,0)
1608
+
1609
+
1610
+ def constant(self):
1611
+ return self.getTypedRuleContext(Protobuf3Parser.ConstantContext,0)
1612
+
1613
+
1614
+ def getRuleIndex(self):
1615
+ return Protobuf3Parser.RULE_enumValueOption
1616
+
1617
+ def enterRule(self, listener:ParseTreeListener):
1618
+ if hasattr( listener, "enterEnumValueOption" ):
1619
+ listener.enterEnumValueOption(self)
1620
+
1621
+ def exitRule(self, listener:ParseTreeListener):
1622
+ if hasattr( listener, "exitEnumValueOption" ):
1623
+ listener.exitEnumValueOption(self)
1624
+
1625
+ def accept(self, visitor:ParseTreeVisitor):
1626
+ if hasattr( visitor, "visitEnumValueOption" ):
1627
+ return visitor.visitEnumValueOption(self)
1628
+ else:
1629
+ return visitor.visitChildren(self)
1630
+
1631
+
1632
+
1633
+
1634
+ def enumValueOption(self):
1635
+
1636
+ localctx = Protobuf3Parser.EnumValueOptionContext(self, self._ctx, self.state)
1637
+ self.enterRule(localctx, 32, self.RULE_enumValueOption)
1638
+ try:
1639
+ self.enterOuterAlt(localctx, 1)
1640
+ self.state = 233
1641
+ self.optionName()
1642
+ self.state = 234
1643
+ self.match(Protobuf3Parser.T__0)
1644
+ self.state = 235
1645
+ self.constant()
1646
+ except RecognitionException as re:
1647
+ localctx.exception = re
1648
+ self._errHandler.reportError(self, re)
1649
+ self._errHandler.recover(self, re)
1650
+ finally:
1651
+ self.exitRule()
1652
+ return localctx
1653
+
1654
+
1655
+ class ExtendContext(ParserRuleContext):
1656
+ __slots__ = 'parser'
1657
+
1658
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
1659
+ super().__init__(parent, invokingState)
1660
+ self.parser = parser
1661
+
1662
+ def EXTEND(self):
1663
+ return self.getToken(Protobuf3Parser.EXTEND, 0)
1664
+
1665
+ def messageType(self):
1666
+ return self.getTypedRuleContext(Protobuf3Parser.MessageTypeContext,0)
1667
+
1668
+
1669
+ def field(self):
1670
+ return self.getTypedRuleContext(Protobuf3Parser.FieldContext,0)
1671
+
1672
+
1673
+ def emptyStmt(self):
1674
+ return self.getTypedRuleContext(Protobuf3Parser.EmptyStmtContext,0)
1675
+
1676
+
1677
+ def getRuleIndex(self):
1678
+ return Protobuf3Parser.RULE_extend
1679
+
1680
+ def enterRule(self, listener:ParseTreeListener):
1681
+ if hasattr( listener, "enterExtend" ):
1682
+ listener.enterExtend(self)
1683
+
1684
+ def exitRule(self, listener:ParseTreeListener):
1685
+ if hasattr( listener, "exitExtend" ):
1686
+ listener.exitExtend(self)
1687
+
1688
+ def accept(self, visitor:ParseTreeVisitor):
1689
+ if hasattr( visitor, "visitExtend" ):
1690
+ return visitor.visitExtend(self)
1691
+ else:
1692
+ return visitor.visitChildren(self)
1693
+
1694
+
1695
+
1696
+
1697
+ def extend(self):
1698
+
1699
+ localctx = Protobuf3Parser.ExtendContext(self, self._ctx, self.state)
1700
+ self.enterRule(localctx, 34, self.RULE_extend)
1701
+ try:
1702
+ self.enterOuterAlt(localctx, 1)
1703
+ self.state = 237
1704
+ self.match(Protobuf3Parser.EXTEND)
1705
+ self.state = 238
1706
+ self.messageType()
1707
+ self.state = 239
1708
+ self.match(Protobuf3Parser.T__5)
1709
+ self.state = 242
1710
+ self._errHandler.sync(self)
1711
+ token = self._input.LA(1)
1712
+ if token in [5, 16, 17, 18, 20, 21, 22, 23, 25, 26, 28, 30, 31, 35, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51]:
1713
+ self.state = 240
1714
+ self.field()
1715
+ pass
1716
+ elif token in [2]:
1717
+ self.state = 241
1718
+ self.emptyStmt()
1719
+ pass
1720
+ else:
1721
+ raise NoViableAltException(self)
1722
+
1723
+ self.state = 244
1724
+ self.match(Protobuf3Parser.T__6)
1725
+ except RecognitionException as re:
1726
+ localctx.exception = re
1727
+ self._errHandler.reportError(self, re)
1728
+ self._errHandler.recover(self, re)
1729
+ finally:
1730
+ self.exitRule()
1731
+ return localctx
1732
+
1733
+
1734
+ class ServiceContext(ParserRuleContext):
1735
+ __slots__ = 'parser'
1736
+
1737
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
1738
+ super().__init__(parent, invokingState)
1739
+ self.parser = parser
1740
+
1741
+ def SERVICE(self):
1742
+ return self.getToken(Protobuf3Parser.SERVICE, 0)
1743
+
1744
+ def serviceName(self):
1745
+ return self.getTypedRuleContext(Protobuf3Parser.ServiceNameContext,0)
1746
+
1747
+
1748
+ def option(self, i:int=None):
1749
+ if i is None:
1750
+ return self.getTypedRuleContexts(Protobuf3Parser.OptionContext)
1751
+ else:
1752
+ return self.getTypedRuleContext(Protobuf3Parser.OptionContext,i)
1753
+
1754
+
1755
+ def rpc(self, i:int=None):
1756
+ if i is None:
1757
+ return self.getTypedRuleContexts(Protobuf3Parser.RpcContext)
1758
+ else:
1759
+ return self.getTypedRuleContext(Protobuf3Parser.RpcContext,i)
1760
+
1761
+
1762
+ def emptyStmt(self, i:int=None):
1763
+ if i is None:
1764
+ return self.getTypedRuleContexts(Protobuf3Parser.EmptyStmtContext)
1765
+ else:
1766
+ return self.getTypedRuleContext(Protobuf3Parser.EmptyStmtContext,i)
1767
+
1768
+
1769
+ def getRuleIndex(self):
1770
+ return Protobuf3Parser.RULE_service
1771
+
1772
+ def enterRule(self, listener:ParseTreeListener):
1773
+ if hasattr( listener, "enterService" ):
1774
+ listener.enterService(self)
1775
+
1776
+ def exitRule(self, listener:ParseTreeListener):
1777
+ if hasattr( listener, "exitService" ):
1778
+ listener.exitService(self)
1779
+
1780
+ def accept(self, visitor:ParseTreeVisitor):
1781
+ if hasattr( visitor, "visitService" ):
1782
+ return visitor.visitService(self)
1783
+ else:
1784
+ return visitor.visitChildren(self)
1785
+
1786
+
1787
+
1788
+
1789
+ def service(self):
1790
+
1791
+ localctx = Protobuf3Parser.ServiceContext(self, self._ctx, self.state)
1792
+ self.enterRule(localctx, 36, self.RULE_service)
1793
+ self._la = 0 # Token type
1794
+ try:
1795
+ self.enterOuterAlt(localctx, 1)
1796
+ self.state = 246
1797
+ self.match(Protobuf3Parser.SERVICE)
1798
+ self.state = 247
1799
+ self.serviceName()
1800
+ self.state = 248
1801
+ self.match(Protobuf3Parser.T__5)
1802
+ self.state = 254
1803
+ self._errHandler.sync(self)
1804
+ _la = self._input.LA(1)
1805
+ while (((_la) & ~0x3f) == 0 and ((1 << _la) & 275951648772) != 0):
1806
+ self.state = 252
1807
+ self._errHandler.sync(self)
1808
+ token = self._input.LA(1)
1809
+ if token in [30]:
1810
+ self.state = 249
1811
+ self.option()
1812
+ pass
1813
+ elif token in [38]:
1814
+ self.state = 250
1815
+ self.rpc()
1816
+ pass
1817
+ elif token in [2]:
1818
+ self.state = 251
1819
+ self.emptyStmt()
1820
+ pass
1821
+ else:
1822
+ raise NoViableAltException(self)
1823
+
1824
+ self.state = 256
1825
+ self._errHandler.sync(self)
1826
+ _la = self._input.LA(1)
1827
+
1828
+ self.state = 257
1829
+ self.match(Protobuf3Parser.T__6)
1830
+ except RecognitionException as re:
1831
+ localctx.exception = re
1832
+ self._errHandler.reportError(self, re)
1833
+ self._errHandler.recover(self, re)
1834
+ finally:
1835
+ self.exitRule()
1836
+ return localctx
1837
+
1838
+
1839
+ class RpcContext(ParserRuleContext):
1840
+ __slots__ = 'parser'
1841
+
1842
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
1843
+ super().__init__(parent, invokingState)
1844
+ self.parser = parser
1845
+
1846
+ def RPC(self):
1847
+ return self.getToken(Protobuf3Parser.RPC, 0)
1848
+
1849
+ def rpcName(self):
1850
+ return self.getTypedRuleContext(Protobuf3Parser.RpcNameContext,0)
1851
+
1852
+
1853
+ def messageType(self, i:int=None):
1854
+ if i is None:
1855
+ return self.getTypedRuleContexts(Protobuf3Parser.MessageTypeContext)
1856
+ else:
1857
+ return self.getTypedRuleContext(Protobuf3Parser.MessageTypeContext,i)
1858
+
1859
+
1860
+ def RETURNS(self):
1861
+ return self.getToken(Protobuf3Parser.RETURNS, 0)
1862
+
1863
+ def STREAM(self, i:int=None):
1864
+ if i is None:
1865
+ return self.getTokens(Protobuf3Parser.STREAM)
1866
+ else:
1867
+ return self.getToken(Protobuf3Parser.STREAM, i)
1868
+
1869
+ def option(self, i:int=None):
1870
+ if i is None:
1871
+ return self.getTypedRuleContexts(Protobuf3Parser.OptionContext)
1872
+ else:
1873
+ return self.getTypedRuleContext(Protobuf3Parser.OptionContext,i)
1874
+
1875
+
1876
+ def emptyStmt(self, i:int=None):
1877
+ if i is None:
1878
+ return self.getTypedRuleContexts(Protobuf3Parser.EmptyStmtContext)
1879
+ else:
1880
+ return self.getTypedRuleContext(Protobuf3Parser.EmptyStmtContext,i)
1881
+
1882
+
1883
+ def getRuleIndex(self):
1884
+ return Protobuf3Parser.RULE_rpc
1885
+
1886
+ def enterRule(self, listener:ParseTreeListener):
1887
+ if hasattr( listener, "enterRpc" ):
1888
+ listener.enterRpc(self)
1889
+
1890
+ def exitRule(self, listener:ParseTreeListener):
1891
+ if hasattr( listener, "exitRpc" ):
1892
+ listener.exitRpc(self)
1893
+
1894
+ def accept(self, visitor:ParseTreeVisitor):
1895
+ if hasattr( visitor, "visitRpc" ):
1896
+ return visitor.visitRpc(self)
1897
+ else:
1898
+ return visitor.visitChildren(self)
1899
+
1900
+
1901
+
1902
+
1903
+ def rpc(self):
1904
+
1905
+ localctx = Protobuf3Parser.RpcContext(self, self._ctx, self.state)
1906
+ self.enterRule(localctx, 38, self.RULE_rpc)
1907
+ self._la = 0 # Token type
1908
+ try:
1909
+ self.enterOuterAlt(localctx, 1)
1910
+ self.state = 259
1911
+ self.match(Protobuf3Parser.RPC)
1912
+ self.state = 260
1913
+ self.rpcName()
1914
+ self.state = 261
1915
+ self.match(Protobuf3Parser.T__2)
1916
+ self.state = 263
1917
+ self._errHandler.sync(self)
1918
+ _la = self._input.LA(1)
1919
+ if _la==44:
1920
+ self.state = 262
1921
+ self.match(Protobuf3Parser.STREAM)
1922
+
1923
+
1924
+ self.state = 265
1925
+ self.messageType()
1926
+ self.state = 266
1927
+ self.match(Protobuf3Parser.T__3)
1928
+ self.state = 267
1929
+ self.match(Protobuf3Parser.RETURNS)
1930
+ self.state = 268
1931
+ self.match(Protobuf3Parser.T__2)
1932
+ self.state = 270
1933
+ self._errHandler.sync(self)
1934
+ _la = self._input.LA(1)
1935
+ if _la==44:
1936
+ self.state = 269
1937
+ self.match(Protobuf3Parser.STREAM)
1938
+
1939
+
1940
+ self.state = 272
1941
+ self.messageType()
1942
+ self.state = 273
1943
+ self.match(Protobuf3Parser.T__3)
1944
+ self.state = 284
1945
+ self._errHandler.sync(self)
1946
+ token = self._input.LA(1)
1947
+ if token in [6]:
1948
+ self.state = 274
1949
+ self.match(Protobuf3Parser.T__5)
1950
+ self.state = 279
1951
+ self._errHandler.sync(self)
1952
+ _la = self._input.LA(1)
1953
+ while _la==2 or _la==30:
1954
+ self.state = 277
1955
+ self._errHandler.sync(self)
1956
+ token = self._input.LA(1)
1957
+ if token in [30]:
1958
+ self.state = 275
1959
+ self.option()
1960
+ pass
1961
+ elif token in [2]:
1962
+ self.state = 276
1963
+ self.emptyStmt()
1964
+ pass
1965
+ else:
1966
+ raise NoViableAltException(self)
1967
+
1968
+ self.state = 281
1969
+ self._errHandler.sync(self)
1970
+ _la = self._input.LA(1)
1971
+
1972
+ self.state = 282
1973
+ self.match(Protobuf3Parser.T__6)
1974
+ pass
1975
+ elif token in [2]:
1976
+ self.state = 283
1977
+ self.match(Protobuf3Parser.T__1)
1978
+ pass
1979
+ else:
1980
+ raise NoViableAltException(self)
1981
+
1982
+ except RecognitionException as re:
1983
+ localctx.exception = re
1984
+ self._errHandler.reportError(self, re)
1985
+ self._errHandler.recover(self, re)
1986
+ finally:
1987
+ self.exitRule()
1988
+ return localctx
1989
+
1990
+
1991
+ class ReservedContext(ParserRuleContext):
1992
+ __slots__ = 'parser'
1993
+
1994
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
1995
+ super().__init__(parent, invokingState)
1996
+ self.parser = parser
1997
+
1998
+ def RESERVED(self):
1999
+ return self.getToken(Protobuf3Parser.RESERVED, 0)
2000
+
2001
+ def ranges(self):
2002
+ return self.getTypedRuleContext(Protobuf3Parser.RangesContext,0)
2003
+
2004
+
2005
+ def fieldNames(self):
2006
+ return self.getTypedRuleContext(Protobuf3Parser.FieldNamesContext,0)
2007
+
2008
+
2009
+ def getRuleIndex(self):
2010
+ return Protobuf3Parser.RULE_reserved
2011
+
2012
+ def enterRule(self, listener:ParseTreeListener):
2013
+ if hasattr( listener, "enterReserved" ):
2014
+ listener.enterReserved(self)
2015
+
2016
+ def exitRule(self, listener:ParseTreeListener):
2017
+ if hasattr( listener, "exitReserved" ):
2018
+ listener.exitReserved(self)
2019
+
2020
+ def accept(self, visitor:ParseTreeVisitor):
2021
+ if hasattr( visitor, "visitReserved" ):
2022
+ return visitor.visitReserved(self)
2023
+ else:
2024
+ return visitor.visitChildren(self)
2025
+
2026
+
2027
+
2028
+
2029
+ def reserved(self):
2030
+
2031
+ localctx = Protobuf3Parser.ReservedContext(self, self._ctx, self.state)
2032
+ self.enterRule(localctx, 40, self.RULE_reserved)
2033
+ try:
2034
+ self.enterOuterAlt(localctx, 1)
2035
+ self.state = 286
2036
+ self.match(Protobuf3Parser.RESERVED)
2037
+ self.state = 289
2038
+ self._errHandler.sync(self)
2039
+ token = self._input.LA(1)
2040
+ if token in [52]:
2041
+ self.state = 287
2042
+ self.ranges()
2043
+ pass
2044
+ elif token in [55]:
2045
+ self.state = 288
2046
+ self.fieldNames()
2047
+ pass
2048
+ else:
2049
+ raise NoViableAltException(self)
2050
+
2051
+ self.state = 291
2052
+ self.match(Protobuf3Parser.T__1)
2053
+ except RecognitionException as re:
2054
+ localctx.exception = re
2055
+ self._errHandler.reportError(self, re)
2056
+ self._errHandler.recover(self, re)
2057
+ finally:
2058
+ self.exitRule()
2059
+ return localctx
2060
+
2061
+
2062
+ class RangesContext(ParserRuleContext):
2063
+ __slots__ = 'parser'
2064
+
2065
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
2066
+ super().__init__(parent, invokingState)
2067
+ self.parser = parser
2068
+
2069
+ def rangeRule(self, i:int=None):
2070
+ if i is None:
2071
+ return self.getTypedRuleContexts(Protobuf3Parser.RangeRuleContext)
2072
+ else:
2073
+ return self.getTypedRuleContext(Protobuf3Parser.RangeRuleContext,i)
2074
+
2075
+
2076
+ def getRuleIndex(self):
2077
+ return Protobuf3Parser.RULE_ranges
2078
+
2079
+ def enterRule(self, listener:ParseTreeListener):
2080
+ if hasattr( listener, "enterRanges" ):
2081
+ listener.enterRanges(self)
2082
+
2083
+ def exitRule(self, listener:ParseTreeListener):
2084
+ if hasattr( listener, "exitRanges" ):
2085
+ listener.exitRanges(self)
2086
+
2087
+ def accept(self, visitor:ParseTreeVisitor):
2088
+ if hasattr( visitor, "visitRanges" ):
2089
+ return visitor.visitRanges(self)
2090
+ else:
2091
+ return visitor.visitChildren(self)
2092
+
2093
+
2094
+
2095
+
2096
+ def ranges(self):
2097
+
2098
+ localctx = Protobuf3Parser.RangesContext(self, self._ctx, self.state)
2099
+ self.enterRule(localctx, 42, self.RULE_ranges)
2100
+ self._la = 0 # Token type
2101
+ try:
2102
+ self.enterOuterAlt(localctx, 1)
2103
+ self.state = 293
2104
+ self.rangeRule()
2105
+ self.state = 298
2106
+ self._errHandler.sync(self)
2107
+ _la = self._input.LA(1)
2108
+ while _la==11:
2109
+ self.state = 294
2110
+ self.match(Protobuf3Parser.T__10)
2111
+ self.state = 295
2112
+ self.rangeRule()
2113
+ self.state = 300
2114
+ self._errHandler.sync(self)
2115
+ _la = self._input.LA(1)
2116
+
2117
+ except RecognitionException as re:
2118
+ localctx.exception = re
2119
+ self._errHandler.reportError(self, re)
2120
+ self._errHandler.recover(self, re)
2121
+ finally:
2122
+ self.exitRule()
2123
+ return localctx
2124
+
2125
+
2126
+ class RangeRuleContext(ParserRuleContext):
2127
+ __slots__ = 'parser'
2128
+
2129
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
2130
+ super().__init__(parent, invokingState)
2131
+ self.parser = parser
2132
+
2133
+ def INT_LIT(self, i:int=None):
2134
+ if i is None:
2135
+ return self.getTokens(Protobuf3Parser.INT_LIT)
2136
+ else:
2137
+ return self.getToken(Protobuf3Parser.INT_LIT, i)
2138
+
2139
+ def TO(self):
2140
+ return self.getToken(Protobuf3Parser.TO, 0)
2141
+
2142
+ def getRuleIndex(self):
2143
+ return Protobuf3Parser.RULE_rangeRule
2144
+
2145
+ def enterRule(self, listener:ParseTreeListener):
2146
+ if hasattr( listener, "enterRangeRule" ):
2147
+ listener.enterRangeRule(self)
2148
+
2149
+ def exitRule(self, listener:ParseTreeListener):
2150
+ if hasattr( listener, "exitRangeRule" ):
2151
+ listener.exitRangeRule(self)
2152
+
2153
+ def accept(self, visitor:ParseTreeVisitor):
2154
+ if hasattr( visitor, "visitRangeRule" ):
2155
+ return visitor.visitRangeRule(self)
2156
+ else:
2157
+ return visitor.visitChildren(self)
2158
+
2159
+
2160
+
2161
+
2162
+ def rangeRule(self):
2163
+
2164
+ localctx = Protobuf3Parser.RangeRuleContext(self, self._ctx, self.state)
2165
+ self.enterRule(localctx, 44, self.RULE_rangeRule)
2166
+ try:
2167
+ self.state = 305
2168
+ self._errHandler.sync(self)
2169
+ la_ = self._interp.adaptivePredict(self._input,26,self._ctx)
2170
+ if la_ == 1:
2171
+ self.enterOuterAlt(localctx, 1)
2172
+ self.state = 301
2173
+ self.match(Protobuf3Parser.INT_LIT)
2174
+ pass
2175
+
2176
+ elif la_ == 2:
2177
+ self.enterOuterAlt(localctx, 2)
2178
+ self.state = 302
2179
+ self.match(Protobuf3Parser.INT_LIT)
2180
+ self.state = 303
2181
+ self.match(Protobuf3Parser.TO)
2182
+ self.state = 304
2183
+ self.match(Protobuf3Parser.INT_LIT)
2184
+ pass
2185
+
2186
+
2187
+ except RecognitionException as re:
2188
+ localctx.exception = re
2189
+ self._errHandler.reportError(self, re)
2190
+ self._errHandler.recover(self, re)
2191
+ finally:
2192
+ self.exitRule()
2193
+ return localctx
2194
+
2195
+
2196
+ class FieldNamesContext(ParserRuleContext):
2197
+ __slots__ = 'parser'
2198
+
2199
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
2200
+ super().__init__(parent, invokingState)
2201
+ self.parser = parser
2202
+
2203
+ def STR_LIT(self, i:int=None):
2204
+ if i is None:
2205
+ return self.getTokens(Protobuf3Parser.STR_LIT)
2206
+ else:
2207
+ return self.getToken(Protobuf3Parser.STR_LIT, i)
2208
+
2209
+ def getRuleIndex(self):
2210
+ return Protobuf3Parser.RULE_fieldNames
2211
+
2212
+ def enterRule(self, listener:ParseTreeListener):
2213
+ if hasattr( listener, "enterFieldNames" ):
2214
+ listener.enterFieldNames(self)
2215
+
2216
+ def exitRule(self, listener:ParseTreeListener):
2217
+ if hasattr( listener, "exitFieldNames" ):
2218
+ listener.exitFieldNames(self)
2219
+
2220
+ def accept(self, visitor:ParseTreeVisitor):
2221
+ if hasattr( visitor, "visitFieldNames" ):
2222
+ return visitor.visitFieldNames(self)
2223
+ else:
2224
+ return visitor.visitChildren(self)
2225
+
2226
+
2227
+
2228
+
2229
+ def fieldNames(self):
2230
+
2231
+ localctx = Protobuf3Parser.FieldNamesContext(self, self._ctx, self.state)
2232
+ self.enterRule(localctx, 46, self.RULE_fieldNames)
2233
+ self._la = 0 # Token type
2234
+ try:
2235
+ self.enterOuterAlt(localctx, 1)
2236
+ self.state = 307
2237
+ self.match(Protobuf3Parser.STR_LIT)
2238
+ self.state = 312
2239
+ self._errHandler.sync(self)
2240
+ _la = self._input.LA(1)
2241
+ while _la==11:
2242
+ self.state = 308
2243
+ self.match(Protobuf3Parser.T__10)
2244
+ self.state = 309
2245
+ self.match(Protobuf3Parser.STR_LIT)
2246
+ self.state = 314
2247
+ self._errHandler.sync(self)
2248
+ _la = self._input.LA(1)
2249
+
2250
+ except RecognitionException as re:
2251
+ localctx.exception = re
2252
+ self._errHandler.reportError(self, re)
2253
+ self._errHandler.recover(self, re)
2254
+ finally:
2255
+ self.exitRule()
2256
+ return localctx
2257
+
2258
+
2259
+ class TypeRuleContext(ParserRuleContext):
2260
+ __slots__ = 'parser'
2261
+
2262
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
2263
+ super().__init__(parent, invokingState)
2264
+ self.parser = parser
2265
+
2266
+ def simpleType(self):
2267
+ return self.getTypedRuleContext(Protobuf3Parser.SimpleTypeContext,0)
2268
+
2269
+
2270
+ def messageOrEnumType(self):
2271
+ return self.getTypedRuleContext(Protobuf3Parser.MessageOrEnumTypeContext,0)
2272
+
2273
+
2274
+ def getRuleIndex(self):
2275
+ return Protobuf3Parser.RULE_typeRule
2276
+
2277
+ def enterRule(self, listener:ParseTreeListener):
2278
+ if hasattr( listener, "enterTypeRule" ):
2279
+ listener.enterTypeRule(self)
2280
+
2281
+ def exitRule(self, listener:ParseTreeListener):
2282
+ if hasattr( listener, "exitTypeRule" ):
2283
+ listener.exitTypeRule(self)
2284
+
2285
+ def accept(self, visitor:ParseTreeVisitor):
2286
+ if hasattr( visitor, "visitTypeRule" ):
2287
+ return visitor.visitTypeRule(self)
2288
+ else:
2289
+ return visitor.visitChildren(self)
2290
+
2291
+
2292
+
2293
+
2294
+ def typeRule(self):
2295
+
2296
+ localctx = Protobuf3Parser.TypeRuleContext(self, self._ctx, self.state)
2297
+ self.enterRule(localctx, 48, self.RULE_typeRule)
2298
+ try:
2299
+ self.state = 317
2300
+ self._errHandler.sync(self)
2301
+ la_ = self._interp.adaptivePredict(self._input,28,self._ctx)
2302
+ if la_ == 1:
2303
+ self.enterOuterAlt(localctx, 1)
2304
+ self.state = 315
2305
+ self.simpleType()
2306
+ pass
2307
+
2308
+ elif la_ == 2:
2309
+ self.enterOuterAlt(localctx, 2)
2310
+ self.state = 316
2311
+ self.messageOrEnumType()
2312
+ pass
2313
+
2314
+
2315
+ except RecognitionException as re:
2316
+ localctx.exception = re
2317
+ self._errHandler.reportError(self, re)
2318
+ self._errHandler.recover(self, re)
2319
+ finally:
2320
+ self.exitRule()
2321
+ return localctx
2322
+
2323
+
2324
+ class SimpleTypeContext(ParserRuleContext):
2325
+ __slots__ = 'parser'
2326
+
2327
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
2328
+ super().__init__(parent, invokingState)
2329
+ self.parser = parser
2330
+
2331
+ def DOUBLE(self):
2332
+ return self.getToken(Protobuf3Parser.DOUBLE, 0)
2333
+
2334
+ def FLOAT(self):
2335
+ return self.getToken(Protobuf3Parser.FLOAT, 0)
2336
+
2337
+ def INT32(self):
2338
+ return self.getToken(Protobuf3Parser.INT32, 0)
2339
+
2340
+ def INT64(self):
2341
+ return self.getToken(Protobuf3Parser.INT64, 0)
2342
+
2343
+ def UINT32(self):
2344
+ return self.getToken(Protobuf3Parser.UINT32, 0)
2345
+
2346
+ def UINT64(self):
2347
+ return self.getToken(Protobuf3Parser.UINT64, 0)
2348
+
2349
+ def SINT32(self):
2350
+ return self.getToken(Protobuf3Parser.SINT32, 0)
2351
+
2352
+ def SINT64(self):
2353
+ return self.getToken(Protobuf3Parser.SINT64, 0)
2354
+
2355
+ def FIXED32(self):
2356
+ return self.getToken(Protobuf3Parser.FIXED32, 0)
2357
+
2358
+ def FIXED64(self):
2359
+ return self.getToken(Protobuf3Parser.FIXED64, 0)
2360
+
2361
+ def SFIXED32(self):
2362
+ return self.getToken(Protobuf3Parser.SFIXED32, 0)
2363
+
2364
+ def SFIXED64(self):
2365
+ return self.getToken(Protobuf3Parser.SFIXED64, 0)
2366
+
2367
+ def BOOL(self):
2368
+ return self.getToken(Protobuf3Parser.BOOL, 0)
2369
+
2370
+ def STRING(self):
2371
+ return self.getToken(Protobuf3Parser.STRING, 0)
2372
+
2373
+ def BYTES(self):
2374
+ return self.getToken(Protobuf3Parser.BYTES, 0)
2375
+
2376
+ def getRuleIndex(self):
2377
+ return Protobuf3Parser.RULE_simpleType
2378
+
2379
+ def enterRule(self, listener:ParseTreeListener):
2380
+ if hasattr( listener, "enterSimpleType" ):
2381
+ listener.enterSimpleType(self)
2382
+
2383
+ def exitRule(self, listener:ParseTreeListener):
2384
+ if hasattr( listener, "exitSimpleType" ):
2385
+ listener.exitSimpleType(self)
2386
+
2387
+ def accept(self, visitor:ParseTreeVisitor):
2388
+ if hasattr( visitor, "visitSimpleType" ):
2389
+ return visitor.visitSimpleType(self)
2390
+ else:
2391
+ return visitor.visitChildren(self)
2392
+
2393
+
2394
+
2395
+
2396
+ def simpleType(self):
2397
+
2398
+ localctx = Protobuf3Parser.SimpleTypeContext(self, self._ctx, self.state)
2399
+ self.enterRule(localctx, 50, self.RULE_simpleType)
2400
+ self._la = 0 # Token type
2401
+ try:
2402
+ self.enterOuterAlt(localctx, 1)
2403
+ self.state = 319
2404
+ _la = self._input.LA(1)
2405
+ if not((((_la) & ~0x3f) == 0 and ((1 << _la) & 896102092439552) != 0)):
2406
+ self._errHandler.recoverInline(self)
2407
+ else:
2408
+ self._errHandler.reportMatch(self)
2409
+ self.consume()
2410
+ except RecognitionException as re:
2411
+ localctx.exception = re
2412
+ self._errHandler.reportError(self, re)
2413
+ self._errHandler.recover(self, re)
2414
+ finally:
2415
+ self.exitRule()
2416
+ return localctx
2417
+
2418
+
2419
+ class FieldNumberContext(ParserRuleContext):
2420
+ __slots__ = 'parser'
2421
+
2422
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
2423
+ super().__init__(parent, invokingState)
2424
+ self.parser = parser
2425
+
2426
+ def INT_LIT(self):
2427
+ return self.getToken(Protobuf3Parser.INT_LIT, 0)
2428
+
2429
+ def getRuleIndex(self):
2430
+ return Protobuf3Parser.RULE_fieldNumber
2431
+
2432
+ def enterRule(self, listener:ParseTreeListener):
2433
+ if hasattr( listener, "enterFieldNumber" ):
2434
+ listener.enterFieldNumber(self)
2435
+
2436
+ def exitRule(self, listener:ParseTreeListener):
2437
+ if hasattr( listener, "exitFieldNumber" ):
2438
+ listener.exitFieldNumber(self)
2439
+
2440
+ def accept(self, visitor:ParseTreeVisitor):
2441
+ if hasattr( visitor, "visitFieldNumber" ):
2442
+ return visitor.visitFieldNumber(self)
2443
+ else:
2444
+ return visitor.visitChildren(self)
2445
+
2446
+
2447
+
2448
+
2449
+ def fieldNumber(self):
2450
+
2451
+ localctx = Protobuf3Parser.FieldNumberContext(self, self._ctx, self.state)
2452
+ self.enterRule(localctx, 52, self.RULE_fieldNumber)
2453
+ try:
2454
+ self.enterOuterAlt(localctx, 1)
2455
+ self.state = 321
2456
+ self.match(Protobuf3Parser.INT_LIT)
2457
+ except RecognitionException as re:
2458
+ localctx.exception = re
2459
+ self._errHandler.reportError(self, re)
2460
+ self._errHandler.recover(self, re)
2461
+ finally:
2462
+ self.exitRule()
2463
+ return localctx
2464
+
2465
+
2466
+ class FieldContext(ParserRuleContext):
2467
+ __slots__ = 'parser'
2468
+
2469
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
2470
+ super().__init__(parent, invokingState)
2471
+ self.parser = parser
2472
+
2473
+ def typeRule(self):
2474
+ return self.getTypedRuleContext(Protobuf3Parser.TypeRuleContext,0)
2475
+
2476
+
2477
+ def fieldName(self):
2478
+ return self.getTypedRuleContext(Protobuf3Parser.FieldNameContext,0)
2479
+
2480
+
2481
+ def fieldNumber(self):
2482
+ return self.getTypedRuleContext(Protobuf3Parser.FieldNumberContext,0)
2483
+
2484
+
2485
+ def REPEATED(self):
2486
+ return self.getToken(Protobuf3Parser.REPEATED, 0)
2487
+
2488
+ def fieldOptions(self):
2489
+ return self.getTypedRuleContext(Protobuf3Parser.FieldOptionsContext,0)
2490
+
2491
+
2492
+ def getRuleIndex(self):
2493
+ return Protobuf3Parser.RULE_field
2494
+
2495
+ def enterRule(self, listener:ParseTreeListener):
2496
+ if hasattr( listener, "enterField" ):
2497
+ listener.enterField(self)
2498
+
2499
+ def exitRule(self, listener:ParseTreeListener):
2500
+ if hasattr( listener, "exitField" ):
2501
+ listener.exitField(self)
2502
+
2503
+ def accept(self, visitor:ParseTreeVisitor):
2504
+ if hasattr( visitor, "visitField" ):
2505
+ return visitor.visitField(self)
2506
+ else:
2507
+ return visitor.visitChildren(self)
2508
+
2509
+
2510
+
2511
+
2512
+ def field(self):
2513
+
2514
+ localctx = Protobuf3Parser.FieldContext(self, self._ctx, self.state)
2515
+ self.enterRule(localctx, 54, self.RULE_field)
2516
+ self._la = 0 # Token type
2517
+ try:
2518
+ self.enterOuterAlt(localctx, 1)
2519
+ self.state = 324
2520
+ self._errHandler.sync(self)
2521
+ _la = self._input.LA(1)
2522
+ if _la==35:
2523
+ self.state = 323
2524
+ self.match(Protobuf3Parser.REPEATED)
2525
+
2526
+
2527
+ self.state = 326
2528
+ self.typeRule()
2529
+ self.state = 327
2530
+ self.fieldName()
2531
+ self.state = 328
2532
+ self.match(Protobuf3Parser.T__0)
2533
+ self.state = 329
2534
+ self.fieldNumber()
2535
+ self.state = 334
2536
+ self._errHandler.sync(self)
2537
+ _la = self._input.LA(1)
2538
+ if _la==10:
2539
+ self.state = 330
2540
+ self.match(Protobuf3Parser.T__9)
2541
+ self.state = 331
2542
+ self.fieldOptions()
2543
+ self.state = 332
2544
+ self.match(Protobuf3Parser.T__11)
2545
+
2546
+
2547
+ self.state = 336
2548
+ self.match(Protobuf3Parser.T__1)
2549
+ except RecognitionException as re:
2550
+ localctx.exception = re
2551
+ self._errHandler.reportError(self, re)
2552
+ self._errHandler.recover(self, re)
2553
+ finally:
2554
+ self.exitRule()
2555
+ return localctx
2556
+
2557
+
2558
+ class FieldOptionsContext(ParserRuleContext):
2559
+ __slots__ = 'parser'
2560
+
2561
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
2562
+ super().__init__(parent, invokingState)
2563
+ self.parser = parser
2564
+
2565
+ def fieldOption(self, i:int=None):
2566
+ if i is None:
2567
+ return self.getTypedRuleContexts(Protobuf3Parser.FieldOptionContext)
2568
+ else:
2569
+ return self.getTypedRuleContext(Protobuf3Parser.FieldOptionContext,i)
2570
+
2571
+
2572
+ def getRuleIndex(self):
2573
+ return Protobuf3Parser.RULE_fieldOptions
2574
+
2575
+ def enterRule(self, listener:ParseTreeListener):
2576
+ if hasattr( listener, "enterFieldOptions" ):
2577
+ listener.enterFieldOptions(self)
2578
+
2579
+ def exitRule(self, listener:ParseTreeListener):
2580
+ if hasattr( listener, "exitFieldOptions" ):
2581
+ listener.exitFieldOptions(self)
2582
+
2583
+ def accept(self, visitor:ParseTreeVisitor):
2584
+ if hasattr( visitor, "visitFieldOptions" ):
2585
+ return visitor.visitFieldOptions(self)
2586
+ else:
2587
+ return visitor.visitChildren(self)
2588
+
2589
+
2590
+
2591
+
2592
+ def fieldOptions(self):
2593
+
2594
+ localctx = Protobuf3Parser.FieldOptionsContext(self, self._ctx, self.state)
2595
+ self.enterRule(localctx, 56, self.RULE_fieldOptions)
2596
+ self._la = 0 # Token type
2597
+ try:
2598
+ self.enterOuterAlt(localctx, 1)
2599
+ self.state = 338
2600
+ self.fieldOption()
2601
+ self.state = 343
2602
+ self._errHandler.sync(self)
2603
+ _la = self._input.LA(1)
2604
+ while _la==11:
2605
+ self.state = 339
2606
+ self.match(Protobuf3Parser.T__10)
2607
+ self.state = 340
2608
+ self.fieldOption()
2609
+ self.state = 345
2610
+ self._errHandler.sync(self)
2611
+ _la = self._input.LA(1)
2612
+
2613
+ except RecognitionException as re:
2614
+ localctx.exception = re
2615
+ self._errHandler.reportError(self, re)
2616
+ self._errHandler.recover(self, re)
2617
+ finally:
2618
+ self.exitRule()
2619
+ return localctx
2620
+
2621
+
2622
+ class FieldOptionContext(ParserRuleContext):
2623
+ __slots__ = 'parser'
2624
+
2625
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
2626
+ super().__init__(parent, invokingState)
2627
+ self.parser = parser
2628
+
2629
+ def optionName(self):
2630
+ return self.getTypedRuleContext(Protobuf3Parser.OptionNameContext,0)
2631
+
2632
+
2633
+ def constant(self):
2634
+ return self.getTypedRuleContext(Protobuf3Parser.ConstantContext,0)
2635
+
2636
+
2637
+ def getRuleIndex(self):
2638
+ return Protobuf3Parser.RULE_fieldOption
2639
+
2640
+ def enterRule(self, listener:ParseTreeListener):
2641
+ if hasattr( listener, "enterFieldOption" ):
2642
+ listener.enterFieldOption(self)
2643
+
2644
+ def exitRule(self, listener:ParseTreeListener):
2645
+ if hasattr( listener, "exitFieldOption" ):
2646
+ listener.exitFieldOption(self)
2647
+
2648
+ def accept(self, visitor:ParseTreeVisitor):
2649
+ if hasattr( visitor, "visitFieldOption" ):
2650
+ return visitor.visitFieldOption(self)
2651
+ else:
2652
+ return visitor.visitChildren(self)
2653
+
2654
+
2655
+
2656
+
2657
+ def fieldOption(self):
2658
+
2659
+ localctx = Protobuf3Parser.FieldOptionContext(self, self._ctx, self.state)
2660
+ self.enterRule(localctx, 58, self.RULE_fieldOption)
2661
+ try:
2662
+ self.enterOuterAlt(localctx, 1)
2663
+ self.state = 346
2664
+ self.optionName()
2665
+ self.state = 347
2666
+ self.match(Protobuf3Parser.T__0)
2667
+ self.state = 348
2668
+ self.constant()
2669
+ except RecognitionException as re:
2670
+ localctx.exception = re
2671
+ self._errHandler.reportError(self, re)
2672
+ self._errHandler.recover(self, re)
2673
+ finally:
2674
+ self.exitRule()
2675
+ return localctx
2676
+
2677
+
2678
+ class OneofContext(ParserRuleContext):
2679
+ __slots__ = 'parser'
2680
+
2681
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
2682
+ super().__init__(parent, invokingState)
2683
+ self.parser = parser
2684
+
2685
+ def ONEOF(self):
2686
+ return self.getToken(Protobuf3Parser.ONEOF, 0)
2687
+
2688
+ def oneofName(self):
2689
+ return self.getTypedRuleContext(Protobuf3Parser.OneofNameContext,0)
2690
+
2691
+
2692
+ def oneofField(self, i:int=None):
2693
+ if i is None:
2694
+ return self.getTypedRuleContexts(Protobuf3Parser.OneofFieldContext)
2695
+ else:
2696
+ return self.getTypedRuleContext(Protobuf3Parser.OneofFieldContext,i)
2697
+
2698
+
2699
+ def emptyStmt(self, i:int=None):
2700
+ if i is None:
2701
+ return self.getTypedRuleContexts(Protobuf3Parser.EmptyStmtContext)
2702
+ else:
2703
+ return self.getTypedRuleContext(Protobuf3Parser.EmptyStmtContext,i)
2704
+
2705
+
2706
+ def getRuleIndex(self):
2707
+ return Protobuf3Parser.RULE_oneof
2708
+
2709
+ def enterRule(self, listener:ParseTreeListener):
2710
+ if hasattr( listener, "enterOneof" ):
2711
+ listener.enterOneof(self)
2712
+
2713
+ def exitRule(self, listener:ParseTreeListener):
2714
+ if hasattr( listener, "exitOneof" ):
2715
+ listener.exitOneof(self)
2716
+
2717
+ def accept(self, visitor:ParseTreeVisitor):
2718
+ if hasattr( visitor, "visitOneof" ):
2719
+ return visitor.visitOneof(self)
2720
+ else:
2721
+ return visitor.visitChildren(self)
2722
+
2723
+
2724
+
2725
+
2726
+ def oneof(self):
2727
+
2728
+ localctx = Protobuf3Parser.OneofContext(self, self._ctx, self.state)
2729
+ self.enterRule(localctx, 60, self.RULE_oneof)
2730
+ self._la = 0 # Token type
2731
+ try:
2732
+ self.enterOuterAlt(localctx, 1)
2733
+ self.state = 350
2734
+ self.match(Protobuf3Parser.ONEOF)
2735
+ self.state = 351
2736
+ self.oneofName()
2737
+ self.state = 352
2738
+ self.match(Protobuf3Parser.T__5)
2739
+ self.state = 357
2740
+ self._errHandler.sync(self)
2741
+ _la = self._input.LA(1)
2742
+ while (((_la) & ~0x3f) == 0 and ((1 << _la) & 4362590867619876) != 0):
2743
+ self.state = 355
2744
+ self._errHandler.sync(self)
2745
+ token = self._input.LA(1)
2746
+ if token in [5, 16, 17, 18, 20, 21, 22, 23, 25, 26, 28, 30, 31, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51]:
2747
+ self.state = 353
2748
+ self.oneofField()
2749
+ pass
2750
+ elif token in [2]:
2751
+ self.state = 354
2752
+ self.emptyStmt()
2753
+ pass
2754
+ else:
2755
+ raise NoViableAltException(self)
2756
+
2757
+ self.state = 359
2758
+ self._errHandler.sync(self)
2759
+ _la = self._input.LA(1)
2760
+
2761
+ self.state = 360
2762
+ self.match(Protobuf3Parser.T__6)
2763
+ except RecognitionException as re:
2764
+ localctx.exception = re
2765
+ self._errHandler.reportError(self, re)
2766
+ self._errHandler.recover(self, re)
2767
+ finally:
2768
+ self.exitRule()
2769
+ return localctx
2770
+
2771
+
2772
+ class OneofFieldContext(ParserRuleContext):
2773
+ __slots__ = 'parser'
2774
+
2775
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
2776
+ super().__init__(parent, invokingState)
2777
+ self.parser = parser
2778
+
2779
+ def typeRule(self):
2780
+ return self.getTypedRuleContext(Protobuf3Parser.TypeRuleContext,0)
2781
+
2782
+
2783
+ def fieldName(self):
2784
+ return self.getTypedRuleContext(Protobuf3Parser.FieldNameContext,0)
2785
+
2786
+
2787
+ def fieldNumber(self):
2788
+ return self.getTypedRuleContext(Protobuf3Parser.FieldNumberContext,0)
2789
+
2790
+
2791
+ def fieldOptions(self):
2792
+ return self.getTypedRuleContext(Protobuf3Parser.FieldOptionsContext,0)
2793
+
2794
+
2795
+ def getRuleIndex(self):
2796
+ return Protobuf3Parser.RULE_oneofField
2797
+
2798
+ def enterRule(self, listener:ParseTreeListener):
2799
+ if hasattr( listener, "enterOneofField" ):
2800
+ listener.enterOneofField(self)
2801
+
2802
+ def exitRule(self, listener:ParseTreeListener):
2803
+ if hasattr( listener, "exitOneofField" ):
2804
+ listener.exitOneofField(self)
2805
+
2806
+ def accept(self, visitor:ParseTreeVisitor):
2807
+ if hasattr( visitor, "visitOneofField" ):
2808
+ return visitor.visitOneofField(self)
2809
+ else:
2810
+ return visitor.visitChildren(self)
2811
+
2812
+
2813
+
2814
+
2815
+ def oneofField(self):
2816
+
2817
+ localctx = Protobuf3Parser.OneofFieldContext(self, self._ctx, self.state)
2818
+ self.enterRule(localctx, 62, self.RULE_oneofField)
2819
+ self._la = 0 # Token type
2820
+ try:
2821
+ self.enterOuterAlt(localctx, 1)
2822
+ self.state = 362
2823
+ self.typeRule()
2824
+ self.state = 363
2825
+ self.fieldName()
2826
+ self.state = 364
2827
+ self.match(Protobuf3Parser.T__0)
2828
+ self.state = 365
2829
+ self.fieldNumber()
2830
+ self.state = 370
2831
+ self._errHandler.sync(self)
2832
+ _la = self._input.LA(1)
2833
+ if _la==10:
2834
+ self.state = 366
2835
+ self.match(Protobuf3Parser.T__9)
2836
+ self.state = 367
2837
+ self.fieldOptions()
2838
+ self.state = 368
2839
+ self.match(Protobuf3Parser.T__11)
2840
+
2841
+
2842
+ self.state = 372
2843
+ self.match(Protobuf3Parser.T__1)
2844
+ except RecognitionException as re:
2845
+ localctx.exception = re
2846
+ self._errHandler.reportError(self, re)
2847
+ self._errHandler.recover(self, re)
2848
+ finally:
2849
+ self.exitRule()
2850
+ return localctx
2851
+
2852
+
2853
+ class MapFieldContext(ParserRuleContext):
2854
+ __slots__ = 'parser'
2855
+
2856
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
2857
+ super().__init__(parent, invokingState)
2858
+ self.parser = parser
2859
+
2860
+ def MAP(self):
2861
+ return self.getToken(Protobuf3Parser.MAP, 0)
2862
+
2863
+ def keyType(self):
2864
+ return self.getTypedRuleContext(Protobuf3Parser.KeyTypeContext,0)
2865
+
2866
+
2867
+ def typeRule(self):
2868
+ return self.getTypedRuleContext(Protobuf3Parser.TypeRuleContext,0)
2869
+
2870
+
2871
+ def mapName(self):
2872
+ return self.getTypedRuleContext(Protobuf3Parser.MapNameContext,0)
2873
+
2874
+
2875
+ def fieldNumber(self):
2876
+ return self.getTypedRuleContext(Protobuf3Parser.FieldNumberContext,0)
2877
+
2878
+
2879
+ def fieldOptions(self):
2880
+ return self.getTypedRuleContext(Protobuf3Parser.FieldOptionsContext,0)
2881
+
2882
+
2883
+ def getRuleIndex(self):
2884
+ return Protobuf3Parser.RULE_mapField
2885
+
2886
+ def enterRule(self, listener:ParseTreeListener):
2887
+ if hasattr( listener, "enterMapField" ):
2888
+ listener.enterMapField(self)
2889
+
2890
+ def exitRule(self, listener:ParseTreeListener):
2891
+ if hasattr( listener, "exitMapField" ):
2892
+ listener.exitMapField(self)
2893
+
2894
+ def accept(self, visitor:ParseTreeVisitor):
2895
+ if hasattr( visitor, "visitMapField" ):
2896
+ return visitor.visitMapField(self)
2897
+ else:
2898
+ return visitor.visitChildren(self)
2899
+
2900
+
2901
+
2902
+
2903
+ def mapField(self):
2904
+
2905
+ localctx = Protobuf3Parser.MapFieldContext(self, self._ctx, self.state)
2906
+ self.enterRule(localctx, 64, self.RULE_mapField)
2907
+ self._la = 0 # Token type
2908
+ try:
2909
+ self.enterOuterAlt(localctx, 1)
2910
+ self.state = 374
2911
+ self.match(Protobuf3Parser.MAP)
2912
+ self.state = 375
2913
+ self.match(Protobuf3Parser.T__12)
2914
+ self.state = 376
2915
+ self.keyType()
2916
+ self.state = 377
2917
+ self.match(Protobuf3Parser.T__10)
2918
+ self.state = 378
2919
+ self.typeRule()
2920
+ self.state = 379
2921
+ self.match(Protobuf3Parser.T__13)
2922
+ self.state = 380
2923
+ self.mapName()
2924
+ self.state = 381
2925
+ self.match(Protobuf3Parser.T__0)
2926
+ self.state = 382
2927
+ self.fieldNumber()
2928
+ self.state = 387
2929
+ self._errHandler.sync(self)
2930
+ _la = self._input.LA(1)
2931
+ if _la==10:
2932
+ self.state = 383
2933
+ self.match(Protobuf3Parser.T__9)
2934
+ self.state = 384
2935
+ self.fieldOptions()
2936
+ self.state = 385
2937
+ self.match(Protobuf3Parser.T__11)
2938
+
2939
+
2940
+ self.state = 389
2941
+ self.match(Protobuf3Parser.T__1)
2942
+ except RecognitionException as re:
2943
+ localctx.exception = re
2944
+ self._errHandler.reportError(self, re)
2945
+ self._errHandler.recover(self, re)
2946
+ finally:
2947
+ self.exitRule()
2948
+ return localctx
2949
+
2950
+
2951
+ class KeyTypeContext(ParserRuleContext):
2952
+ __slots__ = 'parser'
2953
+
2954
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
2955
+ super().__init__(parent, invokingState)
2956
+ self.parser = parser
2957
+
2958
+ def INT32(self):
2959
+ return self.getToken(Protobuf3Parser.INT32, 0)
2960
+
2961
+ def INT64(self):
2962
+ return self.getToken(Protobuf3Parser.INT64, 0)
2963
+
2964
+ def UINT32(self):
2965
+ return self.getToken(Protobuf3Parser.UINT32, 0)
2966
+
2967
+ def UINT64(self):
2968
+ return self.getToken(Protobuf3Parser.UINT64, 0)
2969
+
2970
+ def SINT32(self):
2971
+ return self.getToken(Protobuf3Parser.SINT32, 0)
2972
+
2973
+ def SINT64(self):
2974
+ return self.getToken(Protobuf3Parser.SINT64, 0)
2975
+
2976
+ def FIXED32(self):
2977
+ return self.getToken(Protobuf3Parser.FIXED32, 0)
2978
+
2979
+ def FIXED64(self):
2980
+ return self.getToken(Protobuf3Parser.FIXED64, 0)
2981
+
2982
+ def SFIXED32(self):
2983
+ return self.getToken(Protobuf3Parser.SFIXED32, 0)
2984
+
2985
+ def SFIXED64(self):
2986
+ return self.getToken(Protobuf3Parser.SFIXED64, 0)
2987
+
2988
+ def BOOL(self):
2989
+ return self.getToken(Protobuf3Parser.BOOL, 0)
2990
+
2991
+ def STRING(self):
2992
+ return self.getToken(Protobuf3Parser.STRING, 0)
2993
+
2994
+ def getRuleIndex(self):
2995
+ return Protobuf3Parser.RULE_keyType
2996
+
2997
+ def enterRule(self, listener:ParseTreeListener):
2998
+ if hasattr( listener, "enterKeyType" ):
2999
+ listener.enterKeyType(self)
3000
+
3001
+ def exitRule(self, listener:ParseTreeListener):
3002
+ if hasattr( listener, "exitKeyType" ):
3003
+ listener.exitKeyType(self)
3004
+
3005
+ def accept(self, visitor:ParseTreeVisitor):
3006
+ if hasattr( visitor, "visitKeyType" ):
3007
+ return visitor.visitKeyType(self)
3008
+ else:
3009
+ return visitor.visitChildren(self)
3010
+
3011
+
3012
+
3013
+
3014
+ def keyType(self):
3015
+
3016
+ localctx = Protobuf3Parser.KeyTypeContext(self, self._ctx, self.state)
3017
+ self.enterRule(localctx, 66, self.RULE_keyType)
3018
+ self._la = 0 # Token type
3019
+ try:
3020
+ self.enterOuterAlt(localctx, 1)
3021
+ self.state = 391
3022
+ _la = self._input.LA(1)
3023
+ if not((((_la) & ~0x3f) == 0 and ((1 << _la) & 896102083657728) != 0)):
3024
+ self._errHandler.recoverInline(self)
3025
+ else:
3026
+ self._errHandler.reportMatch(self)
3027
+ self.consume()
3028
+ except RecognitionException as re:
3029
+ localctx.exception = re
3030
+ self._errHandler.reportError(self, re)
3031
+ self._errHandler.recover(self, re)
3032
+ finally:
3033
+ self.exitRule()
3034
+ return localctx
3035
+
3036
+
3037
+ class ReservedWordContext(ParserRuleContext):
3038
+ __slots__ = 'parser'
3039
+
3040
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
3041
+ super().__init__(parent, invokingState)
3042
+ self.parser = parser
3043
+
3044
+ def EXTEND(self):
3045
+ return self.getToken(Protobuf3Parser.EXTEND, 0)
3046
+
3047
+ def MESSAGE(self):
3048
+ return self.getToken(Protobuf3Parser.MESSAGE, 0)
3049
+
3050
+ def OPTION(self):
3051
+ return self.getToken(Protobuf3Parser.OPTION, 0)
3052
+
3053
+ def PACKAGE(self):
3054
+ return self.getToken(Protobuf3Parser.PACKAGE, 0)
3055
+
3056
+ def RPC(self):
3057
+ return self.getToken(Protobuf3Parser.RPC, 0)
3058
+
3059
+ def SERVICE(self):
3060
+ return self.getToken(Protobuf3Parser.SERVICE, 0)
3061
+
3062
+ def STREAM(self):
3063
+ return self.getToken(Protobuf3Parser.STREAM, 0)
3064
+
3065
+ def STRING(self):
3066
+ return self.getToken(Protobuf3Parser.STRING, 0)
3067
+
3068
+ def SYNTAX(self):
3069
+ return self.getToken(Protobuf3Parser.SYNTAX, 0)
3070
+
3071
+ def WEAK(self):
3072
+ return self.getToken(Protobuf3Parser.WEAK, 0)
3073
+
3074
+ def getRuleIndex(self):
3075
+ return Protobuf3Parser.RULE_reservedWord
3076
+
3077
+ def enterRule(self, listener:ParseTreeListener):
3078
+ if hasattr( listener, "enterReservedWord" ):
3079
+ listener.enterReservedWord(self)
3080
+
3081
+ def exitRule(self, listener:ParseTreeListener):
3082
+ if hasattr( listener, "exitReservedWord" ):
3083
+ listener.exitReservedWord(self)
3084
+
3085
+ def accept(self, visitor:ParseTreeVisitor):
3086
+ if hasattr( visitor, "visitReservedWord" ):
3087
+ return visitor.visitReservedWord(self)
3088
+ else:
3089
+ return visitor.visitChildren(self)
3090
+
3091
+
3092
+
3093
+
3094
+ def reservedWord(self):
3095
+
3096
+ localctx = Protobuf3Parser.ReservedWordContext(self, self._ctx, self.state)
3097
+ self.enterRule(localctx, 68, self.RULE_reservedWord)
3098
+ self._la = 0 # Token type
3099
+ try:
3100
+ self.enterOuterAlt(localctx, 1)
3101
+ self.state = 393
3102
+ _la = self._input.LA(1)
3103
+ if not((((_la) & ~0x3f) == 0 and ((1 << _la) & 1249873333583872) != 0)):
3104
+ self._errHandler.recoverInline(self)
3105
+ else:
3106
+ self._errHandler.reportMatch(self)
3107
+ self.consume()
3108
+ except RecognitionException as re:
3109
+ localctx.exception = re
3110
+ self._errHandler.reportError(self, re)
3111
+ self._errHandler.recover(self, re)
3112
+ finally:
3113
+ self.exitRule()
3114
+ return localctx
3115
+
3116
+
3117
+ class FullIdentContext(ParserRuleContext):
3118
+ __slots__ = 'parser'
3119
+
3120
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
3121
+ super().__init__(parent, invokingState)
3122
+ self.parser = parser
3123
+
3124
+ def IDENT(self, i:int=None):
3125
+ if i is None:
3126
+ return self.getTokens(Protobuf3Parser.IDENT)
3127
+ else:
3128
+ return self.getToken(Protobuf3Parser.IDENT, i)
3129
+
3130
+ def getRuleIndex(self):
3131
+ return Protobuf3Parser.RULE_fullIdent
3132
+
3133
+ def enterRule(self, listener:ParseTreeListener):
3134
+ if hasattr( listener, "enterFullIdent" ):
3135
+ listener.enterFullIdent(self)
3136
+
3137
+ def exitRule(self, listener:ParseTreeListener):
3138
+ if hasattr( listener, "exitFullIdent" ):
3139
+ listener.exitFullIdent(self)
3140
+
3141
+ def accept(self, visitor:ParseTreeVisitor):
3142
+ if hasattr( visitor, "visitFullIdent" ):
3143
+ return visitor.visitFullIdent(self)
3144
+ else:
3145
+ return visitor.visitChildren(self)
3146
+
3147
+
3148
+
3149
+
3150
+ def fullIdent(self):
3151
+
3152
+ localctx = Protobuf3Parser.FullIdentContext(self, self._ctx, self.state)
3153
+ self.enterRule(localctx, 70, self.RULE_fullIdent)
3154
+ self._la = 0 # Token type
3155
+ try:
3156
+ self.enterOuterAlt(localctx, 1)
3157
+ self.state = 395
3158
+ self.match(Protobuf3Parser.IDENT)
3159
+ self.state = 400
3160
+ self._errHandler.sync(self)
3161
+ _la = self._input.LA(1)
3162
+ while _la==5:
3163
+ self.state = 396
3164
+ self.match(Protobuf3Parser.T__4)
3165
+ self.state = 397
3166
+ self.match(Protobuf3Parser.IDENT)
3167
+ self.state = 402
3168
+ self._errHandler.sync(self)
3169
+ _la = self._input.LA(1)
3170
+
3171
+ except RecognitionException as re:
3172
+ localctx.exception = re
3173
+ self._errHandler.reportError(self, re)
3174
+ self._errHandler.recover(self, re)
3175
+ finally:
3176
+ self.exitRule()
3177
+ return localctx
3178
+
3179
+
3180
+ class MessageNameContext(ParserRuleContext):
3181
+ __slots__ = 'parser'
3182
+
3183
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
3184
+ super().__init__(parent, invokingState)
3185
+ self.parser = parser
3186
+
3187
+ def IDENT(self):
3188
+ return self.getToken(Protobuf3Parser.IDENT, 0)
3189
+
3190
+ def getRuleIndex(self):
3191
+ return Protobuf3Parser.RULE_messageName
3192
+
3193
+ def enterRule(self, listener:ParseTreeListener):
3194
+ if hasattr( listener, "enterMessageName" ):
3195
+ listener.enterMessageName(self)
3196
+
3197
+ def exitRule(self, listener:ParseTreeListener):
3198
+ if hasattr( listener, "exitMessageName" ):
3199
+ listener.exitMessageName(self)
3200
+
3201
+ def accept(self, visitor:ParseTreeVisitor):
3202
+ if hasattr( visitor, "visitMessageName" ):
3203
+ return visitor.visitMessageName(self)
3204
+ else:
3205
+ return visitor.visitChildren(self)
3206
+
3207
+
3208
+
3209
+
3210
+ def messageName(self):
3211
+
3212
+ localctx = Protobuf3Parser.MessageNameContext(self, self._ctx, self.state)
3213
+ self.enterRule(localctx, 72, self.RULE_messageName)
3214
+ try:
3215
+ self.enterOuterAlt(localctx, 1)
3216
+ self.state = 403
3217
+ self.match(Protobuf3Parser.IDENT)
3218
+ except RecognitionException as re:
3219
+ localctx.exception = re
3220
+ self._errHandler.reportError(self, re)
3221
+ self._errHandler.recover(self, re)
3222
+ finally:
3223
+ self.exitRule()
3224
+ return localctx
3225
+
3226
+
3227
+ class EnumNameContext(ParserRuleContext):
3228
+ __slots__ = 'parser'
3229
+
3230
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
3231
+ super().__init__(parent, invokingState)
3232
+ self.parser = parser
3233
+
3234
+ def IDENT(self):
3235
+ return self.getToken(Protobuf3Parser.IDENT, 0)
3236
+
3237
+ def getRuleIndex(self):
3238
+ return Protobuf3Parser.RULE_enumName
3239
+
3240
+ def enterRule(self, listener:ParseTreeListener):
3241
+ if hasattr( listener, "enterEnumName" ):
3242
+ listener.enterEnumName(self)
3243
+
3244
+ def exitRule(self, listener:ParseTreeListener):
3245
+ if hasattr( listener, "exitEnumName" ):
3246
+ listener.exitEnumName(self)
3247
+
3248
+ def accept(self, visitor:ParseTreeVisitor):
3249
+ if hasattr( visitor, "visitEnumName" ):
3250
+ return visitor.visitEnumName(self)
3251
+ else:
3252
+ return visitor.visitChildren(self)
3253
+
3254
+
3255
+
3256
+
3257
+ def enumName(self):
3258
+
3259
+ localctx = Protobuf3Parser.EnumNameContext(self, self._ctx, self.state)
3260
+ self.enterRule(localctx, 74, self.RULE_enumName)
3261
+ try:
3262
+ self.enterOuterAlt(localctx, 1)
3263
+ self.state = 405
3264
+ self.match(Protobuf3Parser.IDENT)
3265
+ except RecognitionException as re:
3266
+ localctx.exception = re
3267
+ self._errHandler.reportError(self, re)
3268
+ self._errHandler.recover(self, re)
3269
+ finally:
3270
+ self.exitRule()
3271
+ return localctx
3272
+
3273
+
3274
+ class MessageOrEnumNameContext(ParserRuleContext):
3275
+ __slots__ = 'parser'
3276
+
3277
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
3278
+ super().__init__(parent, invokingState)
3279
+ self.parser = parser
3280
+
3281
+ def IDENT(self):
3282
+ return self.getToken(Protobuf3Parser.IDENT, 0)
3283
+
3284
+ def getRuleIndex(self):
3285
+ return Protobuf3Parser.RULE_messageOrEnumName
3286
+
3287
+ def enterRule(self, listener:ParseTreeListener):
3288
+ if hasattr( listener, "enterMessageOrEnumName" ):
3289
+ listener.enterMessageOrEnumName(self)
3290
+
3291
+ def exitRule(self, listener:ParseTreeListener):
3292
+ if hasattr( listener, "exitMessageOrEnumName" ):
3293
+ listener.exitMessageOrEnumName(self)
3294
+
3295
+ def accept(self, visitor:ParseTreeVisitor):
3296
+ if hasattr( visitor, "visitMessageOrEnumName" ):
3297
+ return visitor.visitMessageOrEnumName(self)
3298
+ else:
3299
+ return visitor.visitChildren(self)
3300
+
3301
+
3302
+
3303
+
3304
+ def messageOrEnumName(self):
3305
+
3306
+ localctx = Protobuf3Parser.MessageOrEnumNameContext(self, self._ctx, self.state)
3307
+ self.enterRule(localctx, 76, self.RULE_messageOrEnumName)
3308
+ try:
3309
+ self.enterOuterAlt(localctx, 1)
3310
+ self.state = 407
3311
+ self.match(Protobuf3Parser.IDENT)
3312
+ except RecognitionException as re:
3313
+ localctx.exception = re
3314
+ self._errHandler.reportError(self, re)
3315
+ self._errHandler.recover(self, re)
3316
+ finally:
3317
+ self.exitRule()
3318
+ return localctx
3319
+
3320
+
3321
+ class FieldNameContext(ParserRuleContext):
3322
+ __slots__ = 'parser'
3323
+
3324
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
3325
+ super().__init__(parent, invokingState)
3326
+ self.parser = parser
3327
+
3328
+ def IDENT(self):
3329
+ return self.getToken(Protobuf3Parser.IDENT, 0)
3330
+
3331
+ def reservedWord(self):
3332
+ return self.getTypedRuleContext(Protobuf3Parser.ReservedWordContext,0)
3333
+
3334
+
3335
+ def getRuleIndex(self):
3336
+ return Protobuf3Parser.RULE_fieldName
3337
+
3338
+ def enterRule(self, listener:ParseTreeListener):
3339
+ if hasattr( listener, "enterFieldName" ):
3340
+ listener.enterFieldName(self)
3341
+
3342
+ def exitRule(self, listener:ParseTreeListener):
3343
+ if hasattr( listener, "exitFieldName" ):
3344
+ listener.exitFieldName(self)
3345
+
3346
+ def accept(self, visitor:ParseTreeVisitor):
3347
+ if hasattr( visitor, "visitFieldName" ):
3348
+ return visitor.visitFieldName(self)
3349
+ else:
3350
+ return visitor.visitChildren(self)
3351
+
3352
+
3353
+
3354
+
3355
+ def fieldName(self):
3356
+
3357
+ localctx = Protobuf3Parser.FieldNameContext(self, self._ctx, self.state)
3358
+ self.enterRule(localctx, 78, self.RULE_fieldName)
3359
+ try:
3360
+ self.state = 411
3361
+ self._errHandler.sync(self)
3362
+ token = self._input.LA(1)
3363
+ if token in [51]:
3364
+ self.enterOuterAlt(localctx, 1)
3365
+ self.state = 409
3366
+ self.match(Protobuf3Parser.IDENT)
3367
+ pass
3368
+ elif token in [20, 28, 30, 31, 38, 39, 44, 45, 46, 50]:
3369
+ self.enterOuterAlt(localctx, 2)
3370
+ self.state = 410
3371
+ self.reservedWord()
3372
+ pass
3373
+ else:
3374
+ raise NoViableAltException(self)
3375
+
3376
+ except RecognitionException as re:
3377
+ localctx.exception = re
3378
+ self._errHandler.reportError(self, re)
3379
+ self._errHandler.recover(self, re)
3380
+ finally:
3381
+ self.exitRule()
3382
+ return localctx
3383
+
3384
+
3385
+ class OneofNameContext(ParserRuleContext):
3386
+ __slots__ = 'parser'
3387
+
3388
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
3389
+ super().__init__(parent, invokingState)
3390
+ self.parser = parser
3391
+
3392
+ def IDENT(self):
3393
+ return self.getToken(Protobuf3Parser.IDENT, 0)
3394
+
3395
+ def getRuleIndex(self):
3396
+ return Protobuf3Parser.RULE_oneofName
3397
+
3398
+ def enterRule(self, listener:ParseTreeListener):
3399
+ if hasattr( listener, "enterOneofName" ):
3400
+ listener.enterOneofName(self)
3401
+
3402
+ def exitRule(self, listener:ParseTreeListener):
3403
+ if hasattr( listener, "exitOneofName" ):
3404
+ listener.exitOneofName(self)
3405
+
3406
+ def accept(self, visitor:ParseTreeVisitor):
3407
+ if hasattr( visitor, "visitOneofName" ):
3408
+ return visitor.visitOneofName(self)
3409
+ else:
3410
+ return visitor.visitChildren(self)
3411
+
3412
+
3413
+
3414
+
3415
+ def oneofName(self):
3416
+
3417
+ localctx = Protobuf3Parser.OneofNameContext(self, self._ctx, self.state)
3418
+ self.enterRule(localctx, 80, self.RULE_oneofName)
3419
+ try:
3420
+ self.enterOuterAlt(localctx, 1)
3421
+ self.state = 413
3422
+ self.match(Protobuf3Parser.IDENT)
3423
+ except RecognitionException as re:
3424
+ localctx.exception = re
3425
+ self._errHandler.reportError(self, re)
3426
+ self._errHandler.recover(self, re)
3427
+ finally:
3428
+ self.exitRule()
3429
+ return localctx
3430
+
3431
+
3432
+ class MapNameContext(ParserRuleContext):
3433
+ __slots__ = 'parser'
3434
+
3435
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
3436
+ super().__init__(parent, invokingState)
3437
+ self.parser = parser
3438
+
3439
+ def IDENT(self):
3440
+ return self.getToken(Protobuf3Parser.IDENT, 0)
3441
+
3442
+ def getRuleIndex(self):
3443
+ return Protobuf3Parser.RULE_mapName
3444
+
3445
+ def enterRule(self, listener:ParseTreeListener):
3446
+ if hasattr( listener, "enterMapName" ):
3447
+ listener.enterMapName(self)
3448
+
3449
+ def exitRule(self, listener:ParseTreeListener):
3450
+ if hasattr( listener, "exitMapName" ):
3451
+ listener.exitMapName(self)
3452
+
3453
+ def accept(self, visitor:ParseTreeVisitor):
3454
+ if hasattr( visitor, "visitMapName" ):
3455
+ return visitor.visitMapName(self)
3456
+ else:
3457
+ return visitor.visitChildren(self)
3458
+
3459
+
3460
+
3461
+
3462
+ def mapName(self):
3463
+
3464
+ localctx = Protobuf3Parser.MapNameContext(self, self._ctx, self.state)
3465
+ self.enterRule(localctx, 82, self.RULE_mapName)
3466
+ try:
3467
+ self.enterOuterAlt(localctx, 1)
3468
+ self.state = 415
3469
+ self.match(Protobuf3Parser.IDENT)
3470
+ except RecognitionException as re:
3471
+ localctx.exception = re
3472
+ self._errHandler.reportError(self, re)
3473
+ self._errHandler.recover(self, re)
3474
+ finally:
3475
+ self.exitRule()
3476
+ return localctx
3477
+
3478
+
3479
+ class ServiceNameContext(ParserRuleContext):
3480
+ __slots__ = 'parser'
3481
+
3482
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
3483
+ super().__init__(parent, invokingState)
3484
+ self.parser = parser
3485
+
3486
+ def IDENT(self):
3487
+ return self.getToken(Protobuf3Parser.IDENT, 0)
3488
+
3489
+ def getRuleIndex(self):
3490
+ return Protobuf3Parser.RULE_serviceName
3491
+
3492
+ def enterRule(self, listener:ParseTreeListener):
3493
+ if hasattr( listener, "enterServiceName" ):
3494
+ listener.enterServiceName(self)
3495
+
3496
+ def exitRule(self, listener:ParseTreeListener):
3497
+ if hasattr( listener, "exitServiceName" ):
3498
+ listener.exitServiceName(self)
3499
+
3500
+ def accept(self, visitor:ParseTreeVisitor):
3501
+ if hasattr( visitor, "visitServiceName" ):
3502
+ return visitor.visitServiceName(self)
3503
+ else:
3504
+ return visitor.visitChildren(self)
3505
+
3506
+
3507
+
3508
+
3509
+ def serviceName(self):
3510
+
3511
+ localctx = Protobuf3Parser.ServiceNameContext(self, self._ctx, self.state)
3512
+ self.enterRule(localctx, 84, self.RULE_serviceName)
3513
+ try:
3514
+ self.enterOuterAlt(localctx, 1)
3515
+ self.state = 417
3516
+ self.match(Protobuf3Parser.IDENT)
3517
+ except RecognitionException as re:
3518
+ localctx.exception = re
3519
+ self._errHandler.reportError(self, re)
3520
+ self._errHandler.recover(self, re)
3521
+ finally:
3522
+ self.exitRule()
3523
+ return localctx
3524
+
3525
+
3526
+ class RpcNameContext(ParserRuleContext):
3527
+ __slots__ = 'parser'
3528
+
3529
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
3530
+ super().__init__(parent, invokingState)
3531
+ self.parser = parser
3532
+
3533
+ def IDENT(self):
3534
+ return self.getToken(Protobuf3Parser.IDENT, 0)
3535
+
3536
+ def getRuleIndex(self):
3537
+ return Protobuf3Parser.RULE_rpcName
3538
+
3539
+ def enterRule(self, listener:ParseTreeListener):
3540
+ if hasattr( listener, "enterRpcName" ):
3541
+ listener.enterRpcName(self)
3542
+
3543
+ def exitRule(self, listener:ParseTreeListener):
3544
+ if hasattr( listener, "exitRpcName" ):
3545
+ listener.exitRpcName(self)
3546
+
3547
+ def accept(self, visitor:ParseTreeVisitor):
3548
+ if hasattr( visitor, "visitRpcName" ):
3549
+ return visitor.visitRpcName(self)
3550
+ else:
3551
+ return visitor.visitChildren(self)
3552
+
3553
+
3554
+
3555
+
3556
+ def rpcName(self):
3557
+
3558
+ localctx = Protobuf3Parser.RpcNameContext(self, self._ctx, self.state)
3559
+ self.enterRule(localctx, 86, self.RULE_rpcName)
3560
+ try:
3561
+ self.enterOuterAlt(localctx, 1)
3562
+ self.state = 419
3563
+ self.match(Protobuf3Parser.IDENT)
3564
+ except RecognitionException as re:
3565
+ localctx.exception = re
3566
+ self._errHandler.reportError(self, re)
3567
+ self._errHandler.recover(self, re)
3568
+ finally:
3569
+ self.exitRule()
3570
+ return localctx
3571
+
3572
+
3573
+ class MessageTypeContext(ParserRuleContext):
3574
+ __slots__ = 'parser'
3575
+
3576
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
3577
+ super().__init__(parent, invokingState)
3578
+ self.parser = parser
3579
+
3580
+ def messageName(self):
3581
+ return self.getTypedRuleContext(Protobuf3Parser.MessageNameContext,0)
3582
+
3583
+
3584
+ def IDENT(self, i:int=None):
3585
+ if i is None:
3586
+ return self.getTokens(Protobuf3Parser.IDENT)
3587
+ else:
3588
+ return self.getToken(Protobuf3Parser.IDENT, i)
3589
+
3590
+ def getRuleIndex(self):
3591
+ return Protobuf3Parser.RULE_messageType
3592
+
3593
+ def enterRule(self, listener:ParseTreeListener):
3594
+ if hasattr( listener, "enterMessageType" ):
3595
+ listener.enterMessageType(self)
3596
+
3597
+ def exitRule(self, listener:ParseTreeListener):
3598
+ if hasattr( listener, "exitMessageType" ):
3599
+ listener.exitMessageType(self)
3600
+
3601
+ def accept(self, visitor:ParseTreeVisitor):
3602
+ if hasattr( visitor, "visitMessageType" ):
3603
+ return visitor.visitMessageType(self)
3604
+ else:
3605
+ return visitor.visitChildren(self)
3606
+
3607
+
3608
+
3609
+
3610
+ def messageType(self):
3611
+
3612
+ localctx = Protobuf3Parser.MessageTypeContext(self, self._ctx, self.state)
3613
+ self.enterRule(localctx, 88, self.RULE_messageType)
3614
+ self._la = 0 # Token type
3615
+ try:
3616
+ self.enterOuterAlt(localctx, 1)
3617
+ self.state = 422
3618
+ self._errHandler.sync(self)
3619
+ _la = self._input.LA(1)
3620
+ if _la==5:
3621
+ self.state = 421
3622
+ self.match(Protobuf3Parser.T__4)
3623
+
3624
+
3625
+ self.state = 428
3626
+ self._errHandler.sync(self)
3627
+ _alt = self._interp.adaptivePredict(self._input,39,self._ctx)
3628
+ while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:
3629
+ if _alt==1:
3630
+ self.state = 424
3631
+ self.match(Protobuf3Parser.IDENT)
3632
+ self.state = 425
3633
+ self.match(Protobuf3Parser.T__4)
3634
+ self.state = 430
3635
+ self._errHandler.sync(self)
3636
+ _alt = self._interp.adaptivePredict(self._input,39,self._ctx)
3637
+
3638
+ self.state = 431
3639
+ self.messageName()
3640
+ except RecognitionException as re:
3641
+ localctx.exception = re
3642
+ self._errHandler.reportError(self, re)
3643
+ self._errHandler.recover(self, re)
3644
+ finally:
3645
+ self.exitRule()
3646
+ return localctx
3647
+
3648
+
3649
+ class MessageOrEnumTypeContext(ParserRuleContext):
3650
+ __slots__ = 'parser'
3651
+
3652
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
3653
+ super().__init__(parent, invokingState)
3654
+ self.parser = parser
3655
+
3656
+ def messageOrEnumName(self):
3657
+ return self.getTypedRuleContext(Protobuf3Parser.MessageOrEnumNameContext,0)
3658
+
3659
+
3660
+ def IDENT(self, i:int=None):
3661
+ if i is None:
3662
+ return self.getTokens(Protobuf3Parser.IDENT)
3663
+ else:
3664
+ return self.getToken(Protobuf3Parser.IDENT, i)
3665
+
3666
+ def reservedWord(self, i:int=None):
3667
+ if i is None:
3668
+ return self.getTypedRuleContexts(Protobuf3Parser.ReservedWordContext)
3669
+ else:
3670
+ return self.getTypedRuleContext(Protobuf3Parser.ReservedWordContext,i)
3671
+
3672
+
3673
+ def getRuleIndex(self):
3674
+ return Protobuf3Parser.RULE_messageOrEnumType
3675
+
3676
+ def enterRule(self, listener:ParseTreeListener):
3677
+ if hasattr( listener, "enterMessageOrEnumType" ):
3678
+ listener.enterMessageOrEnumType(self)
3679
+
3680
+ def exitRule(self, listener:ParseTreeListener):
3681
+ if hasattr( listener, "exitMessageOrEnumType" ):
3682
+ listener.exitMessageOrEnumType(self)
3683
+
3684
+ def accept(self, visitor:ParseTreeVisitor):
3685
+ if hasattr( visitor, "visitMessageOrEnumType" ):
3686
+ return visitor.visitMessageOrEnumType(self)
3687
+ else:
3688
+ return visitor.visitChildren(self)
3689
+
3690
+
3691
+
3692
+
3693
+ def messageOrEnumType(self):
3694
+
3695
+ localctx = Protobuf3Parser.MessageOrEnumTypeContext(self, self._ctx, self.state)
3696
+ self.enterRule(localctx, 90, self.RULE_messageOrEnumType)
3697
+ self._la = 0 # Token type
3698
+ try:
3699
+ self.enterOuterAlt(localctx, 1)
3700
+ self.state = 434
3701
+ self._errHandler.sync(self)
3702
+ _la = self._input.LA(1)
3703
+ if _la==5:
3704
+ self.state = 433
3705
+ self.match(Protobuf3Parser.T__4)
3706
+
3707
+
3708
+ self.state = 443
3709
+ self._errHandler.sync(self)
3710
+ _alt = self._interp.adaptivePredict(self._input,42,self._ctx)
3711
+ while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:
3712
+ if _alt==1:
3713
+ self.state = 438
3714
+ self._errHandler.sync(self)
3715
+ token = self._input.LA(1)
3716
+ if token in [51]:
3717
+ self.state = 436
3718
+ self.match(Protobuf3Parser.IDENT)
3719
+ pass
3720
+ elif token in [20, 28, 30, 31, 38, 39, 44, 45, 46, 50]:
3721
+ self.state = 437
3722
+ self.reservedWord()
3723
+ pass
3724
+ else:
3725
+ raise NoViableAltException(self)
3726
+
3727
+ self.state = 440
3728
+ self.match(Protobuf3Parser.T__4)
3729
+ self.state = 445
3730
+ self._errHandler.sync(self)
3731
+ _alt = self._interp.adaptivePredict(self._input,42,self._ctx)
3732
+
3733
+ self.state = 446
3734
+ self.messageOrEnumName()
3735
+ except RecognitionException as re:
3736
+ localctx.exception = re
3737
+ self._errHandler.reportError(self, re)
3738
+ self._errHandler.recover(self, re)
3739
+ finally:
3740
+ self.exitRule()
3741
+ return localctx
3742
+
3743
+
3744
+ class EmptyStmtContext(ParserRuleContext):
3745
+ __slots__ = 'parser'
3746
+
3747
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
3748
+ super().__init__(parent, invokingState)
3749
+ self.parser = parser
3750
+
3751
+
3752
+ def getRuleIndex(self):
3753
+ return Protobuf3Parser.RULE_emptyStmt
3754
+
3755
+ def enterRule(self, listener:ParseTreeListener):
3756
+ if hasattr( listener, "enterEmptyStmt" ):
3757
+ listener.enterEmptyStmt(self)
3758
+
3759
+ def exitRule(self, listener:ParseTreeListener):
3760
+ if hasattr( listener, "exitEmptyStmt" ):
3761
+ listener.exitEmptyStmt(self)
3762
+
3763
+ def accept(self, visitor:ParseTreeVisitor):
3764
+ if hasattr( visitor, "visitEmptyStmt" ):
3765
+ return visitor.visitEmptyStmt(self)
3766
+ else:
3767
+ return visitor.visitChildren(self)
3768
+
3769
+
3770
+
3771
+
3772
+ def emptyStmt(self):
3773
+
3774
+ localctx = Protobuf3Parser.EmptyStmtContext(self, self._ctx, self.state)
3775
+ self.enterRule(localctx, 92, self.RULE_emptyStmt)
3776
+ try:
3777
+ self.enterOuterAlt(localctx, 1)
3778
+ self.state = 448
3779
+ self.match(Protobuf3Parser.T__1)
3780
+ except RecognitionException as re:
3781
+ localctx.exception = re
3782
+ self._errHandler.reportError(self, re)
3783
+ self._errHandler.recover(self, re)
3784
+ finally:
3785
+ self.exitRule()
3786
+ return localctx
3787
+
3788
+
3789
+ class ConstantContext(ParserRuleContext):
3790
+ __slots__ = 'parser'
3791
+
3792
+ def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
3793
+ super().__init__(parent, invokingState)
3794
+ self.parser = parser
3795
+
3796
+ def fullIdent(self):
3797
+ return self.getTypedRuleContext(Protobuf3Parser.FullIdentContext,0)
3798
+
3799
+
3800
+ def INT_LIT(self):
3801
+ return self.getToken(Protobuf3Parser.INT_LIT, 0)
3802
+
3803
+ def FLOAT_LIT(self):
3804
+ return self.getToken(Protobuf3Parser.FLOAT_LIT, 0)
3805
+
3806
+ def STR_LIT(self):
3807
+ return self.getToken(Protobuf3Parser.STR_LIT, 0)
3808
+
3809
+ def BOOL_LIT(self):
3810
+ return self.getToken(Protobuf3Parser.BOOL_LIT, 0)
3811
+
3812
+ def getRuleIndex(self):
3813
+ return Protobuf3Parser.RULE_constant
3814
+
3815
+ def enterRule(self, listener:ParseTreeListener):
3816
+ if hasattr( listener, "enterConstant" ):
3817
+ listener.enterConstant(self)
3818
+
3819
+ def exitRule(self, listener:ParseTreeListener):
3820
+ if hasattr( listener, "exitConstant" ):
3821
+ listener.exitConstant(self)
3822
+
3823
+ def accept(self, visitor:ParseTreeVisitor):
3824
+ if hasattr( visitor, "visitConstant" ):
3825
+ return visitor.visitConstant(self)
3826
+ else:
3827
+ return visitor.visitChildren(self)
3828
+
3829
+
3830
+
3831
+
3832
+ def constant(self):
3833
+
3834
+ localctx = Protobuf3Parser.ConstantContext(self, self._ctx, self.state)
3835
+ self.enterRule(localctx, 94, self.RULE_constant)
3836
+ self._la = 0 # Token type
3837
+ try:
3838
+ self.state = 461
3839
+ self._errHandler.sync(self)
3840
+ la_ = self._interp.adaptivePredict(self._input,45,self._ctx)
3841
+ if la_ == 1:
3842
+ self.enterOuterAlt(localctx, 1)
3843
+ self.state = 450
3844
+ self.fullIdent()
3845
+ pass
3846
+
3847
+ elif la_ == 2:
3848
+ self.enterOuterAlt(localctx, 2)
3849
+ self.state = 452
3850
+ self._errHandler.sync(self)
3851
+ _la = self._input.LA(1)
3852
+ if _la==9 or _la==15:
3853
+ self.state = 451
3854
+ _la = self._input.LA(1)
3855
+ if not(_la==9 or _la==15):
3856
+ self._errHandler.recoverInline(self)
3857
+ else:
3858
+ self._errHandler.reportMatch(self)
3859
+ self.consume()
3860
+
3861
+
3862
+ self.state = 454
3863
+ self.match(Protobuf3Parser.INT_LIT)
3864
+ pass
3865
+
3866
+ elif la_ == 3:
3867
+ self.enterOuterAlt(localctx, 3)
3868
+ self.state = 456
3869
+ self._errHandler.sync(self)
3870
+ _la = self._input.LA(1)
3871
+ if _la==9 or _la==15:
3872
+ self.state = 455
3873
+ _la = self._input.LA(1)
3874
+ if not(_la==9 or _la==15):
3875
+ self._errHandler.recoverInline(self)
3876
+ else:
3877
+ self._errHandler.reportMatch(self)
3878
+ self.consume()
3879
+
3880
+
3881
+ self.state = 458
3882
+ self.match(Protobuf3Parser.FLOAT_LIT)
3883
+ pass
3884
+
3885
+ elif la_ == 4:
3886
+ self.enterOuterAlt(localctx, 4)
3887
+ self.state = 459
3888
+ self.match(Protobuf3Parser.STR_LIT)
3889
+ pass
3890
+
3891
+ elif la_ == 5:
3892
+ self.enterOuterAlt(localctx, 5)
3893
+ self.state = 460
3894
+ self.match(Protobuf3Parser.BOOL_LIT)
3895
+ pass
3896
+
3897
+
3898
+ except RecognitionException as re:
3899
+ localctx.exception = re
3900
+ self._errHandler.reportError(self, re)
3901
+ self._errHandler.recover(self, re)
3902
+ finally:
3903
+ self.exitRule()
3904
+ return localctx
3905
+
3906
+
3907
+
3908
+
3909
+