]>
Commit | Line | Data |
---|---|---|
22c4de1a HC |
1 | # Generated from C.g4 by ANTLR 4.7.1\r |
2 | # encoding: utf-8\r | |
3 | from antlr4 import *\r | |
4 | from io import StringIO\r | |
5 | from typing.io import TextIO\r | |
6 | import sys\r | |
f51461c8 | 7 | \r |
f7496d71 | 8 | \r |
52302d4d LG |
9 | ## @file\r |
10 | # The file defines the parser for C source files.\r | |
11 | #\r | |
12 | # THIS FILE IS AUTO-GENENERATED. PLEASE DON NOT MODIFY THIS FILE.\r | |
13 | # This file is generated by running:\r | |
14 | # java org.antlr.Tool C.g\r | |
15 | #\r | |
22c4de1a | 16 | # Copyright (c) 2009 - 2010, Intel Corporation All rights reserved.\r |
52302d4d LG |
17 | #\r |
18 | # This program and the accompanying materials are licensed and made available\r | |
19 | # under the terms and conditions of the BSD License which accompanies this\r | |
20 | # distribution. The full text of the license may be found at:\r | |
21 | # http://opensource.org/licenses/bsd-license.php\r | |
22 | #\r | |
23 | # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r | |
24 | # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
25 | #\r | |
26 | ##\r | |
27 | \r | |
22c4de1a HC |
28 | import Ecc.CodeFragment as CodeFragment\r |
29 | import Ecc.FileProfile as FileProfile\r | |
30 | \r | |
31 | def serializedATN():\r | |
32 | with StringIO() as buf:\r | |
33 | buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3k")\r | |
34 | buf.write("\u0380\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7")\r | |
35 | buf.write("\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r\4\16")\r | |
36 | buf.write("\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23\t\23")\r | |
37 | buf.write("\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31")\r | |
38 | buf.write("\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36")\r | |
39 | buf.write("\4\37\t\37\4 \t \4!\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t")\r | |
40 | buf.write("&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4,\t,\4-\t-\4.\t.\4")\r | |
41 | buf.write("/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t\64")\r | |
42 | buf.write("\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t")\r | |
43 | buf.write(";\4<\t<\4=\t=\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\t")\r | |
44 | buf.write("D\4E\tE\4F\tF\4G\tG\4H\tH\3\2\7\2\u0092\n\2\f\2\16\2\u0095")\r | |
45 | buf.write("\13\2\3\3\5\3\u0098\n\3\3\3\3\3\7\3\u009c\n\3\f\3\16\3")\r | |
46 | buf.write("\u009f\13\3\3\3\3\3\3\3\3\3\3\3\3\3\5\3\u00a7\n\3\5\3")\r | |
47 | buf.write("\u00a9\n\3\3\4\5\4\u00ac\n\4\3\4\3\4\6\4\u00b0\n\4\r\4")\r | |
48 | buf.write("\16\4\u00b1\3\4\3\4\3\4\5\4\u00b7\n\4\3\4\3\4\3\5\3\5")\r | |
49 | buf.write("\3\5\6\5\u00be\n\5\r\5\16\5\u00bf\3\6\3\6\5\6\u00c4\n")\r | |
50 | buf.write("\6\3\6\3\6\3\6\3\6\3\6\3\6\5\6\u00cc\n\6\3\6\3\6\3\6\5")\r | |
51 | buf.write("\6\u00d1\n\6\3\7\3\7\3\7\7\7\u00d6\n\7\f\7\16\7\u00d9")\r | |
52 | buf.write("\13\7\3\b\3\b\3\b\5\b\u00de\n\b\3\t\3\t\3\n\3\n\3\n\3")\r | |
53 | buf.write("\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n\3\n")\r | |
54 | buf.write("\7\n\u00f3\n\n\f\n\16\n\u00f6\13\n\3\n\3\n\5\n\u00fa\n")\r | |
55 | buf.write("\n\3\13\3\13\3\f\3\f\5\f\u0100\n\f\3\f\3\f\3\f\3\f\3\f")\r | |
56 | buf.write("\3\f\3\f\5\f\u0109\n\f\3\r\3\r\3\16\6\16\u010e\n\16\r")\r | |
57 | buf.write("\16\16\16\u010f\3\17\3\17\3\17\3\17\3\20\3\20\6\20\u0118")\r | |
58 | buf.write("\n\20\r\20\16\20\u0119\3\21\3\21\3\21\7\21\u011f\n\21")\r | |
59 | buf.write("\f\21\16\21\u0122\13\21\3\22\3\22\3\22\5\22\u0127\n\22")\r | |
60 | buf.write("\3\22\3\22\5\22\u012b\n\22\3\23\3\23\3\23\3\23\5\23\u0131")\r | |
61 | buf.write("\n\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23\5\23\u013a\n")\r | |
62 | buf.write("\23\3\23\3\23\3\23\3\23\5\23\u0140\n\23\3\24\3\24\3\24")\r | |
63 | buf.write("\7\24\u0145\n\24\f\24\16\24\u0148\13\24\3\25\3\25\3\25")\r | |
64 | buf.write("\5\25\u014d\n\25\3\26\3\26\3\27\5\27\u0152\n\27\3\27\5")\r | |
65 | buf.write("\27\u0155\n\27\3\27\5\27\u0158\n\27\3\27\5\27\u015b\n")\r | |
66 | buf.write("\27\3\27\3\27\5\27\u015f\n\27\3\30\3\30\7\30\u0163\n\30")\r | |
67 | buf.write("\f\30\16\30\u0166\13\30\3\30\3\30\5\30\u016a\n\30\3\30")\r | |
68 | buf.write("\3\30\3\30\6\30\u016f\n\30\r\30\16\30\u0170\5\30\u0173")\r | |
69 | buf.write("\n\30\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31")\r | |
70 | buf.write("\3\31\3\31\3\31\3\31\3\31\3\31\5\31\u0185\n\31\3\32\3")\r | |
71 | buf.write("\32\6\32\u0189\n\32\r\32\16\32\u018a\3\32\5\32\u018e\n")\r | |
72 | buf.write("\32\3\32\3\32\3\32\5\32\u0193\n\32\3\33\3\33\3\33\5\33")\r | |
73 | buf.write("\u0198\n\33\3\33\5\33\u019b\n\33\3\34\3\34\3\34\5\34\u01a0")\r | |
74 | buf.write("\n\34\3\34\7\34\u01a3\n\34\f\34\16\34\u01a6\13\34\3\35")\r | |
75 | buf.write("\3\35\3\35\7\35\u01ab\n\35\f\35\16\35\u01ae\13\35\3\35")\r | |
76 | buf.write("\5\35\u01b1\n\35\3\35\7\35\u01b4\n\35\f\35\16\35\u01b7")\r | |
77 | buf.write("\13\35\3\35\5\35\u01ba\n\35\3\36\3\36\3\36\7\36\u01bf")\r | |
78 | buf.write("\n\36\f\36\16\36\u01c2\13\36\3\37\3\37\5\37\u01c6\n\37")\r | |
79 | buf.write("\3\37\5\37\u01c9\n\37\3 \3 \5 \u01cd\n \3 \5 \u01d0\n")\r | |
80 | buf.write(" \3!\3!\3!\3!\3!\5!\u01d7\n!\3!\7!\u01da\n!\f!\16!\u01dd")\r | |
81 | buf.write("\13!\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\3\"\5")\r | |
82 | buf.write("\"\u01eb\n\"\3#\3#\3#\3#\5#\u01f1\n#\3#\3#\5#\u01f5\n")\r | |
83 | buf.write("#\3$\3$\3$\7$\u01fa\n$\f$\16$\u01fd\13$\3%\3%\5%\u0201")\r | |
84 | buf.write("\n%\3%\3%\3%\5%\u0206\n%\7%\u0208\n%\f%\16%\u020b\13%")\r | |
85 | buf.write("\3&\3&\3&\3&\3&\7&\u0212\n&\f&\16&\u0215\13&\3\'\3\'\3")\r | |
86 | buf.write("\'\3\'\3\'\3\'\3\'\7\'\u021e\n\'\f\'\16\'\u0221\13\'\3")\r | |
87 | buf.write("(\3(\3(\3(\3(\3(\5(\u0229\n(\3)\3)\3)\3)\3)\3)\3)\3)\3")\r | |
88 | buf.write(")\3)\3)\3)\3)\3)\3)\5)\u023a\n)\3*\3*\3*\3*\3*\3*\3*\3")\r | |
89 | buf.write("*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3")\r | |
90 | buf.write("*\3*\3*\3*\7*\u0259\n*\f*\16*\u025c\13*\3+\3+\3+\7+\u0261")\r | |
91 | buf.write("\n+\f+\16+\u0264\13+\3,\3,\3-\3-\3-\3-\3-\3-\5-\u026e")\r | |
92 | buf.write("\n-\3.\3.\3.\3.\3.\7.\u0275\n.\f.\16.\u0278\13.\3.\6.")\r | |
93 | buf.write("\u027b\n.\r.\16.\u027c\6.\u027f\n.\r.\16.\u0280\3.\7.")\r | |
94 | buf.write("\u0284\n.\f.\16.\u0287\13.\3.\5.\u028a\n.\3/\3/\3/\7/")\r | |
95 | buf.write("\u028f\n/\f/\16/\u0292\13/\3\60\3\60\3\61\3\61\3\61\3")\r | |
96 | buf.write("\61\3\61\5\61\u029b\n\61\3\62\3\62\3\63\3\63\3\64\3\64")\r | |
97 | buf.write("\3\64\3\64\3\64\3\64\3\64\5\64\u02a8\n\64\3\65\3\65\3")\r | |
98 | buf.write("\65\7\65\u02ad\n\65\f\65\16\65\u02b0\13\65\3\66\3\66\3")\r | |
99 | buf.write("\66\7\66\u02b5\n\66\f\66\16\66\u02b8\13\66\3\67\3\67\3")\r | |
100 | buf.write("\67\7\67\u02bd\n\67\f\67\16\67\u02c0\13\67\38\38\38\7")\r | |
101 | buf.write("8\u02c5\n8\f8\168\u02c8\138\39\39\39\79\u02cd\n9\f9\16")\r | |
102 | buf.write("9\u02d0\139\3:\3:\3:\7:\u02d5\n:\f:\16:\u02d8\13:\3;\3")\r | |
103 | buf.write(";\3;\7;\u02dd\n;\f;\16;\u02e0\13;\3<\3<\3<\7<\u02e5\n")\r | |
104 | buf.write("<\f<\16<\u02e8\13<\3=\3=\3=\3=\3=\3=\3=\3=\3=\3=\3=\5")\r | |
105 | buf.write("=\u02f5\n=\3>\5>\u02f8\n>\3>\3>\3>\7>\u02fd\n>\f>\16>")\r | |
106 | buf.write("\u0300\13>\3>\3>\3>\3?\3?\3?\7?\u0308\n?\f?\16?\u030b")\r | |
107 | buf.write("\13?\3?\3?\3@\3@\3@\7@\u0312\n@\f@\16@\u0315\13@\3@\3")\r | |
108 | buf.write("@\3A\3A\3A\7A\u031c\nA\fA\16A\u031f\13A\3A\5A\u0322\n")\r | |
109 | buf.write("A\3A\5A\u0325\nA\3A\3A\3B\3B\3B\3B\3B\3B\3B\3B\3B\3B\3")\r | |
110 | buf.write("B\5B\u0334\nB\3C\3C\7C\u0338\nC\fC\16C\u033b\13C\3C\5")\r | |
111 | buf.write("C\u033e\nC\3C\3C\3D\6D\u0343\nD\rD\16D\u0344\3E\3E\3E")\r | |
112 | buf.write("\3E\5E\u034b\nE\3F\3F\3F\3F\3F\3F\3F\3F\5F\u0355\nF\3")\r | |
113 | buf.write("F\3F\3F\3F\3F\3F\5F\u035d\nF\3G\3G\3G\3G\3G\3G\3G\3G\3")\r | |
114 | buf.write("G\3G\3G\3G\3G\3G\3G\3G\5G\u036f\nG\3H\3H\3H\3H\3H\3H\3")\r | |
115 | buf.write("H\3H\3H\3H\3H\3H\3H\5H\u037e\nH\3H\2\2I\2\4\6\b\n\f\16")\r | |
116 | buf.write("\20\22\24\26\30\32\34\36 \"$&(*,.\60\62\64\668:<>@BDF")\r | |
117 | buf.write("HJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086")\r | |
118 | buf.write("\u0088\u008a\u008c\u008e\2\f\3\2\b\f\3\2\27\30\3\2\33")\r | |
119 | buf.write("\'\5\2,,./\679\4\2\7\7:C\3\2IJ\3\2KN\3\2OP\3\2\4\4\3\2")\r | |
120 | buf.write("\26\26\2\u03d8\2\u0093\3\2\2\2\4\u00a8\3\2\2\2\6\u00ab")\r | |
121 | buf.write("\3\2\2\2\b\u00bd\3\2\2\2\n\u00d0\3\2\2\2\f\u00d2\3\2\2")\r | |
122 | buf.write("\2\16\u00da\3\2\2\2\20\u00df\3\2\2\2\22\u00f9\3\2\2\2")\r | |
123 | buf.write("\24\u00fb\3\2\2\2\26\u0108\3\2\2\2\30\u010a\3\2\2\2\32")\r | |
124 | buf.write("\u010d\3\2\2\2\34\u0111\3\2\2\2\36\u0117\3\2\2\2 \u011b")\r | |
125 | buf.write("\3\2\2\2\"\u012a\3\2\2\2$\u013f\3\2\2\2&\u0141\3\2\2\2")\r | |
126 | buf.write("(\u0149\3\2\2\2*\u014e\3\2\2\2,\u015e\3\2\2\2.\u0172\3")\r | |
127 | buf.write("\2\2\2\60\u0184\3\2\2\2\62\u0192\3\2\2\2\64\u0194\3\2")\r | |
128 | buf.write("\2\2\66\u019c\3\2\2\28\u01b9\3\2\2\2:\u01bb\3\2\2\2<\u01c8")\r | |
129 | buf.write("\3\2\2\2>\u01cf\3\2\2\2@\u01d6\3\2\2\2B\u01ea\3\2\2\2")\r | |
130 | buf.write("D\u01f4\3\2\2\2F\u01f6\3\2\2\2H\u01fe\3\2\2\2J\u020c\3")\r | |
131 | buf.write("\2\2\2L\u0216\3\2\2\2N\u0228\3\2\2\2P\u0239\3\2\2\2R\u023b")\r | |
132 | buf.write("\3\2\2\2T\u025d\3\2\2\2V\u0265\3\2\2\2X\u026d\3\2\2\2")\r | |
133 | buf.write("Z\u0289\3\2\2\2\\\u028b\3\2\2\2^\u0293\3\2\2\2`\u029a")\r | |
134 | buf.write("\3\2\2\2b\u029c\3\2\2\2d\u029e\3\2\2\2f\u02a0\3\2\2\2")\r | |
135 | buf.write("h\u02a9\3\2\2\2j\u02b1\3\2\2\2l\u02b9\3\2\2\2n\u02c1\3")\r | |
136 | buf.write("\2\2\2p\u02c9\3\2\2\2r\u02d1\3\2\2\2t\u02d9\3\2\2\2v\u02e1")\r | |
137 | buf.write("\3\2\2\2x\u02f4\3\2\2\2z\u02f7\3\2\2\2|\u0304\3\2\2\2")\r | |
138 | buf.write("~\u030e\3\2\2\2\u0080\u0318\3\2\2\2\u0082\u0333\3\2\2")\r | |
139 | buf.write("\2\u0084\u0335\3\2\2\2\u0086\u0342\3\2\2\2\u0088\u034a")\r | |
140 | buf.write("\3\2\2\2\u008a\u035c\3\2\2\2\u008c\u036e\3\2\2\2\u008e")\r | |
141 | buf.write("\u037d\3\2\2\2\u0090\u0092\5\4\3\2\u0091\u0090\3\2\2\2")\r | |
142 | buf.write("\u0092\u0095\3\2\2\2\u0093\u0091\3\2\2\2\u0093\u0094\3")\r | |
143 | buf.write("\2\2\2\u0094\3\3\2\2\2\u0095\u0093\3\2\2\2\u0096\u0098")\r | |
144 | buf.write("\5\b\5\2\u0097\u0096\3\2\2\2\u0097\u0098\3\2\2\2\u0098")\r | |
145 | buf.write("\u0099\3\2\2\2\u0099\u009d\5,\27\2\u009a\u009c\5\n\6\2")\r | |
146 | buf.write("\u009b\u009a\3\2\2\2\u009c\u009f\3\2\2\2\u009d\u009b\3")\r | |
147 | buf.write("\2\2\2\u009d\u009e\3\2\2\2\u009e\u00a0\3\2\2\2\u009f\u009d")\r | |
148 | buf.write("\3\2\2\2\u00a0\u00a1\7\3\2\2\u00a1\u00a9\3\2\2\2\u00a2")\r | |
149 | buf.write("\u00a9\5\6\4\2\u00a3\u00a9\5\n\6\2\u00a4\u00a6\5\u0080")\r | |
150 | buf.write("A\2\u00a5\u00a7\7\4\2\2\u00a6\u00a5\3\2\2\2\u00a6\u00a7")\r | |
151 | buf.write("\3\2\2\2\u00a7\u00a9\3\2\2\2\u00a8\u0097\3\2\2\2\u00a8")\r | |
152 | buf.write("\u00a2\3\2\2\2\u00a8\u00a3\3\2\2\2\u00a8\u00a4\3\2\2\2")\r | |
153 | buf.write("\u00a9\5\3\2\2\2\u00aa\u00ac\5\b\5\2\u00ab\u00aa\3\2\2")\r | |
154 | buf.write("\2\u00ab\u00ac\3\2\2\2\u00ac\u00ad\3\2\2\2\u00ad\u00b6")\r | |
155 | buf.write("\5,\27\2\u00ae\u00b0\5\n\6\2\u00af\u00ae\3\2\2\2\u00b0")\r | |
156 | buf.write("\u00b1\3\2\2\2\u00b1\u00af\3\2\2\2\u00b1\u00b2\3\2\2\2")\r | |
157 | buf.write("\u00b2\u00b3\3\2\2\2\u00b3\u00b4\5\u0084C\2\u00b4\u00b7")\r | |
158 | buf.write("\3\2\2\2\u00b5\u00b7\5\u0084C\2\u00b6\u00af\3\2\2\2\u00b6")\r | |
159 | buf.write("\u00b5\3\2\2\2\u00b7\u00b8\3\2\2\2\u00b8\u00b9\b\4\1\2")\r | |
160 | buf.write("\u00b9\7\3\2\2\2\u00ba\u00be\5\20\t\2\u00bb\u00be\5\22")\r | |
161 | buf.write("\n\2\u00bc\u00be\5*\26\2\u00bd\u00ba\3\2\2\2\u00bd\u00bb")\r | |
162 | buf.write("\3\2\2\2\u00bd\u00bc\3\2\2\2\u00be\u00bf\3\2\2\2\u00bf")\r | |
163 | buf.write("\u00bd\3\2\2\2\u00bf\u00c0\3\2\2\2\u00c0\t\3\2\2\2\u00c1")\r | |
164 | buf.write("\u00c3\7\5\2\2\u00c2\u00c4\5\b\5\2\u00c3\u00c2\3\2\2\2")\r | |
165 | buf.write("\u00c3\u00c4\3\2\2\2\u00c4\u00c5\3\2\2\2\u00c5\u00c6\5")\r | |
166 | buf.write("\f\7\2\u00c6\u00c7\7\4\2\2\u00c7\u00c8\b\6\1\2\u00c8\u00d1")\r | |
167 | buf.write("\3\2\2\2\u00c9\u00cb\5\b\5\2\u00ca\u00cc\5\f\7\2\u00cb")\r | |
168 | buf.write("\u00ca\3\2\2\2\u00cb\u00cc\3\2\2\2\u00cc\u00cd\3\2\2\2")\r | |
169 | buf.write("\u00cd\u00ce\7\4\2\2\u00ce\u00cf\b\6\1\2\u00cf\u00d1\3")\r | |
170 | buf.write("\2\2\2\u00d0\u00c1\3\2\2\2\u00d0\u00c9\3\2\2\2\u00d1\13")\r | |
171 | buf.write("\3\2\2\2\u00d2\u00d7\5\16\b\2\u00d3\u00d4\7\6\2\2\u00d4")\r | |
172 | buf.write("\u00d6\5\16\b\2\u00d5\u00d3\3\2\2\2\u00d6\u00d9\3\2\2")\r | |
173 | buf.write("\2\u00d7\u00d5\3\2\2\2\u00d7\u00d8\3\2\2\2\u00d8\r\3\2")\r | |
174 | buf.write("\2\2\u00d9\u00d7\3\2\2\2\u00da\u00dd\5,\27\2\u00db\u00dc")\r | |
175 | buf.write("\7\7\2\2\u00dc\u00de\5D#\2\u00dd\u00db\3\2\2\2\u00dd\u00de")\r | |
176 | buf.write("\3\2\2\2\u00de\17\3\2\2\2\u00df\u00e0\t\2\2\2\u00e0\21")\r | |
177 | buf.write("\3\2\2\2\u00e1\u00fa\7\r\2\2\u00e2\u00fa\7\16\2\2\u00e3")\r | |
178 | buf.write("\u00fa\7\17\2\2\u00e4\u00fa\7\20\2\2\u00e5\u00fa\7\21")\r | |
179 | buf.write("\2\2\u00e6\u00fa\7\22\2\2\u00e7\u00fa\7\23\2\2\u00e8\u00fa")\r | |
180 | buf.write("\7\24\2\2\u00e9\u00fa\7\25\2\2\u00ea\u00eb\5\26\f\2\u00eb")\r | |
181 | buf.write("\u00ec\b\n\1\2\u00ec\u00fa\3\2\2\2\u00ed\u00ee\5$\23\2")\r | |
182 | buf.write("\u00ee\u00ef\b\n\1\2\u00ef\u00fa\3\2\2\2\u00f0\u00f4\7")\r | |
183 | buf.write("_\2\2\u00f1\u00f3\5*\26\2\u00f2\u00f1\3\2\2\2\u00f3\u00f6")\r | |
184 | buf.write("\3\2\2\2\u00f4\u00f2\3\2\2\2\u00f4\u00f5\3\2\2\2\u00f5")\r | |
185 | buf.write("\u00f7\3\2\2\2\u00f6\u00f4\3\2\2\2\u00f7\u00fa\5,\27\2")\r | |
186 | buf.write("\u00f8\u00fa\5\24\13\2\u00f9\u00e1\3\2\2\2\u00f9\u00e2")\r | |
187 | buf.write("\3\2\2\2\u00f9\u00e3\3\2\2\2\u00f9\u00e4\3\2\2\2\u00f9")\r | |
188 | buf.write("\u00e5\3\2\2\2\u00f9\u00e6\3\2\2\2\u00f9\u00e7\3\2\2\2")\r | |
189 | buf.write("\u00f9\u00e8\3\2\2\2\u00f9\u00e9\3\2\2\2\u00f9\u00ea\3")\r | |
190 | buf.write("\2\2\2\u00f9\u00ed\3\2\2\2\u00f9\u00f0\3\2\2\2\u00f9\u00f8")\r | |
191 | buf.write("\3\2\2\2\u00fa\23\3\2\2\2\u00fb\u00fc\7_\2\2\u00fc\25")\r | |
192 | buf.write("\3\2\2\2\u00fd\u00ff\5\30\r\2\u00fe\u0100\7_\2\2\u00ff")\r | |
193 | buf.write("\u00fe\3\2\2\2\u00ff\u0100\3\2\2\2\u0100\u0101\3\2\2\2")\r | |
194 | buf.write("\u0101\u0102\7\3\2\2\u0102\u0103\5\32\16\2\u0103\u0104")\r | |
195 | buf.write("\7\26\2\2\u0104\u0109\3\2\2\2\u0105\u0106\5\30\r\2\u0106")\r | |
196 | buf.write("\u0107\7_\2\2\u0107\u0109\3\2\2\2\u0108\u00fd\3\2\2\2")\r | |
197 | buf.write("\u0108\u0105\3\2\2\2\u0109\27\3\2\2\2\u010a\u010b\t\3")\r | |
198 | buf.write("\2\2\u010b\31\3\2\2\2\u010c\u010e\5\34\17\2\u010d\u010c")\r | |
199 | buf.write("\3\2\2\2\u010e\u010f\3\2\2\2\u010f\u010d\3\2\2\2\u010f")\r | |
200 | buf.write("\u0110\3\2\2\2\u0110\33\3\2\2\2\u0111\u0112\5\36\20\2")\r | |
201 | buf.write("\u0112\u0113\5 \21\2\u0113\u0114\7\4\2\2\u0114\35\3\2")\r | |
202 | buf.write("\2\2\u0115\u0118\5*\26\2\u0116\u0118\5\22\n\2\u0117\u0115")\r | |
203 | buf.write("\3\2\2\2\u0117\u0116\3\2\2\2\u0118\u0119\3\2\2\2\u0119")\r | |
204 | buf.write("\u0117\3\2\2\2\u0119\u011a\3\2\2\2\u011a\37\3\2\2\2\u011b")\r | |
205 | buf.write("\u0120\5\"\22\2\u011c\u011d\7\6\2\2\u011d\u011f\5\"\22")\r | |
206 | buf.write("\2\u011e\u011c\3\2\2\2\u011f\u0122\3\2\2\2\u0120\u011e")\r | |
207 | buf.write("\3\2\2\2\u0120\u0121\3\2\2\2\u0121!\3\2\2\2\u0122\u0120")\r | |
208 | buf.write("\3\2\2\2\u0123\u0126\5,\27\2\u0124\u0125\7\31\2\2\u0125")\r | |
209 | buf.write("\u0127\5^\60\2\u0126\u0124\3\2\2\2\u0126\u0127\3\2\2\2")\r | |
210 | buf.write("\u0127\u012b\3\2\2\2\u0128\u0129\7\31\2\2\u0129\u012b")\r | |
211 | buf.write("\5^\60\2\u012a\u0123\3\2\2\2\u012a\u0128\3\2\2\2\u012b")\r | |
212 | buf.write("#\3\2\2\2\u012c\u012d\7\32\2\2\u012d\u012e\7\3\2\2\u012e")\r | |
213 | buf.write("\u0130\5&\24\2\u012f\u0131\7\6\2\2\u0130\u012f\3\2\2\2")\r | |
214 | buf.write("\u0130\u0131\3\2\2\2\u0131\u0132\3\2\2\2\u0132\u0133\7")\r | |
215 | buf.write("\26\2\2\u0133\u0140\3\2\2\2\u0134\u0135\7\32\2\2\u0135")\r | |
216 | buf.write("\u0136\7_\2\2\u0136\u0137\7\3\2\2\u0137\u0139\5&\24\2")\r | |
217 | buf.write("\u0138\u013a\7\6\2\2\u0139\u0138\3\2\2\2\u0139\u013a\3")\r | |
218 | buf.write("\2\2\2\u013a\u013b\3\2\2\2\u013b\u013c\7\26\2\2\u013c")\r | |
219 | buf.write("\u0140\3\2\2\2\u013d\u013e\7\32\2\2\u013e\u0140\7_\2\2")\r | |
220 | buf.write("\u013f\u012c\3\2\2\2\u013f\u0134\3\2\2\2\u013f\u013d\3")\r | |
221 | buf.write("\2\2\2\u0140%\3\2\2\2\u0141\u0146\5(\25\2\u0142\u0143")\r | |
222 | buf.write("\7\6\2\2\u0143\u0145\5(\25\2\u0144\u0142\3\2\2\2\u0145")\r | |
223 | buf.write("\u0148\3\2\2\2\u0146\u0144\3\2\2\2\u0146\u0147\3\2\2\2")\r | |
224 | buf.write("\u0147\'\3\2\2\2\u0148\u0146\3\2\2\2\u0149\u014c\7_\2")\r | |
225 | buf.write("\2\u014a\u014b\7\7\2\2\u014b\u014d\5^\60\2\u014c\u014a")\r | |
226 | buf.write("\3\2\2\2\u014c\u014d\3\2\2\2\u014d)\3\2\2\2\u014e\u014f")\r | |
227 | buf.write("\t\4\2\2\u014f+\3\2\2\2\u0150\u0152\5\62\32\2\u0151\u0150")\r | |
228 | buf.write("\3\2\2\2\u0151\u0152\3\2\2\2\u0152\u0154\3\2\2\2\u0153")\r | |
229 | buf.write("\u0155\7$\2\2\u0154\u0153\3\2\2\2\u0154\u0155\3\2\2\2")\r | |
230 | buf.write("\u0155\u0157\3\2\2\2\u0156\u0158\7%\2\2\u0157\u0156\3")\r | |
231 | buf.write("\2\2\2\u0157\u0158\3\2\2\2\u0158\u015a\3\2\2\2\u0159\u015b")\r | |
232 | buf.write("\7&\2\2\u015a\u0159\3\2\2\2\u015a\u015b\3\2\2\2\u015b")\r | |
233 | buf.write("\u015c\3\2\2\2\u015c\u015f\5.\30\2\u015d\u015f\5\62\32")\r | |
234 | buf.write("\2\u015e\u0151\3\2\2\2\u015e\u015d\3\2\2\2\u015f-\3\2")\r | |
235 | buf.write("\2\2\u0160\u0164\7_\2\2\u0161\u0163\5\60\31\2\u0162\u0161")\r | |
236 | buf.write("\3\2\2\2\u0163\u0166\3\2\2\2\u0164\u0162\3\2\2\2\u0164")\r | |
237 | buf.write("\u0165\3\2\2\2\u0165\u0173\3\2\2\2\u0166\u0164\3\2\2\2")\r | |
238 | buf.write("\u0167\u0169\7(\2\2\u0168\u016a\7$\2\2\u0169\u0168\3\2")\r | |
239 | buf.write("\2\2\u0169\u016a\3\2\2\2\u016a\u016b\3\2\2\2\u016b\u016c")\r | |
240 | buf.write("\5,\27\2\u016c\u016e\7)\2\2\u016d\u016f\5\60\31\2\u016e")\r | |
241 | buf.write("\u016d\3\2\2\2\u016f\u0170\3\2\2\2\u0170\u016e\3\2\2\2")\r | |
242 | buf.write("\u0170\u0171\3\2\2\2\u0171\u0173\3\2\2\2\u0172\u0160\3")\r | |
243 | buf.write("\2\2\2\u0172\u0167\3\2\2\2\u0173/\3\2\2\2\u0174\u0175")\r | |
244 | buf.write("\7*\2\2\u0175\u0176\5^\60\2\u0176\u0177\7+\2\2\u0177\u0185")\r | |
245 | buf.write("\3\2\2\2\u0178\u0179\7*\2\2\u0179\u0185\7+\2\2\u017a\u017b")\r | |
246 | buf.write("\7(\2\2\u017b\u017c\5\64\33\2\u017c\u017d\7)\2\2\u017d")\r | |
247 | buf.write("\u0185\3\2\2\2\u017e\u017f\7(\2\2\u017f\u0180\5:\36\2")\r | |
248 | buf.write("\u0180\u0181\7)\2\2\u0181\u0185\3\2\2\2\u0182\u0183\7")\r | |
249 | buf.write("(\2\2\u0183\u0185\7)\2\2\u0184\u0174\3\2\2\2\u0184\u0178")\r | |
250 | buf.write("\3\2\2\2\u0184\u017a\3\2\2\2\u0184\u017e\3\2\2\2\u0184")\r | |
251 | buf.write("\u0182\3\2\2\2\u0185\61\3\2\2\2\u0186\u0188\7,\2\2\u0187")\r | |
252 | buf.write("\u0189\5*\26\2\u0188\u0187\3\2\2\2\u0189\u018a\3\2\2\2")\r | |
253 | buf.write("\u018a\u0188\3\2\2\2\u018a\u018b\3\2\2\2\u018b\u018d\3")\r | |
254 | buf.write("\2\2\2\u018c\u018e\5\62\32\2\u018d\u018c\3\2\2\2\u018d")\r | |
255 | buf.write("\u018e\3\2\2\2\u018e\u0193\3\2\2\2\u018f\u0190\7,\2\2")\r | |
256 | buf.write("\u0190\u0193\5\62\32\2\u0191\u0193\7,\2\2\u0192\u0186")\r | |
257 | buf.write("\3\2\2\2\u0192\u018f\3\2\2\2\u0192\u0191\3\2\2\2\u0193")\r | |
258 | buf.write("\63\3\2\2\2\u0194\u019a\5\66\34\2\u0195\u0197\7\6\2\2")\r | |
259 | buf.write("\u0196\u0198\7\37\2\2\u0197\u0196\3\2\2\2\u0197\u0198")\r | |
260 | buf.write("\3\2\2\2\u0198\u0199\3\2\2\2\u0199\u019b\7-\2\2\u019a")\r | |
261 | buf.write("\u0195\3\2\2\2\u019a\u019b\3\2\2\2\u019b\65\3\2\2\2\u019c")\r | |
262 | buf.write("\u01a4\58\35\2\u019d\u019f\7\6\2\2\u019e\u01a0\7\37\2")\r | |
263 | buf.write("\2\u019f\u019e\3\2\2\2\u019f\u01a0\3\2\2\2\u01a0\u01a1")\r | |
264 | buf.write("\3\2\2\2\u01a1\u01a3\58\35\2\u01a2\u019d\3\2\2\2\u01a3")\r | |
265 | buf.write("\u01a6\3\2\2\2\u01a4\u01a2\3\2\2\2\u01a4\u01a5\3\2\2\2")\r | |
266 | buf.write("\u01a5\67\3\2\2\2\u01a6\u01a4\3\2\2\2\u01a7\u01ac\5\b")\r | |
267 | buf.write("\5\2\u01a8\u01ab\5,\27\2\u01a9\u01ab\5> \2\u01aa\u01a8")\r | |
268 | buf.write("\3\2\2\2\u01aa\u01a9\3\2\2\2\u01ab\u01ae\3\2\2\2\u01ac")\r | |
269 | buf.write("\u01aa\3\2\2\2\u01ac\u01ad\3\2\2\2\u01ad\u01b0\3\2\2\2")\r | |
270 | buf.write("\u01ae\u01ac\3\2\2\2\u01af\u01b1\7\37\2\2\u01b0\u01af")\r | |
271 | buf.write("\3\2\2\2\u01b0\u01b1\3\2\2\2\u01b1\u01ba\3\2\2\2\u01b2")\r | |
272 | buf.write("\u01b4\5\62\32\2\u01b3\u01b2\3\2\2\2\u01b4\u01b7\3\2\2")\r | |
273 | buf.write("\2\u01b5\u01b3\3\2\2\2\u01b5\u01b6\3\2\2\2\u01b6\u01b8")\r | |
274 | buf.write("\3\2\2\2\u01b7\u01b5\3\2\2\2\u01b8\u01ba\7_\2\2\u01b9")\r | |
275 | buf.write("\u01a7\3\2\2\2\u01b9\u01b5\3\2\2\2\u01ba9\3\2\2\2\u01bb")\r | |
276 | buf.write("\u01c0\7_\2\2\u01bc\u01bd\7\6\2\2\u01bd\u01bf\7_\2\2\u01be")\r | |
277 | buf.write("\u01bc\3\2\2\2\u01bf\u01c2\3\2\2\2\u01c0\u01be\3\2\2\2")\r | |
278 | buf.write("\u01c0\u01c1\3\2\2\2\u01c1;\3\2\2\2\u01c2\u01c0\3\2\2")\r | |
279 | buf.write("\2\u01c3\u01c5\5\36\20\2\u01c4\u01c6\5> \2\u01c5\u01c4")\r | |
280 | buf.write("\3\2\2\2\u01c5\u01c6\3\2\2\2\u01c6\u01c9\3\2\2\2\u01c7")\r | |
281 | buf.write("\u01c9\5\24\13\2\u01c8\u01c3\3\2\2\2\u01c8\u01c7\3\2\2")\r | |
282 | buf.write("\2\u01c9=\3\2\2\2\u01ca\u01cc\5\62\32\2\u01cb\u01cd\5")\r | |
283 | buf.write("@!\2\u01cc\u01cb\3\2\2\2\u01cc\u01cd\3\2\2\2\u01cd\u01d0")\r | |
284 | buf.write("\3\2\2\2\u01ce\u01d0\5@!\2\u01cf\u01ca\3\2\2\2\u01cf\u01ce")\r | |
285 | buf.write("\3\2\2\2\u01d0?\3\2\2\2\u01d1\u01d2\7(\2\2\u01d2\u01d3")\r | |
286 | buf.write("\5> \2\u01d3\u01d4\7)\2\2\u01d4\u01d7\3\2\2\2\u01d5\u01d7")\r | |
287 | buf.write("\5B\"\2\u01d6\u01d1\3\2\2\2\u01d6\u01d5\3\2\2\2\u01d7")\r | |
288 | buf.write("\u01db\3\2\2\2\u01d8\u01da\5B\"\2\u01d9\u01d8\3\2\2\2")\r | |
289 | buf.write("\u01da\u01dd\3\2\2\2\u01db\u01d9\3\2\2\2\u01db\u01dc\3")\r | |
290 | buf.write("\2\2\2\u01dcA\3\2\2\2\u01dd\u01db\3\2\2\2\u01de\u01df")\r | |
291 | buf.write("\7*\2\2\u01df\u01eb\7+\2\2\u01e0\u01e1\7*\2\2\u01e1\u01e2")\r | |
292 | buf.write("\5^\60\2\u01e2\u01e3\7+\2\2\u01e3\u01eb\3\2\2\2\u01e4")\r | |
293 | buf.write("\u01e5\7(\2\2\u01e5\u01eb\7)\2\2\u01e6\u01e7\7(\2\2\u01e7")\r | |
294 | buf.write("\u01e8\5\64\33\2\u01e8\u01e9\7)\2\2\u01e9\u01eb\3\2\2")\r | |
295 | buf.write("\2\u01ea\u01de\3\2\2\2\u01ea\u01e0\3\2\2\2\u01ea\u01e4")\r | |
296 | buf.write("\3\2\2\2\u01ea\u01e6\3\2\2\2\u01ebC\3\2\2\2\u01ec\u01f5")\r | |
297 | buf.write("\5`\61\2\u01ed\u01ee\7\3\2\2\u01ee\u01f0\5F$\2\u01ef\u01f1")\r | |
298 | buf.write("\7\6\2\2\u01f0\u01ef\3\2\2\2\u01f0\u01f1\3\2\2\2\u01f1")\r | |
299 | buf.write("\u01f2\3\2\2\2\u01f2\u01f3\7\26\2\2\u01f3\u01f5\3\2\2")\r | |
300 | buf.write("\2\u01f4\u01ec\3\2\2\2\u01f4\u01ed\3\2\2\2\u01f5E\3\2")\r | |
301 | buf.write("\2\2\u01f6\u01fb\5D#\2\u01f7\u01f8\7\6\2\2\u01f8\u01fa")\r | |
302 | buf.write("\5D#\2\u01f9\u01f7\3\2\2\2\u01fa\u01fd\3\2\2\2\u01fb\u01f9")\r | |
303 | buf.write("\3\2\2\2\u01fb\u01fc\3\2\2\2\u01fcG\3\2\2\2\u01fd\u01fb")\r | |
304 | buf.write("\3\2\2\2\u01fe\u0200\5`\61\2\u01ff\u0201\7\37\2\2\u0200")\r | |
305 | buf.write("\u01ff\3\2\2\2\u0200\u0201\3\2\2\2\u0201\u0209\3\2\2\2")\r | |
306 | buf.write("\u0202\u0203\7\6\2\2\u0203\u0205\5`\61\2\u0204\u0206\7")\r | |
307 | buf.write("\37\2\2\u0205\u0204\3\2\2\2\u0205\u0206\3\2\2\2\u0206")\r | |
308 | buf.write("\u0208\3\2\2\2\u0207\u0202\3\2\2\2\u0208\u020b\3\2\2\2")\r | |
309 | buf.write("\u0209\u0207\3\2\2\2\u0209\u020a\3\2\2\2\u020aI\3\2\2")\r | |
310 | buf.write("\2\u020b\u0209\3\2\2\2\u020c\u0213\5L\'\2\u020d\u020e")\r | |
311 | buf.write("\7.\2\2\u020e\u0212\5L\'\2\u020f\u0210\7/\2\2\u0210\u0212")\r | |
312 | buf.write("\5L\'\2\u0211\u020d\3\2\2\2\u0211\u020f\3\2\2\2\u0212")\r | |
313 | buf.write("\u0215\3\2\2\2\u0213\u0211\3\2\2\2\u0213\u0214\3\2\2\2")\r | |
314 | buf.write("\u0214K\3\2\2\2\u0215\u0213\3\2\2\2\u0216\u021f\5N(\2")\r | |
315 | buf.write("\u0217\u0218\7,\2\2\u0218\u021e\5N(\2\u0219\u021a\7\60")\r | |
316 | buf.write("\2\2\u021a\u021e\5N(\2\u021b\u021c\7\61\2\2\u021c\u021e")\r | |
317 | buf.write("\5N(\2\u021d\u0217\3\2\2\2\u021d\u0219\3\2\2\2\u021d\u021b")\r | |
318 | buf.write("\3\2\2\2\u021e\u0221\3\2\2\2\u021f\u021d\3\2\2\2\u021f")\r | |
319 | buf.write("\u0220\3\2\2\2\u0220M\3\2\2\2\u0221\u021f\3\2\2\2\u0222")\r | |
320 | buf.write("\u0223\7(\2\2\u0223\u0224\5<\37\2\u0224\u0225\7)\2\2\u0225")\r | |
321 | buf.write("\u0226\5N(\2\u0226\u0229\3\2\2\2\u0227\u0229\5P)\2\u0228")\r | |
322 | buf.write("\u0222\3\2\2\2\u0228\u0227\3\2\2\2\u0229O\3\2\2\2\u022a")\r | |
323 | buf.write("\u023a\5R*\2\u022b\u022c\7\62\2\2\u022c\u023a\5P)\2\u022d")\r | |
324 | buf.write("\u022e\7\63\2\2\u022e\u023a\5P)\2\u022f\u0230\5V,\2\u0230")\r | |
325 | buf.write("\u0231\5N(\2\u0231\u023a\3\2\2\2\u0232\u0233\7\64\2\2")\r | |
326 | buf.write("\u0233\u023a\5P)\2\u0234\u0235\7\64\2\2\u0235\u0236\7")\r | |
327 | buf.write("(\2\2\u0236\u0237\5<\37\2\u0237\u0238\7)\2\2\u0238\u023a")\r | |
328 | buf.write("\3\2\2\2\u0239\u022a\3\2\2\2\u0239\u022b\3\2\2\2\u0239")\r | |
329 | buf.write("\u022d\3\2\2\2\u0239\u022f\3\2\2\2\u0239\u0232\3\2\2\2")\r | |
330 | buf.write("\u0239\u0234\3\2\2\2\u023aQ\3\2\2\2\u023b\u023c\5X-\2")\r | |
331 | buf.write("\u023c\u025a\b*\1\2\u023d\u023e\7*\2\2\u023e\u023f\5\\")\r | |
332 | buf.write("/\2\u023f\u0240\7+\2\2\u0240\u0259\3\2\2\2\u0241\u0242")\r | |
333 | buf.write("\7(\2\2\u0242\u0243\7)\2\2\u0243\u0259\b*\1\2\u0244\u0245")\r | |
334 | buf.write("\7(\2\2\u0245\u0246\5H%\2\u0246\u0247\7)\2\2\u0247\u0248")\r | |
335 | buf.write("\b*\1\2\u0248\u0259\3\2\2\2\u0249\u024a\7(\2\2\u024a\u024b")\r | |
336 | buf.write("\5T+\2\u024b\u024c\7)\2\2\u024c\u0259\3\2\2\2\u024d\u024e")\r | |
337 | buf.write("\7\65\2\2\u024e\u024f\7_\2\2\u024f\u0259\b*\1\2\u0250")\r | |
338 | buf.write("\u0251\7,\2\2\u0251\u0252\7_\2\2\u0252\u0259\b*\1\2\u0253")\r | |
339 | buf.write("\u0254\7\66\2\2\u0254\u0255\7_\2\2\u0255\u0259\b*\1\2")\r | |
340 | buf.write("\u0256\u0259\7\62\2\2\u0257\u0259\7\63\2\2\u0258\u023d")\r | |
341 | buf.write("\3\2\2\2\u0258\u0241\3\2\2\2\u0258\u0244\3\2\2\2\u0258")\r | |
342 | buf.write("\u0249\3\2\2\2\u0258\u024d\3\2\2\2\u0258\u0250\3\2\2\2")\r | |
343 | buf.write("\u0258\u0253\3\2\2\2\u0258\u0256\3\2\2\2\u0258\u0257\3")\r | |
344 | buf.write("\2\2\2\u0259\u025c\3\2\2\2\u025a\u0258\3\2\2\2\u025a\u025b")\r | |
345 | buf.write("\3\2\2\2\u025bS\3\2\2\2\u025c\u025a\3\2\2\2\u025d\u0262")\r | |
346 | buf.write("\58\35\2\u025e\u025f\7\6\2\2\u025f\u0261\58\35\2\u0260")\r | |
347 | buf.write("\u025e\3\2\2\2\u0261\u0264\3\2\2\2\u0262\u0260\3\2\2\2")\r | |
348 | buf.write("\u0262\u0263\3\2\2\2\u0263U\3\2\2\2\u0264\u0262\3\2\2")\r | |
349 | buf.write("\2\u0265\u0266\t\5\2\2\u0266W\3\2\2\2\u0267\u026e\7_\2")\r | |
350 | buf.write("\2\u0268\u026e\5Z.\2\u0269\u026a\7(\2\2\u026a\u026b\5")\r | |
351 | buf.write("\\/\2\u026b\u026c\7)\2\2\u026c\u026e\3\2\2\2\u026d\u0267")\r | |
352 | buf.write("\3\2\2\2\u026d\u0268\3\2\2\2\u026d\u0269\3\2\2\2\u026e")\r | |
353 | buf.write("Y\3\2\2\2\u026f\u028a\7b\2\2\u0270\u028a\7d\2\2\u0271")\r | |
354 | buf.write("\u028a\7c\2\2\u0272\u028a\7`\2\2\u0273\u0275\7_\2\2\u0274")\r | |
355 | buf.write("\u0273\3\2\2\2\u0275\u0278\3\2\2\2\u0276\u0274\3\2\2\2")\r | |
356 | buf.write("\u0276\u0277\3\2\2\2\u0277\u027a\3\2\2\2\u0278\u0276\3")\r | |
357 | buf.write("\2\2\2\u0279\u027b\7a\2\2\u027a\u0279\3\2\2\2\u027b\u027c")\r | |
358 | buf.write("\3\2\2\2\u027c\u027a\3\2\2\2\u027c\u027d\3\2\2\2\u027d")\r | |
359 | buf.write("\u027f\3\2\2\2\u027e\u0276\3\2\2\2\u027f\u0280\3\2\2\2")\r | |
360 | buf.write("\u0280\u027e\3\2\2\2\u0280\u0281\3\2\2\2\u0281\u0285\3")\r | |
361 | buf.write("\2\2\2\u0282\u0284\7_\2\2\u0283\u0282\3\2\2\2\u0284\u0287")\r | |
362 | buf.write("\3\2\2\2\u0285\u0283\3\2\2\2\u0285\u0286\3\2\2\2\u0286")\r | |
363 | buf.write("\u028a\3\2\2\2\u0287\u0285\3\2\2\2\u0288\u028a\7e\2\2")\r | |
364 | buf.write("\u0289\u026f\3\2\2\2\u0289\u0270\3\2\2\2\u0289\u0271\3")\r | |
365 | buf.write("\2\2\2\u0289\u0272\3\2\2\2\u0289\u027e\3\2\2\2\u0289\u0288")\r | |
366 | buf.write("\3\2\2\2\u028a[\3\2\2\2\u028b\u0290\5`\61\2\u028c\u028d")\r | |
367 | buf.write("\7\6\2\2\u028d\u028f\5`\61\2\u028e\u028c\3\2\2\2\u028f")\r | |
368 | buf.write("\u0292\3\2\2\2\u0290\u028e\3\2\2\2\u0290\u0291\3\2\2\2")\r | |
369 | buf.write("\u0291]\3\2\2\2\u0292\u0290\3\2\2\2\u0293\u0294\5f\64")\r | |
370 | buf.write("\2\u0294_\3\2\2\2\u0295\u0296\5b\62\2\u0296\u0297\5d\63")\r | |
371 | buf.write("\2\u0297\u0298\5`\61\2\u0298\u029b\3\2\2\2\u0299\u029b")\r | |
372 | buf.write("\5f\64\2\u029a\u0295\3\2\2\2\u029a\u0299\3\2\2\2\u029b")\r | |
373 | buf.write("a\3\2\2\2\u029c\u029d\5P)\2\u029dc\3\2\2\2\u029e\u029f")\r | |
374 | buf.write("\t\6\2\2\u029fe\3\2\2\2\u02a0\u02a7\5h\65\2\u02a1\u02a2")\r | |
375 | buf.write("\7D\2\2\u02a2\u02a3\5\\/\2\u02a3\u02a4\7\31\2\2\u02a4")\r | |
376 | buf.write("\u02a5\5f\64\2\u02a5\u02a6\b\64\1\2\u02a6\u02a8\3\2\2")\r | |
377 | buf.write("\2\u02a7\u02a1\3\2\2\2\u02a7\u02a8\3\2\2\2\u02a8g\3\2")\r | |
378 | buf.write("\2\2\u02a9\u02ae\5j\66\2\u02aa\u02ab\7E\2\2\u02ab\u02ad")\r | |
379 | buf.write("\5j\66\2\u02ac\u02aa\3\2\2\2\u02ad\u02b0\3\2\2\2\u02ae")\r | |
380 | buf.write("\u02ac\3\2\2\2\u02ae\u02af\3\2\2\2\u02afi\3\2\2\2\u02b0")\r | |
381 | buf.write("\u02ae\3\2\2\2\u02b1\u02b6\5l\67\2\u02b2\u02b3\7F\2\2")\r | |
382 | buf.write("\u02b3\u02b5\5l\67\2\u02b4\u02b2\3\2\2\2\u02b5\u02b8\3")\r | |
383 | buf.write("\2\2\2\u02b6\u02b4\3\2\2\2\u02b6\u02b7\3\2\2\2\u02b7k")\r | |
384 | buf.write("\3\2\2\2\u02b8\u02b6\3\2\2\2\u02b9\u02be\5n8\2\u02ba\u02bb")\r | |
385 | buf.write("\7G\2\2\u02bb\u02bd\5n8\2\u02bc\u02ba\3\2\2\2\u02bd\u02c0")\r | |
386 | buf.write("\3\2\2\2\u02be\u02bc\3\2\2\2\u02be\u02bf\3\2\2\2\u02bf")\r | |
387 | buf.write("m\3\2\2\2\u02c0\u02be\3\2\2\2\u02c1\u02c6\5p9\2\u02c2")\r | |
388 | buf.write("\u02c3\7H\2\2\u02c3\u02c5\5p9\2\u02c4\u02c2\3\2\2\2\u02c5")\r | |
389 | buf.write("\u02c8\3\2\2\2\u02c6\u02c4\3\2\2\2\u02c6\u02c7\3\2\2\2")\r | |
390 | buf.write("\u02c7o\3\2\2\2\u02c8\u02c6\3\2\2\2\u02c9\u02ce\5r:\2")\r | |
391 | buf.write("\u02ca\u02cb\7\67\2\2\u02cb\u02cd\5r:\2\u02cc\u02ca\3")\r | |
392 | buf.write("\2\2\2\u02cd\u02d0\3\2\2\2\u02ce\u02cc\3\2\2\2\u02ce\u02cf")\r | |
393 | buf.write("\3\2\2\2\u02cfq\3\2\2\2\u02d0\u02ce\3\2\2\2\u02d1\u02d6")\r | |
394 | buf.write("\5t;\2\u02d2\u02d3\t\7\2\2\u02d3\u02d5\5t;\2\u02d4\u02d2")\r | |
395 | buf.write("\3\2\2\2\u02d5\u02d8\3\2\2\2\u02d6\u02d4\3\2\2\2\u02d6")\r | |
396 | buf.write("\u02d7\3\2\2\2\u02d7s\3\2\2\2\u02d8\u02d6\3\2\2\2\u02d9")\r | |
397 | buf.write("\u02de\5v<\2\u02da\u02db\t\b\2\2\u02db\u02dd\5v<\2\u02dc")\r | |
398 | buf.write("\u02da\3\2\2\2\u02dd\u02e0\3\2\2\2\u02de\u02dc\3\2\2\2")\r | |
399 | buf.write("\u02de\u02df\3\2\2\2\u02dfu\3\2\2\2\u02e0\u02de\3\2\2")\r | |
400 | buf.write("\2\u02e1\u02e6\5J&\2\u02e2\u02e3\t\t\2\2\u02e3\u02e5\5")\r | |
401 | buf.write("J&\2\u02e4\u02e2\3\2\2\2\u02e5\u02e8\3\2\2\2\u02e6\u02e4")\r | |
402 | buf.write("\3\2\2\2\u02e6\u02e7\3\2\2\2\u02e7w\3\2\2\2\u02e8\u02e6")\r | |
403 | buf.write("\3\2\2\2\u02e9\u02f5\5\u0082B\2\u02ea\u02f5\5\u0084C\2")\r | |
404 | buf.write("\u02eb\u02f5\5\u0088E\2\u02ec\u02f5\5\u008aF\2\u02ed\u02f5")\r | |
405 | buf.write("\5\u008cG\2\u02ee\u02f5\5\u008eH\2\u02ef\u02f5\5\u0080")\r | |
406 | buf.write("A\2\u02f0\u02f5\5z>\2\u02f1\u02f5\5|?\2\u02f2\u02f5\5")\r | |
407 | buf.write("~@\2\u02f3\u02f5\5\n\6\2\u02f4\u02e9\3\2\2\2\u02f4\u02ea")\r | |
408 | buf.write("\3\2\2\2\u02f4\u02eb\3\2\2\2\u02f4\u02ec\3\2\2\2\u02f4")\r | |
409 | buf.write("\u02ed\3\2\2\2\u02f4\u02ee\3\2\2\2\u02f4\u02ef\3\2\2\2")\r | |
410 | buf.write("\u02f4\u02f0\3\2\2\2\u02f4\u02f1\3\2\2\2\u02f4\u02f2\3")\r | |
411 | buf.write("\2\2\2\u02f4\u02f3\3\2\2\2\u02f5y\3\2\2\2\u02f6\u02f8")\r | |
412 | buf.write("\7Q\2\2\u02f7\u02f6\3\2\2\2\u02f7\u02f8\3\2\2\2\u02f8")\r | |
413 | buf.write("\u02f9\3\2\2\2\u02f9\u02fa\7_\2\2\u02fa\u02fe\7(\2\2\u02fb")\r | |
414 | buf.write("\u02fd\n\n\2\2\u02fc\u02fb\3\2\2\2\u02fd\u0300\3\2\2\2")\r | |
415 | buf.write("\u02fe\u02fc\3\2\2\2\u02fe\u02ff\3\2\2\2\u02ff\u0301\3")\r | |
416 | buf.write("\2\2\2\u0300\u02fe\3\2\2\2\u0301\u0302\7)\2\2\u0302\u0303")\r | |
417 | buf.write("\7\4\2\2\u0303{\3\2\2\2\u0304\u0305\7R\2\2\u0305\u0309")\r | |
418 | buf.write("\7\3\2\2\u0306\u0308\n\13\2\2\u0307\u0306\3\2\2\2\u0308")\r | |
419 | buf.write("\u030b\3\2\2\2\u0309\u0307\3\2\2\2\u0309\u030a\3\2\2\2")\r | |
420 | buf.write("\u030a\u030c\3\2\2\2\u030b\u0309\3\2\2\2\u030c\u030d\7")\r | |
421 | buf.write("\26\2\2\u030d}\3\2\2\2\u030e\u030f\7S\2\2\u030f\u0313")\r | |
422 | buf.write("\7\3\2\2\u0310\u0312\n\13\2\2\u0311\u0310\3\2\2\2\u0312")\r | |
423 | buf.write("\u0315\3\2\2\2\u0313\u0311\3\2\2\2\u0313\u0314\3\2\2\2")\r | |
424 | buf.write("\u0314\u0316\3\2\2\2\u0315\u0313\3\2\2\2\u0316\u0317\7")\r | |
425 | buf.write("\26\2\2\u0317\177\3\2\2\2\u0318\u0319\7_\2\2\u0319\u031d")\r | |
426 | buf.write("\7(\2\2\u031a\u031c\5\n\6\2\u031b\u031a\3\2\2\2\u031c")\r | |
427 | buf.write("\u031f\3\2\2\2\u031d\u031b\3\2\2\2\u031d\u031e\3\2\2\2")\r | |
428 | buf.write("\u031e\u0321\3\2\2\2\u031f\u031d\3\2\2\2\u0320\u0322\5")\r | |
429 | buf.write("\u0086D\2\u0321\u0320\3\2\2\2\u0321\u0322\3\2\2\2\u0322")\r | |
430 | buf.write("\u0324\3\2\2\2\u0323\u0325\5\\/\2\u0324\u0323\3\2\2\2")\r | |
431 | buf.write("\u0324\u0325\3\2\2\2\u0325\u0326\3\2\2\2\u0326\u0327\7")\r | |
432 | buf.write(")\2\2\u0327\u0081\3\2\2\2\u0328\u0329\7_\2\2\u0329\u032a")\r | |
433 | buf.write("\7\31\2\2\u032a\u0334\5x=\2\u032b\u032c\7T\2\2\u032c\u032d")\r | |
434 | buf.write("\5^\60\2\u032d\u032e\7\31\2\2\u032e\u032f\5x=\2\u032f")\r | |
435 | buf.write("\u0334\3\2\2\2\u0330\u0331\7U\2\2\u0331\u0332\7\31\2\2")\r | |
436 | buf.write("\u0332\u0334\5x=\2\u0333\u0328\3\2\2\2\u0333\u032b\3\2")\r | |
437 | buf.write("\2\2\u0333\u0330\3\2\2\2\u0334\u0083\3\2\2\2\u0335\u0339")\r | |
438 | buf.write("\7\3\2\2\u0336\u0338\5\n\6\2\u0337\u0336\3\2\2\2\u0338")\r | |
439 | buf.write("\u033b\3\2\2\2\u0339\u0337\3\2\2\2\u0339\u033a\3\2\2\2")\r | |
440 | buf.write("\u033a\u033d\3\2\2\2\u033b\u0339\3\2\2\2\u033c\u033e\5")\r | |
441 | buf.write("\u0086D\2\u033d\u033c\3\2\2\2\u033d\u033e\3\2\2\2\u033e")\r | |
442 | buf.write("\u033f\3\2\2\2\u033f\u0340\7\26\2\2\u0340\u0085\3\2\2")\r | |
443 | buf.write("\2\u0341\u0343\5x=\2\u0342\u0341\3\2\2\2\u0343\u0344\3")\r | |
444 | buf.write("\2\2\2\u0344\u0342\3\2\2\2\u0344\u0345\3\2\2\2\u0345\u0087")\r | |
445 | buf.write("\3\2\2\2\u0346\u034b\7\4\2\2\u0347\u0348\5\\/\2\u0348")\r | |
446 | buf.write("\u0349\7\4\2\2\u0349\u034b\3\2\2\2\u034a\u0346\3\2\2\2")\r | |
447 | buf.write("\u034a\u0347\3\2\2\2\u034b\u0089\3\2\2\2\u034c\u034d\7")\r | |
448 | buf.write("V\2\2\u034d\u034e\7(\2\2\u034e\u034f\5\\/\2\u034f\u0350")\r | |
449 | buf.write("\7)\2\2\u0350\u0351\bF\1\2\u0351\u0354\5x=\2\u0352\u0353")\r | |
450 | buf.write("\7W\2\2\u0353\u0355\5x=\2\u0354\u0352\3\2\2\2\u0354\u0355")\r | |
451 | buf.write("\3\2\2\2\u0355\u035d\3\2\2\2\u0356\u0357\7X\2\2\u0357")\r | |
452 | buf.write("\u0358\7(\2\2\u0358\u0359\5\\/\2\u0359\u035a\7)\2\2\u035a")\r | |
453 | buf.write("\u035b\5x=\2\u035b\u035d\3\2\2\2\u035c\u034c\3\2\2\2\u035c")\r | |
454 | buf.write("\u0356\3\2\2\2\u035d\u008b\3\2\2\2\u035e\u035f\7Y\2\2")\r | |
455 | buf.write("\u035f\u0360\7(\2\2\u0360\u0361\5\\/\2\u0361\u0362\7)")\r | |
456 | buf.write("\2\2\u0362\u0363\5x=\2\u0363\u0364\bG\1\2\u0364\u036f")\r | |
457 | buf.write("\3\2\2\2\u0365\u0366\7Z\2\2\u0366\u0367\5x=\2\u0367\u0368")\r | |
458 | buf.write("\7Y\2\2\u0368\u0369\7(\2\2\u0369\u036a\5\\/\2\u036a\u036b")\r | |
459 | buf.write("\7)\2\2\u036b\u036c\7\4\2\2\u036c\u036d\bG\1\2\u036d\u036f")\r | |
460 | buf.write("\3\2\2\2\u036e\u035e\3\2\2\2\u036e\u0365\3\2\2\2\u036f")\r | |
461 | buf.write("\u008d\3\2\2\2\u0370\u0371\7[\2\2\u0371\u0372\7_\2\2\u0372")\r | |
462 | buf.write("\u037e\7\4\2\2\u0373\u0374\7\\\2\2\u0374\u037e\7\4\2\2")\r | |
463 | buf.write("\u0375\u0376\7]\2\2\u0376\u037e\7\4\2\2\u0377\u0378\7")\r | |
464 | buf.write("^\2\2\u0378\u037e\7\4\2\2\u0379\u037a\7^\2\2\u037a\u037b")\r | |
465 | buf.write("\5\\/\2\u037b\u037c\7\4\2\2\u037c\u037e\3\2\2\2\u037d")\r | |
466 | buf.write("\u0370\3\2\2\2\u037d\u0373\3\2\2\2\u037d\u0375\3\2\2\2")\r | |
467 | buf.write("\u037d\u0377\3\2\2\2\u037d\u0379\3\2\2\2\u037e\u008f\3")\r | |
468 | buf.write("\2\2\2o\u0093\u0097\u009d\u00a6\u00a8\u00ab\u00b1\u00b6")\r | |
469 | buf.write("\u00bd\u00bf\u00c3\u00cb\u00d0\u00d7\u00dd\u00f4\u00f9")\r | |
470 | buf.write("\u00ff\u0108\u010f\u0117\u0119\u0120\u0126\u012a\u0130")\r | |
471 | buf.write("\u0139\u013f\u0146\u014c\u0151\u0154\u0157\u015a\u015e")\r | |
472 | buf.write("\u0164\u0169\u0170\u0172\u0184\u018a\u018d\u0192\u0197")\r | |
473 | buf.write("\u019a\u019f\u01a4\u01aa\u01ac\u01b0\u01b5\u01b9\u01c0")\r | |
474 | buf.write("\u01c5\u01c8\u01cc\u01cf\u01d6\u01db\u01ea\u01f0\u01f4")\r | |
475 | buf.write("\u01fb\u0200\u0205\u0209\u0211\u0213\u021d\u021f\u0228")\r | |
476 | buf.write("\u0239\u0258\u025a\u0262\u026d\u0276\u027c\u0280\u0285")\r | |
477 | buf.write("\u0289\u0290\u029a\u02a7\u02ae\u02b6\u02be\u02c6\u02ce")\r | |
478 | buf.write("\u02d6\u02de\u02e6\u02f4\u02f7\u02fe\u0309\u0313\u031d")\r | |
479 | buf.write("\u0321\u0324\u0333\u0339\u033d\u0344\u034a\u0354\u035c")\r | |
480 | buf.write("\u036e\u037d")\r | |
481 | return buf.getvalue()\r | |
482 | \r | |
483 | \r | |
484 | class CParser ( Parser ):\r | |
485 | \r | |
486 | grammarFileName = "C.g4"\r | |
487 | \r | |
488 | atn = ATNDeserializer().deserialize(serializedATN())\r | |
489 | \r | |
490 | decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ]\r | |
491 | \r | |
492 | sharedContextCache = PredictionContextCache()\r | |
493 | \r | |
494 | literalNames = [ "<INVALID>", "'{'", "';'", "'typedef'", "','", "'='", \r | |
495 | "'extern'", "'static'", "'auto'", "'register'", "'STATIC'", \r | |
496 | "'void'", "'char'", "'short'", "'int'", "'long'", "'float'", \r | |
497 | "'double'", "'signed'", "'unsigned'", "'}'", "'struct'", \r | |
498 | "'union'", "':'", "'enum'", "'const'", "'volatile'", \r | |
499 | "'IN'", "'OUT'", "'OPTIONAL'", "'CONST'", "'UNALIGNED'", \r | |
500 | "'VOLATILE'", "'GLOBAL_REMOVE_IF_UNREFERENCED'", "'EFIAPI'", \r | |
501 | "'EFI_BOOTSERVICE'", "'EFI_RUNTIMESERVICE'", "'PACKED'", \r | |
502 | "'('", "')'", "'['", "']'", "'*'", "'...'", "'+'", \r | |
503 | "'-'", "'/'", "'%'", "'++'", "'--'", "'sizeof'", "'.'", \r | |
504 | "'->'", "'&'", "'~'", "'!'", "'*='", "'/='", "'%='", \r | |
505 | "'+='", "'-='", "'<<='", "'>>='", "'&='", "'^='", "'|='", \r | |
506 | "'?'", "'||'", "'&&'", "'|'", "'^'", "'=='", "'!='", \r | |
507 | "'<'", "'>'", "'<='", "'>='", "'<<'", "'>>'", "'__asm__'", \r | |
508 | "'_asm'", "'__asm'", "'case'", "'default'", "'if'", \r | |
509 | "'else'", "'switch'", "'while'", "'do'", "'goto'", \r | |
510 | "'continue'", "'break'", "'return'" ]\r | |
511 | \r | |
512 | symbolicNames = [ "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
513 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
514 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
515 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
516 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
517 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
518 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
519 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
520 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
521 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
522 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
523 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
524 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
525 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
526 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
527 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
528 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
529 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
530 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
531 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
532 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
533 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
534 | "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", \r | |
535 | "<INVALID>", "IDENTIFIER", "CHARACTER_LITERAL", "STRING_LITERAL", \r | |
536 | "HEX_LITERAL", "DECIMAL_LITERAL", "OCTAL_LITERAL", \r | |
537 | "FLOATING_POINT_LITERAL", "WS", "BS", "UnicodeVocabulary", \r | |
538 | "COMMENT", "LINE_COMMENT", "LINE_COMMAND" ]\r | |
539 | \r | |
540 | RULE_translation_unit = 0\r | |
541 | RULE_external_declaration = 1\r | |
542 | RULE_function_definition = 2\r | |
543 | RULE_declaration_specifiers = 3\r | |
544 | RULE_declaration = 4\r | |
545 | RULE_init_declarator_list = 5\r | |
546 | RULE_init_declarator = 6\r | |
547 | RULE_storage_class_specifier = 7\r | |
548 | RULE_type_specifier = 8\r | |
549 | RULE_type_id = 9\r | |
550 | RULE_struct_or_union_specifier = 10\r | |
551 | RULE_struct_or_union = 11\r | |
552 | RULE_struct_declaration_list = 12\r | |
553 | RULE_struct_declaration = 13\r | |
554 | RULE_specifier_qualifier_list = 14\r | |
555 | RULE_struct_declarator_list = 15\r | |
556 | RULE_struct_declarator = 16\r | |
557 | RULE_enum_specifier = 17\r | |
558 | RULE_enumerator_list = 18\r | |
559 | RULE_enumerator = 19\r | |
560 | RULE_type_qualifier = 20\r | |
561 | RULE_declarator = 21\r | |
562 | RULE_direct_declarator = 22\r | |
563 | RULE_declarator_suffix = 23\r | |
564 | RULE_pointer = 24\r | |
565 | RULE_parameter_type_list = 25\r | |
566 | RULE_parameter_list = 26\r | |
567 | RULE_parameter_declaration = 27\r | |
568 | RULE_identifier_list = 28\r | |
569 | RULE_type_name = 29\r | |
570 | RULE_abstract_declarator = 30\r | |
571 | RULE_direct_abstract_declarator = 31\r | |
572 | RULE_abstract_declarator_suffix = 32\r | |
573 | RULE_initializer = 33\r | |
574 | RULE_initializer_list = 34\r | |
575 | RULE_argument_expression_list = 35\r | |
576 | RULE_additive_expression = 36\r | |
577 | RULE_multiplicative_expression = 37\r | |
578 | RULE_cast_expression = 38\r | |
579 | RULE_unary_expression = 39\r | |
580 | RULE_postfix_expression = 40\r | |
581 | RULE_macro_parameter_list = 41\r | |
582 | RULE_unary_operator = 42\r | |
583 | RULE_primary_expression = 43\r | |
584 | RULE_constant = 44\r | |
585 | RULE_expression = 45\r | |
586 | RULE_constant_expression = 46\r | |
587 | RULE_assignment_expression = 47\r | |
588 | RULE_lvalue = 48\r | |
589 | RULE_assignment_operator = 49\r | |
590 | RULE_conditional_expression = 50\r | |
591 | RULE_logical_or_expression = 51\r | |
592 | RULE_logical_and_expression = 52\r | |
593 | RULE_inclusive_or_expression = 53\r | |
594 | RULE_exclusive_or_expression = 54\r | |
595 | RULE_and_expression = 55\r | |
596 | RULE_equality_expression = 56\r | |
597 | RULE_relational_expression = 57\r | |
598 | RULE_shift_expression = 58\r | |
599 | RULE_statement = 59\r | |
600 | RULE_asm2_statement = 60\r | |
601 | RULE_asm1_statement = 61\r | |
602 | RULE_asm_statement = 62\r | |
603 | RULE_macro_statement = 63\r | |
604 | RULE_labeled_statement = 64\r | |
605 | RULE_compound_statement = 65\r | |
606 | RULE_statement_list = 66\r | |
607 | RULE_expression_statement = 67\r | |
608 | RULE_selection_statement = 68\r | |
609 | RULE_iteration_statement = 69\r | |
610 | RULE_jump_statement = 70\r | |
611 | \r | |
612 | ruleNames = [ "translation_unit", "external_declaration", "function_definition", \r | |
613 | "declaration_specifiers", "declaration", "init_declarator_list", \r | |
614 | "init_declarator", "storage_class_specifier", "type_specifier", \r | |
615 | "type_id", "struct_or_union_specifier", "struct_or_union", \r | |
616 | "struct_declaration_list", "struct_declaration", "specifier_qualifier_list", \r | |
617 | "struct_declarator_list", "struct_declarator", "enum_specifier", \r | |
618 | "enumerator_list", "enumerator", "type_qualifier", "declarator", \r | |
619 | "direct_declarator", "declarator_suffix", "pointer", \r | |
620 | "parameter_type_list", "parameter_list", "parameter_declaration", \r | |
621 | "identifier_list", "type_name", "abstract_declarator", \r | |
622 | "direct_abstract_declarator", "abstract_declarator_suffix", \r | |
623 | "initializer", "initializer_list", "argument_expression_list", \r | |
624 | "additive_expression", "multiplicative_expression", "cast_expression", \r | |
625 | "unary_expression", "postfix_expression", "macro_parameter_list", \r | |
626 | "unary_operator", "primary_expression", "constant", "expression", \r | |
627 | "constant_expression", "assignment_expression", "lvalue", \r | |
628 | "assignment_operator", "conditional_expression", "logical_or_expression", \r | |
629 | "logical_and_expression", "inclusive_or_expression", \r | |
630 | "exclusive_or_expression", "and_expression", "equality_expression", \r | |
631 | "relational_expression", "shift_expression", "statement", \r | |
632 | "asm2_statement", "asm1_statement", "asm_statement", \r | |
633 | "macro_statement", "labeled_statement", "compound_statement", \r | |
634 | "statement_list", "expression_statement", "selection_statement", \r | |
635 | "iteration_statement", "jump_statement" ]\r | |
636 | \r | |
637 | EOF = Token.EOF\r | |
638 | T__0=1\r | |
639 | T__1=2\r | |
640 | T__2=3\r | |
641 | T__3=4\r | |
642 | T__4=5\r | |
643 | T__5=6\r | |
644 | T__6=7\r | |
645 | T__7=8\r | |
646 | T__8=9\r | |
647 | T__9=10\r | |
648 | T__10=11\r | |
649 | T__11=12\r | |
650 | T__12=13\r | |
651 | T__13=14\r | |
652 | T__14=15\r | |
653 | T__15=16\r | |
654 | T__16=17\r | |
655 | T__17=18\r | |
656 | T__18=19\r | |
657 | T__19=20\r | |
658 | T__20=21\r | |
659 | T__21=22\r | |
660 | T__22=23\r | |
661 | T__23=24\r | |
662 | T__24=25\r | |
663 | T__25=26\r | |
664 | T__26=27\r | |
665 | T__27=28\r | |
666 | T__28=29\r | |
667 | T__29=30\r | |
668 | T__30=31\r | |
669 | T__31=32\r | |
670 | T__32=33\r | |
671 | T__33=34\r | |
672 | T__34=35\r | |
673 | T__35=36\r | |
674 | T__36=37\r | |
675 | T__37=38\r | |
676 | T__38=39\r | |
677 | T__39=40\r | |
678 | T__40=41\r | |
679 | T__41=42\r | |
680 | T__42=43\r | |
681 | T__43=44\r | |
682 | T__44=45\r | |
683 | T__45=46\r | |
684 | T__46=47\r | |
685 | T__47=48\r | |
686 | T__48=49\r | |
687 | T__49=50\r | |
688 | T__50=51\r | |
689 | T__51=52\r | |
690 | T__52=53\r | |
691 | T__53=54\r | |
692 | T__54=55\r | |
693 | T__55=56\r | |
694 | T__56=57\r | |
695 | T__57=58\r | |
696 | T__58=59\r | |
697 | T__59=60\r | |
698 | T__60=61\r | |
699 | T__61=62\r | |
700 | T__62=63\r | |
701 | T__63=64\r | |
702 | T__64=65\r | |
703 | T__65=66\r | |
704 | T__66=67\r | |
705 | T__67=68\r | |
706 | T__68=69\r | |
707 | T__69=70\r | |
708 | T__70=71\r | |
709 | T__71=72\r | |
710 | T__72=73\r | |
711 | T__73=74\r | |
712 | T__74=75\r | |
713 | T__75=76\r | |
714 | T__76=77\r | |
715 | T__77=78\r | |
716 | T__78=79\r | |
717 | T__79=80\r | |
718 | T__80=81\r | |
719 | T__81=82\r | |
720 | T__82=83\r | |
721 | T__83=84\r | |
722 | T__84=85\r | |
723 | T__85=86\r | |
724 | T__86=87\r | |
725 | T__87=88\r | |
726 | T__88=89\r | |
727 | T__89=90\r | |
728 | T__90=91\r | |
729 | T__91=92\r | |
730 | IDENTIFIER=93\r | |
731 | CHARACTER_LITERAL=94\r | |
732 | STRING_LITERAL=95\r | |
733 | HEX_LITERAL=96\r | |
734 | DECIMAL_LITERAL=97\r | |
735 | OCTAL_LITERAL=98\r | |
736 | FLOATING_POINT_LITERAL=99\r | |
737 | WS=100\r | |
738 | BS=101\r | |
739 | UnicodeVocabulary=102\r | |
740 | COMMENT=103\r | |
741 | LINE_COMMENT=104\r | |
742 | LINE_COMMAND=105\r | |
743 | \r | |
744 | def __init__(self, input:TokenStream, output:TextIO = sys.stdout):\r | |
745 | super().__init__(input, output)\r | |
746 | self.checkVersion("4.7.1")\r | |
747 | self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache)\r | |
748 | self._predicates = None\r | |
749 | \r | |
750 | \r | |
751 | \r | |
752 | \r | |
30fdf114 | 753 | def printTokenInfo(self, line, offset, tokenText):\r |
72443dd2 | 754 | print(str(line)+ ',' + str(offset) + ':' + str(tokenText))\r |
22c4de1a | 755 | \r |
30fdf114 | 756 | def StorePredicateExpression(self, StartLine, StartOffset, EndLine, EndOffset, Text):\r |
22c4de1a HC |
757 | PredExp = CodeFragment.PredicateExpression(Text, (StartLine, StartOffset), (EndLine, EndOffset))\r |
758 | FileProfile.PredicateExpressionList.append(PredExp)\r | |
759 | \r | |
30fdf114 | 760 | def StoreEnumerationDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text):\r |
22c4de1a HC |
761 | EnumDef = CodeFragment.EnumerationDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset))\r |
762 | FileProfile.EnumerationDefinitionList.append(EnumDef)\r | |
763 | \r | |
30fdf114 | 764 | def StoreStructUnionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, Text):\r |
22c4de1a HC |
765 | SUDef = CodeFragment.StructUnionDefinition(Text, (StartLine, StartOffset), (EndLine, EndOffset))\r |
766 | FileProfile.StructUnionDefinitionList.append(SUDef)\r | |
767 | \r | |
30fdf114 | 768 | def StoreTypedefDefinition(self, StartLine, StartOffset, EndLine, EndOffset, FromText, ToText):\r |
22c4de1a HC |
769 | Tdef = CodeFragment.TypedefDefinition(FromText, ToText, (StartLine, StartOffset), (EndLine, EndOffset))\r |
770 | FileProfile.TypedefDefinitionList.append(Tdef)\r | |
f7496d71 | 771 | \r |
30fdf114 | 772 | def StoreFunctionDefinition(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText, LeftBraceLine, LeftBraceOffset, DeclLine, DeclOffset):\r |
22c4de1a HC |
773 | FuncDef = CodeFragment.FunctionDefinition(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset), (LeftBraceLine, LeftBraceOffset), (DeclLine, DeclOffset))\r |
774 | FileProfile.FunctionDefinitionList.append(FuncDef)\r | |
775 | \r | |
30fdf114 | 776 | def StoreVariableDeclaration(self, StartLine, StartOffset, EndLine, EndOffset, ModifierText, DeclText):\r |
22c4de1a HC |
777 | VarDecl = CodeFragment.VariableDeclaration(ModifierText, DeclText, (StartLine, StartOffset), (EndLine, EndOffset))\r |
778 | FileProfile.VariableDeclarationList.append(VarDecl)\r | |
f7496d71 | 779 | \r |
30fdf114 | 780 | def StoreFunctionCalling(self, StartLine, StartOffset, EndLine, EndOffset, FuncName, ParamList):\r |
22c4de1a HC |
781 | FuncCall = CodeFragment.FunctionCalling(FuncName, ParamList, (StartLine, StartOffset), (EndLine, EndOffset))\r |
782 | FileProfile.FunctionCallingList.append(FuncCall)\r | |
f51461c8 LG |
783 | \r |
784 | \r | |
f51461c8 | 785 | \r |
22c4de1a | 786 | class Translation_unitContext(ParserRuleContext):\r |
f51461c8 | 787 | \r |
22c4de1a HC |
788 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
789 | super().__init__(parent, invokingState)\r | |
790 | self.parser = parser\r | |
f51461c8 | 791 | \r |
22c4de1a HC |
792 | def external_declaration(self, i:int=None):\r |
793 | if i is None:\r | |
794 | return self.getTypedRuleContexts(CParser.External_declarationContext)\r | |
795 | else:\r | |
796 | return self.getTypedRuleContext(CParser.External_declarationContext,i)\r | |
f51461c8 LG |
797 | \r |
798 | \r | |
22c4de1a HC |
799 | def getRuleIndex(self):\r |
800 | return CParser.RULE_translation_unit\r | |
f51461c8 | 801 | \r |
22c4de1a HC |
802 | def enterRule(self, listener:ParseTreeListener):\r |
803 | if hasattr( listener, "enterTranslation_unit" ):\r | |
804 | listener.enterTranslation_unit(self)\r | |
f51461c8 | 805 | \r |
22c4de1a HC |
806 | def exitRule(self, listener:ParseTreeListener):\r |
807 | if hasattr( listener, "exitTranslation_unit" ):\r | |
808 | listener.exitTranslation_unit(self)\r | |
f51461c8 | 809 | \r |
f51461c8 | 810 | \r |
f51461c8 LG |
811 | \r |
812 | \r | |
22c4de1a | 813 | def translation_unit(self):\r |
f51461c8 | 814 | \r |
22c4de1a HC |
815 | localctx = CParser.Translation_unitContext(self, self._ctx, self.state)\r |
816 | self.enterRule(localctx, 0, self.RULE_translation_unit)\r | |
817 | self._la = 0 # Token type\r | |
f51461c8 | 818 | try:\r |
22c4de1a HC |
819 | self.enterOuterAlt(localctx, 1)\r |
820 | self.state = 145\r | |
821 | self._errHandler.sync(self)\r | |
822 | _la = self._input.LA(1)\r | |
823 | while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__2) | (1 << CParser.T__5) | (1 << CParser.T__6) | (1 << CParser.T__7) | (1 << CParser.T__8) | (1 << CParser.T__9) | (1 << CParser.T__10) | (1 << CParser.T__11) | (1 << CParser.T__12) | (1 << CParser.T__13) | (1 << CParser.T__14) | (1 << CParser.T__15) | (1 << CParser.T__16) | (1 << CParser.T__17) | (1 << CParser.T__18) | (1 << CParser.T__20) | (1 << CParser.T__21) | (1 << CParser.T__23) | (1 << CParser.T__24) | (1 << CParser.T__25) | (1 << CParser.T__26) | (1 << CParser.T__27) | (1 << CParser.T__28) | (1 << CParser.T__29) | (1 << CParser.T__30) | (1 << CParser.T__31) | (1 << CParser.T__32) | (1 << CParser.T__33) | (1 << CParser.T__34) | (1 << CParser.T__35) | (1 << CParser.T__36) | (1 << CParser.T__37) | (1 << CParser.T__41))) != 0) or _la==CParser.IDENTIFIER:\r | |
824 | self.state = 142\r | |
825 | self.external_declaration()\r | |
826 | self.state = 147\r | |
827 | self._errHandler.sync(self)\r | |
828 | _la = self._input.LA(1)\r | |
829 | \r | |
830 | except RecognitionException as re:\r | |
831 | localctx.exception = re\r | |
832 | self._errHandler.reportError(self, re)\r | |
833 | self._errHandler.recover(self, re)\r | |
834 | finally:\r | |
835 | self.exitRule()\r | |
836 | return localctx\r | |
f51461c8 | 837 | \r |
22c4de1a | 838 | class External_declarationContext(ParserRuleContext):\r |
f51461c8 | 839 | \r |
22c4de1a HC |
840 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
841 | super().__init__(parent, invokingState)\r | |
842 | self.parser = parser\r | |
f51461c8 | 843 | \r |
22c4de1a HC |
844 | def declarator(self):\r |
845 | return self.getTypedRuleContext(CParser.DeclaratorContext,0)\r | |
f51461c8 | 846 | \r |
f51461c8 | 847 | \r |
22c4de1a HC |
848 | def declaration_specifiers(self):\r |
849 | return self.getTypedRuleContext(CParser.Declaration_specifiersContext,0)\r | |
f51461c8 | 850 | \r |
f51461c8 | 851 | \r |
22c4de1a HC |
852 | def declaration(self, i:int=None):\r |
853 | if i is None:\r | |
854 | return self.getTypedRuleContexts(CParser.DeclarationContext)\r | |
855 | else:\r | |
856 | return self.getTypedRuleContext(CParser.DeclarationContext,i)\r | |
f51461c8 | 857 | \r |
f51461c8 | 858 | \r |
22c4de1a HC |
859 | def function_definition(self):\r |
860 | return self.getTypedRuleContext(CParser.Function_definitionContext,0)\r | |
f51461c8 | 861 | \r |
f51461c8 | 862 | \r |
22c4de1a HC |
863 | def macro_statement(self):\r |
864 | return self.getTypedRuleContext(CParser.Macro_statementContext,0)\r | |
f51461c8 | 865 | \r |
f51461c8 | 866 | \r |
22c4de1a HC |
867 | def getRuleIndex(self):\r |
868 | return CParser.RULE_external_declaration\r | |
f51461c8 | 869 | \r |
22c4de1a HC |
870 | def enterRule(self, listener:ParseTreeListener):\r |
871 | if hasattr( listener, "enterExternal_declaration" ):\r | |
872 | listener.enterExternal_declaration(self)\r | |
f51461c8 | 873 | \r |
22c4de1a HC |
874 | def exitRule(self, listener:ParseTreeListener):\r |
875 | if hasattr( listener, "exitExternal_declaration" ):\r | |
876 | listener.exitExternal_declaration(self)\r | |
f51461c8 | 877 | \r |
f51461c8 | 878 | \r |
f51461c8 | 879 | \r |
f51461c8 | 880 | \r |
22c4de1a | 881 | def external_declaration(self):\r |
f51461c8 | 882 | \r |
22c4de1a HC |
883 | localctx = CParser.External_declarationContext(self, self._ctx, self.state)\r |
884 | self.enterRule(localctx, 2, self.RULE_external_declaration)\r | |
885 | self._la = 0 # Token type\r | |
886 | try:\r | |
887 | self.state = 166\r | |
888 | self._errHandler.sync(self)\r | |
889 | la_ = self._interp.adaptivePredict(self._input,4,self._ctx)\r | |
890 | if la_ == 1:\r | |
891 | self.enterOuterAlt(localctx, 1)\r | |
892 | self.state = 149\r | |
893 | self._errHandler.sync(self)\r | |
894 | la_ = self._interp.adaptivePredict(self._input,1,self._ctx)\r | |
895 | if la_ == 1:\r | |
896 | self.state = 148\r | |
897 | self.declaration_specifiers()\r | |
f51461c8 LG |
898 | \r |
899 | \r | |
22c4de1a HC |
900 | self.state = 151\r |
901 | self.declarator()\r | |
902 | self.state = 155\r | |
903 | self._errHandler.sync(self)\r | |
904 | _la = self._input.LA(1)\r | |
905 | while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__2) | (1 << CParser.T__5) | (1 << CParser.T__6) | (1 << CParser.T__7) | (1 << CParser.T__8) | (1 << CParser.T__9) | (1 << CParser.T__10) | (1 << CParser.T__11) | (1 << CParser.T__12) | (1 << CParser.T__13) | (1 << CParser.T__14) | (1 << CParser.T__15) | (1 << CParser.T__16) | (1 << CParser.T__17) | (1 << CParser.T__18) | (1 << CParser.T__20) | (1 << CParser.T__21) | (1 << CParser.T__23) | (1 << CParser.T__24) | (1 << CParser.T__25) | (1 << CParser.T__26) | (1 << CParser.T__27) | (1 << CParser.T__28) | (1 << CParser.T__29) | (1 << CParser.T__30) | (1 << CParser.T__31) | (1 << CParser.T__32) | (1 << CParser.T__33) | (1 << CParser.T__34) | (1 << CParser.T__35) | (1 << CParser.T__36))) != 0) or _la==CParser.IDENTIFIER:\r | |
906 | self.state = 152\r | |
f51461c8 | 907 | self.declaration()\r |
22c4de1a HC |
908 | self.state = 157\r |
909 | self._errHandler.sync(self)\r | |
910 | _la = self._input.LA(1)\r | |
911 | \r | |
912 | self.state = 158\r | |
913 | self.match(CParser.T__0)\r | |
914 | pass\r | |
915 | \r | |
916 | elif la_ == 2:\r | |
917 | self.enterOuterAlt(localctx, 2)\r | |
918 | self.state = 160\r | |
919 | self.function_definition()\r | |
920 | pass\r | |
921 | \r | |
922 | elif la_ == 3:\r | |
923 | self.enterOuterAlt(localctx, 3)\r | |
924 | self.state = 161\r | |
925 | self.declaration()\r | |
926 | pass\r | |
f51461c8 | 927 | \r |
22c4de1a HC |
928 | elif la_ == 4:\r |
929 | self.enterOuterAlt(localctx, 4)\r | |
930 | self.state = 162\r | |
931 | self.macro_statement()\r | |
932 | self.state = 164\r | |
933 | self._errHandler.sync(self)\r | |
934 | _la = self._input.LA(1)\r | |
935 | if _la==CParser.T__1:\r | |
936 | self.state = 163\r | |
937 | self.match(CParser.T__1)\r | |
f51461c8 LG |
938 | \r |
939 | \r | |
22c4de1a | 940 | pass\r |
f51461c8 LG |
941 | \r |
942 | \r | |
22c4de1a HC |
943 | except RecognitionException as re:\r |
944 | localctx.exception = re\r | |
945 | self._errHandler.reportError(self, re)\r | |
946 | self._errHandler.recover(self, re)\r | |
f51461c8 | 947 | finally:\r |
22c4de1a HC |
948 | self.exitRule()\r |
949 | return localctx\r | |
f7496d71 | 950 | \r |
22c4de1a | 951 | class Function_definitionContext(ParserRuleContext):\r |
f51461c8 | 952 | \r |
22c4de1a HC |
953 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
954 | super().__init__(parent, invokingState)\r | |
955 | self.parser = parser\r | |
956 | self.ModifierText = ''\r | |
957 | self.DeclText = ''\r | |
958 | self.LBLine = 0\r | |
959 | self.LBOffset = 0\r | |
960 | self.DeclLine = 0\r | |
961 | self.DeclOffset = 0\r | |
962 | self.d = None # Declaration_specifiersContext\r | |
963 | self._declaration_specifiers = None # Declaration_specifiersContext\r | |
964 | self._declarator = None # DeclaratorContext\r | |
965 | self.a = None # Compound_statementContext\r | |
966 | self.b = None # Compound_statementContext\r | |
f51461c8 | 967 | \r |
22c4de1a HC |
968 | def declarator(self):\r |
969 | return self.getTypedRuleContext(CParser.DeclaratorContext,0)\r | |
f51461c8 | 970 | \r |
f51461c8 | 971 | \r |
22c4de1a HC |
972 | def compound_statement(self):\r |
973 | return self.getTypedRuleContext(CParser.Compound_statementContext,0)\r | |
f51461c8 | 974 | \r |
f51461c8 | 975 | \r |
22c4de1a HC |
976 | def declaration_specifiers(self):\r |
977 | return self.getTypedRuleContext(CParser.Declaration_specifiersContext,0)\r | |
f51461c8 LG |
978 | \r |
979 | \r | |
22c4de1a HC |
980 | def declaration(self, i:int=None):\r |
981 | if i is None:\r | |
982 | return self.getTypedRuleContexts(CParser.DeclarationContext)\r | |
983 | else:\r | |
984 | return self.getTypedRuleContext(CParser.DeclarationContext,i)\r | |
f51461c8 LG |
985 | \r |
986 | \r | |
22c4de1a HC |
987 | def getRuleIndex(self):\r |
988 | return CParser.RULE_function_definition\r | |
f51461c8 | 989 | \r |
22c4de1a HC |
990 | def enterRule(self, listener:ParseTreeListener):\r |
991 | if hasattr( listener, "enterFunction_definition" ):\r | |
992 | listener.enterFunction_definition(self)\r | |
f7496d71 | 993 | \r |
22c4de1a HC |
994 | def exitRule(self, listener:ParseTreeListener):\r |
995 | if hasattr( listener, "exitFunction_definition" ):\r | |
996 | listener.exitFunction_definition(self)\r | |
f7496d71 | 997 | \r |
f51461c8 LG |
998 | \r |
999 | \r | |
1000 | \r | |
22c4de1a | 1001 | def function_definition(self):\r |
f51461c8 | 1002 | \r |
22c4de1a HC |
1003 | localctx = CParser.Function_definitionContext(self, self._ctx, self.state)\r |
1004 | self.enterRule(localctx, 4, self.RULE_function_definition)\r | |
f51461c8 | 1005 | \r |
22c4de1a HC |
1006 | ModifierText = '';\r |
1007 | DeclText = '';\r | |
1008 | LBLine = 0;\r | |
1009 | LBOffset = 0;\r | |
1010 | DeclLine = 0;\r | |
1011 | DeclOffset = 0;\r | |
f7496d71 | 1012 | \r |
22c4de1a HC |
1013 | self._la = 0 # Token type\r |
1014 | try:\r | |
1015 | self.enterOuterAlt(localctx, 1)\r | |
1016 | self.state = 169\r | |
1017 | self._errHandler.sync(self)\r | |
1018 | la_ = self._interp.adaptivePredict(self._input,5,self._ctx)\r | |
1019 | if la_ == 1:\r | |
1020 | self.state = 168\r | |
1021 | localctx.d = localctx._declaration_specifiers = self.declaration_specifiers()\r | |
1022 | \r | |
1023 | \r | |
1024 | self.state = 171\r | |
1025 | localctx._declarator = self.declarator()\r | |
1026 | self.state = 180\r | |
1027 | self._errHandler.sync(self)\r | |
1028 | token = self._input.LA(1)\r | |
1029 | if token in [CParser.T__2, CParser.T__5, CParser.T__6, CParser.T__7, CParser.T__8, CParser.T__9, CParser.T__10, CParser.T__11, CParser.T__12, CParser.T__13, CParser.T__14, CParser.T__15, CParser.T__16, CParser.T__17, CParser.T__18, CParser.T__20, CParser.T__21, CParser.T__23, CParser.T__24, CParser.T__25, CParser.T__26, CParser.T__27, CParser.T__28, CParser.T__29, CParser.T__30, CParser.T__31, CParser.T__32, CParser.T__33, CParser.T__34, CParser.T__35, CParser.T__36, CParser.IDENTIFIER]:\r | |
1030 | self.state = 173 \r | |
1031 | self._errHandler.sync(self)\r | |
1032 | _la = self._input.LA(1)\r | |
1033 | while True:\r | |
1034 | self.state = 172\r | |
1035 | self.declaration()\r | |
1036 | self.state = 175 \r | |
1037 | self._errHandler.sync(self)\r | |
1038 | _la = self._input.LA(1)\r | |
1039 | if not ((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__2) | (1 << CParser.T__5) | (1 << CParser.T__6) | (1 << CParser.T__7) | (1 << CParser.T__8) | (1 << CParser.T__9) | (1 << CParser.T__10) | (1 << CParser.T__11) | (1 << CParser.T__12) | (1 << CParser.T__13) | (1 << CParser.T__14) | (1 << CParser.T__15) | (1 << CParser.T__16) | (1 << CParser.T__17) | (1 << CParser.T__18) | (1 << CParser.T__20) | (1 << CParser.T__21) | (1 << CParser.T__23) | (1 << CParser.T__24) | (1 << CParser.T__25) | (1 << CParser.T__26) | (1 << CParser.T__27) | (1 << CParser.T__28) | (1 << CParser.T__29) | (1 << CParser.T__30) | (1 << CParser.T__31) | (1 << CParser.T__32) | (1 << CParser.T__33) | (1 << CParser.T__34) | (1 << CParser.T__35) | (1 << CParser.T__36))) != 0) or _la==CParser.IDENTIFIER):\r | |
1040 | break\r | |
1041 | \r | |
1042 | self.state = 177\r | |
1043 | localctx.a = self.compound_statement()\r | |
1044 | pass\r | |
1045 | elif token in [CParser.T__0]:\r | |
1046 | self.state = 179\r | |
1047 | localctx.b = self.compound_statement()\r | |
1048 | pass\r | |
1049 | else:\r | |
1050 | raise NoViableAltException(self)\r | |
f51461c8 | 1051 | \r |
22c4de1a HC |
1052 | \r |
1053 | if localctx.d != None:\r | |
1054 | ModifierText = (None if localctx._declaration_specifiers is None else self._input.getText((localctx._declaration_specifiers.start,localctx._declaration_specifiers.stop)))\r | |
1055 | else:\r | |
1056 | ModifierText = ''\r | |
1057 | DeclText = (None if localctx._declarator is None else self._input.getText((localctx._declarator.start,localctx._declarator.stop)))\r | |
1058 | DeclLine = (None if localctx._declarator is None else localctx._declarator.start).line\r | |
1059 | DeclOffset = (None if localctx._declarator is None else localctx._declarator.start).column\r | |
1060 | if localctx.a != None:\r | |
1061 | LBLine = (None if localctx.a is None else localctx.a.start).line\r | |
1062 | LBOffset = (None if localctx.a is None else localctx.a.start).column\r | |
1063 | else:\r | |
1064 | LBLine = (None if localctx.b is None else localctx.b.start).line\r | |
1065 | LBOffset = (None if localctx.b is None else localctx.b.start).column\r | |
1066 | \r | |
1067 | self._ctx.stop = self._input.LT(-1)\r | |
f51461c8 | 1068 | \r |
22c4de1a | 1069 | self.StoreFunctionDefinition(localctx.start.line, localctx.start.column, localctx.stop.line, localctx.stop.column, ModifierText, DeclText, LBLine, LBOffset, DeclLine, DeclOffset)\r |
f51461c8 | 1070 | \r |
22c4de1a HC |
1071 | except RecognitionException as re:\r |
1072 | localctx.exception = re\r | |
1073 | self._errHandler.reportError(self, re)\r | |
1074 | self._errHandler.recover(self, re)\r | |
f51461c8 | 1075 | finally:\r |
22c4de1a HC |
1076 | self.exitRule()\r |
1077 | return localctx\r | |
f51461c8 | 1078 | \r |
22c4de1a | 1079 | class Declaration_specifiersContext(ParserRuleContext):\r |
f51461c8 | 1080 | \r |
22c4de1a HC |
1081 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
1082 | super().__init__(parent, invokingState)\r | |
1083 | self.parser = parser\r | |
f51461c8 | 1084 | \r |
22c4de1a HC |
1085 | def storage_class_specifier(self, i:int=None):\r |
1086 | if i is None:\r | |
1087 | return self.getTypedRuleContexts(CParser.Storage_class_specifierContext)\r | |
1088 | else:\r | |
1089 | return self.getTypedRuleContext(CParser.Storage_class_specifierContext,i)\r | |
f51461c8 | 1090 | \r |
f51461c8 | 1091 | \r |
22c4de1a HC |
1092 | def type_specifier(self, i:int=None):\r |
1093 | if i is None:\r | |
1094 | return self.getTypedRuleContexts(CParser.Type_specifierContext)\r | |
1095 | else:\r | |
1096 | return self.getTypedRuleContext(CParser.Type_specifierContext,i)\r | |
f51461c8 | 1097 | \r |
f51461c8 | 1098 | \r |
22c4de1a HC |
1099 | def type_qualifier(self, i:int=None):\r |
1100 | if i is None:\r | |
1101 | return self.getTypedRuleContexts(CParser.Type_qualifierContext)\r | |
1102 | else:\r | |
1103 | return self.getTypedRuleContext(CParser.Type_qualifierContext,i)\r | |
f51461c8 | 1104 | \r |
f51461c8 | 1105 | \r |
22c4de1a HC |
1106 | def getRuleIndex(self):\r |
1107 | return CParser.RULE_declaration_specifiers\r | |
f51461c8 | 1108 | \r |
22c4de1a HC |
1109 | def enterRule(self, listener:ParseTreeListener):\r |
1110 | if hasattr( listener, "enterDeclaration_specifiers" ):\r | |
1111 | listener.enterDeclaration_specifiers(self)\r | |
f51461c8 | 1112 | \r |
22c4de1a HC |
1113 | def exitRule(self, listener:ParseTreeListener):\r |
1114 | if hasattr( listener, "exitDeclaration_specifiers" ):\r | |
1115 | listener.exitDeclaration_specifiers(self)\r | |
f51461c8 | 1116 | \r |
f51461c8 LG |
1117 | \r |
1118 | \r | |
1119 | \r | |
22c4de1a | 1120 | def declaration_specifiers(self):\r |
f51461c8 | 1121 | \r |
22c4de1a HC |
1122 | localctx = CParser.Declaration_specifiersContext(self, self._ctx, self.state)\r |
1123 | self.enterRule(localctx, 6, self.RULE_declaration_specifiers)\r | |
f51461c8 | 1124 | try:\r |
22c4de1a HC |
1125 | self.enterOuterAlt(localctx, 1)\r |
1126 | self.state = 187 \r | |
1127 | self._errHandler.sync(self)\r | |
1128 | _alt = 1\r | |
1129 | while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:\r | |
1130 | if _alt == 1:\r | |
1131 | self.state = 187\r | |
1132 | self._errHandler.sync(self)\r | |
1133 | token = self._input.LA(1)\r | |
1134 | if token in [CParser.T__5, CParser.T__6, CParser.T__7, CParser.T__8, CParser.T__9]:\r | |
1135 | self.state = 184\r | |
f51461c8 | 1136 | self.storage_class_specifier()\r |
22c4de1a HC |
1137 | pass\r |
1138 | elif token in [CParser.T__10, CParser.T__11, CParser.T__12, CParser.T__13, CParser.T__14, CParser.T__15, CParser.T__16, CParser.T__17, CParser.T__18, CParser.T__20, CParser.T__21, CParser.T__23, CParser.IDENTIFIER]:\r | |
1139 | self.state = 185\r | |
f51461c8 | 1140 | self.type_specifier()\r |
22c4de1a HC |
1141 | pass\r |
1142 | elif token in [CParser.T__24, CParser.T__25, CParser.T__26, CParser.T__27, CParser.T__28, CParser.T__29, CParser.T__30, CParser.T__31, CParser.T__32, CParser.T__33, CParser.T__34, CParser.T__35, CParser.T__36]:\r | |
1143 | self.state = 186\r | |
f51461c8 | 1144 | self.type_qualifier()\r |
22c4de1a | 1145 | pass\r |
f51461c8 | 1146 | else:\r |
22c4de1a | 1147 | raise NoViableAltException(self)\r |
f51461c8 LG |
1148 | \r |
1149 | \r | |
22c4de1a HC |
1150 | else:\r |
1151 | raise NoViableAltException(self)\r | |
1152 | self.state = 189 \r | |
1153 | self._errHandler.sync(self)\r | |
1154 | _alt = self._interp.adaptivePredict(self._input,9,self._ctx)\r | |
1155 | \r | |
1156 | except RecognitionException as re:\r | |
1157 | localctx.exception = re\r | |
1158 | self._errHandler.reportError(self, re)\r | |
1159 | self._errHandler.recover(self, re)\r | |
f51461c8 | 1160 | finally:\r |
22c4de1a HC |
1161 | self.exitRule()\r |
1162 | return localctx\r | |
f51461c8 | 1163 | \r |
22c4de1a | 1164 | class DeclarationContext(ParserRuleContext):\r |
f51461c8 | 1165 | \r |
22c4de1a HC |
1166 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
1167 | super().__init__(parent, invokingState)\r | |
1168 | self.parser = parser\r | |
1169 | self.a = None # Token\r | |
1170 | self.b = None # Declaration_specifiersContext\r | |
1171 | self.c = None # Init_declarator_listContext\r | |
1172 | self.d = None # Token\r | |
1173 | self.s = None # Declaration_specifiersContext\r | |
1174 | self.t = None # Init_declarator_listContext\r | |
1175 | self.e = None # Token\r | |
f51461c8 | 1176 | \r |
22c4de1a HC |
1177 | def init_declarator_list(self):\r |
1178 | return self.getTypedRuleContext(CParser.Init_declarator_listContext,0)\r | |
f51461c8 LG |
1179 | \r |
1180 | \r | |
22c4de1a HC |
1181 | def declaration_specifiers(self):\r |
1182 | return self.getTypedRuleContext(CParser.Declaration_specifiersContext,0)\r | |
f51461c8 LG |
1183 | \r |
1184 | \r | |
22c4de1a HC |
1185 | def getRuleIndex(self):\r |
1186 | return CParser.RULE_declaration\r | |
f51461c8 | 1187 | \r |
22c4de1a HC |
1188 | def enterRule(self, listener:ParseTreeListener):\r |
1189 | if hasattr( listener, "enterDeclaration" ):\r | |
1190 | listener.enterDeclaration(self)\r | |
f51461c8 | 1191 | \r |
22c4de1a HC |
1192 | def exitRule(self, listener:ParseTreeListener):\r |
1193 | if hasattr( listener, "exitDeclaration" ):\r | |
1194 | listener.exitDeclaration(self)\r | |
f51461c8 | 1195 | \r |
f51461c8 | 1196 | \r |
f51461c8 LG |
1197 | \r |
1198 | \r | |
22c4de1a | 1199 | def declaration(self):\r |
f51461c8 | 1200 | \r |
22c4de1a HC |
1201 | localctx = CParser.DeclarationContext(self, self._ctx, self.state)\r |
1202 | self.enterRule(localctx, 8, self.RULE_declaration)\r | |
1203 | self._la = 0 # Token type\r | |
f51461c8 | 1204 | try:\r |
22c4de1a HC |
1205 | self.state = 206\r |
1206 | self._errHandler.sync(self)\r | |
1207 | token = self._input.LA(1)\r | |
1208 | if token in [CParser.T__2]:\r | |
1209 | self.enterOuterAlt(localctx, 1)\r | |
1210 | self.state = 191\r | |
1211 | localctx.a = self.match(CParser.T__2)\r | |
1212 | self.state = 193\r | |
1213 | self._errHandler.sync(self)\r | |
1214 | la_ = self._interp.adaptivePredict(self._input,10,self._ctx)\r | |
1215 | if la_ == 1:\r | |
1216 | self.state = 192\r | |
1217 | localctx.b = self.declaration_specifiers()\r | |
1218 | \r | |
1219 | \r | |
1220 | self.state = 195\r | |
1221 | localctx.c = self.init_declarator_list()\r | |
1222 | self.state = 196\r | |
1223 | localctx.d = self.match(CParser.T__1)\r | |
1224 | \r | |
1225 | if localctx.b is not None:\r | |
1226 | self.StoreTypedefDefinition(localctx.a.line, localctx.a.column, (0 if localctx.d is None else localctx.d.line), localctx.d.column, (None if localctx.b is None else self._input.getText((localctx.b.start,localctx.b.stop))), (None if localctx.c is None else self._input.getText((localctx.c.start,localctx.c.stop))))\r | |
f51461c8 | 1227 | else:\r |
22c4de1a HC |
1228 | self.StoreTypedefDefinition(localctx.a.line, localctx.a.column, (0 if localctx.d is None else localctx.d.line), localctx.d.column, '', (None if localctx.c is None else self._input.getText((localctx.c.start,localctx.c.stop))))\r |
1229 | \r | |
1230 | pass\r | |
1231 | elif token in [CParser.T__5, CParser.T__6, CParser.T__7, CParser.T__8, CParser.T__9, CParser.T__10, CParser.T__11, CParser.T__12, CParser.T__13, CParser.T__14, CParser.T__15, CParser.T__16, CParser.T__17, CParser.T__18, CParser.T__20, CParser.T__21, CParser.T__23, CParser.T__24, CParser.T__25, CParser.T__26, CParser.T__27, CParser.T__28, CParser.T__29, CParser.T__30, CParser.T__31, CParser.T__32, CParser.T__33, CParser.T__34, CParser.T__35, CParser.T__36, CParser.IDENTIFIER]:\r | |
1232 | self.enterOuterAlt(localctx, 2)\r | |
1233 | self.state = 199\r | |
1234 | localctx.s = self.declaration_specifiers()\r | |
1235 | self.state = 201\r | |
1236 | self._errHandler.sync(self)\r | |
1237 | _la = self._input.LA(1)\r | |
1238 | if ((((_la - 34)) & ~0x3f) == 0 and ((1 << (_la - 34)) & ((1 << (CParser.T__33 - 34)) | (1 << (CParser.T__34 - 34)) | (1 << (CParser.T__35 - 34)) | (1 << (CParser.T__37 - 34)) | (1 << (CParser.T__41 - 34)) | (1 << (CParser.IDENTIFIER - 34)))) != 0):\r | |
1239 | self.state = 200\r | |
1240 | localctx.t = self.init_declarator_list()\r | |
1241 | \r | |
1242 | \r | |
1243 | self.state = 203\r | |
1244 | localctx.e = self.match(CParser.T__1)\r | |
1245 | \r | |
1246 | if localctx.t is not None:\r | |
1247 | self.StoreVariableDeclaration((None if localctx.s is None else localctx.s.start).line, (None if localctx.s is None else localctx.s.start).column, (None if localctx.t is None else localctx.t.start).line, (None if localctx.t is None else localctx.t.start).column, (None if localctx.s is None else self._input.getText((localctx.s.start,localctx.s.stop))), (None if localctx.t is None else self._input.getText((localctx.t.start,localctx.t.stop))))\r | |
1248 | \r | |
1249 | pass\r | |
1250 | else:\r | |
1251 | raise NoViableAltException(self)\r | |
f51461c8 | 1252 | \r |
22c4de1a HC |
1253 | except RecognitionException as re:\r |
1254 | localctx.exception = re\r | |
1255 | self._errHandler.reportError(self, re)\r | |
1256 | self._errHandler.recover(self, re)\r | |
f51461c8 | 1257 | finally:\r |
22c4de1a HC |
1258 | self.exitRule()\r |
1259 | return localctx\r | |
f51461c8 | 1260 | \r |
22c4de1a | 1261 | class Init_declarator_listContext(ParserRuleContext):\r |
f51461c8 | 1262 | \r |
22c4de1a HC |
1263 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
1264 | super().__init__(parent, invokingState)\r | |
1265 | self.parser = parser\r | |
f51461c8 | 1266 | \r |
22c4de1a HC |
1267 | def init_declarator(self, i:int=None):\r |
1268 | if i is None:\r | |
1269 | return self.getTypedRuleContexts(CParser.Init_declaratorContext)\r | |
1270 | else:\r | |
1271 | return self.getTypedRuleContext(CParser.Init_declaratorContext,i)\r | |
f51461c8 LG |
1272 | \r |
1273 | \r | |
22c4de1a HC |
1274 | def getRuleIndex(self):\r |
1275 | return CParser.RULE_init_declarator_list\r | |
f51461c8 | 1276 | \r |
22c4de1a HC |
1277 | def enterRule(self, listener:ParseTreeListener):\r |
1278 | if hasattr( listener, "enterInit_declarator_list" ):\r | |
1279 | listener.enterInit_declarator_list(self)\r | |
f51461c8 | 1280 | \r |
22c4de1a HC |
1281 | def exitRule(self, listener:ParseTreeListener):\r |
1282 | if hasattr( listener, "exitInit_declarator_list" ):\r | |
1283 | listener.exitInit_declarator_list(self)\r | |
f51461c8 LG |
1284 | \r |
1285 | \r | |
f51461c8 LG |
1286 | \r |
1287 | \r | |
22c4de1a | 1288 | def init_declarator_list(self):\r |
f51461c8 | 1289 | \r |
22c4de1a HC |
1290 | localctx = CParser.Init_declarator_listContext(self, self._ctx, self.state)\r |
1291 | self.enterRule(localctx, 10, self.RULE_init_declarator_list)\r | |
1292 | self._la = 0 # Token type\r | |
1293 | try:\r | |
1294 | self.enterOuterAlt(localctx, 1)\r | |
1295 | self.state = 208\r | |
1296 | self.init_declarator()\r | |
1297 | self.state = 213\r | |
1298 | self._errHandler.sync(self)\r | |
1299 | _la = self._input.LA(1)\r | |
1300 | while _la==CParser.T__3:\r | |
1301 | self.state = 209\r | |
1302 | self.match(CParser.T__3)\r | |
1303 | self.state = 210\r | |
1304 | self.init_declarator()\r | |
1305 | self.state = 215\r | |
1306 | self._errHandler.sync(self)\r | |
1307 | _la = self._input.LA(1)\r | |
1308 | \r | |
1309 | except RecognitionException as re:\r | |
1310 | localctx.exception = re\r | |
1311 | self._errHandler.reportError(self, re)\r | |
1312 | self._errHandler.recover(self, re)\r | |
1313 | finally:\r | |
1314 | self.exitRule()\r | |
1315 | return localctx\r | |
f51461c8 | 1316 | \r |
22c4de1a | 1317 | class Init_declaratorContext(ParserRuleContext):\r |
f51461c8 | 1318 | \r |
22c4de1a HC |
1319 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
1320 | super().__init__(parent, invokingState)\r | |
1321 | self.parser = parser\r | |
f51461c8 | 1322 | \r |
22c4de1a HC |
1323 | def declarator(self):\r |
1324 | return self.getTypedRuleContext(CParser.DeclaratorContext,0)\r | |
f7496d71 | 1325 | \r |
f7496d71 | 1326 | \r |
22c4de1a HC |
1327 | def initializer(self):\r |
1328 | return self.getTypedRuleContext(CParser.InitializerContext,0)\r | |
f51461c8 LG |
1329 | \r |
1330 | \r | |
22c4de1a HC |
1331 | def getRuleIndex(self):\r |
1332 | return CParser.RULE_init_declarator\r | |
f51461c8 | 1333 | \r |
22c4de1a HC |
1334 | def enterRule(self, listener:ParseTreeListener):\r |
1335 | if hasattr( listener, "enterInit_declarator" ):\r | |
1336 | listener.enterInit_declarator(self)\r | |
f7496d71 | 1337 | \r |
22c4de1a HC |
1338 | def exitRule(self, listener:ParseTreeListener):\r |
1339 | if hasattr( listener, "exitInit_declarator" ):\r | |
1340 | listener.exitInit_declarator(self)\r | |
f7496d71 | 1341 | \r |
f51461c8 LG |
1342 | \r |
1343 | \r | |
1344 | \r | |
22c4de1a | 1345 | def init_declarator(self):\r |
f51461c8 | 1346 | \r |
22c4de1a HC |
1347 | localctx = CParser.Init_declaratorContext(self, self._ctx, self.state)\r |
1348 | self.enterRule(localctx, 12, self.RULE_init_declarator)\r | |
1349 | self._la = 0 # Token type\r | |
1350 | try:\r | |
1351 | self.enterOuterAlt(localctx, 1)\r | |
1352 | self.state = 216\r | |
1353 | self.declarator()\r | |
1354 | self.state = 219\r | |
1355 | self._errHandler.sync(self)\r | |
1356 | _la = self._input.LA(1)\r | |
1357 | if _la==CParser.T__4:\r | |
1358 | self.state = 217\r | |
1359 | self.match(CParser.T__4)\r | |
1360 | self.state = 218\r | |
1361 | self.initializer()\r | |
f51461c8 LG |
1362 | \r |
1363 | \r | |
22c4de1a HC |
1364 | except RecognitionException as re:\r |
1365 | localctx.exception = re\r | |
1366 | self._errHandler.reportError(self, re)\r | |
1367 | self._errHandler.recover(self, re)\r | |
f51461c8 | 1368 | finally:\r |
22c4de1a HC |
1369 | self.exitRule()\r |
1370 | return localctx\r | |
f51461c8 | 1371 | \r |
22c4de1a | 1372 | class Storage_class_specifierContext(ParserRuleContext):\r |
f51461c8 | 1373 | \r |
22c4de1a HC |
1374 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
1375 | super().__init__(parent, invokingState)\r | |
1376 | self.parser = parser\r | |
f51461c8 | 1377 | \r |
f51461c8 | 1378 | \r |
22c4de1a HC |
1379 | def getRuleIndex(self):\r |
1380 | return CParser.RULE_storage_class_specifier\r | |
f51461c8 | 1381 | \r |
22c4de1a HC |
1382 | def enterRule(self, listener:ParseTreeListener):\r |
1383 | if hasattr( listener, "enterStorage_class_specifier" ):\r | |
1384 | listener.enterStorage_class_specifier(self)\r | |
f51461c8 | 1385 | \r |
22c4de1a HC |
1386 | def exitRule(self, listener:ParseTreeListener):\r |
1387 | if hasattr( listener, "exitStorage_class_specifier" ):\r | |
1388 | listener.exitStorage_class_specifier(self)\r | |
f51461c8 | 1389 | \r |
f51461c8 LG |
1390 | \r |
1391 | \r | |
1392 | \r | |
22c4de1a | 1393 | def storage_class_specifier(self):\r |
f51461c8 | 1394 | \r |
22c4de1a HC |
1395 | localctx = CParser.Storage_class_specifierContext(self, self._ctx, self.state)\r |
1396 | self.enterRule(localctx, 14, self.RULE_storage_class_specifier)\r | |
1397 | self._la = 0 # Token type\r | |
1398 | try:\r | |
1399 | self.enterOuterAlt(localctx, 1)\r | |
1400 | self.state = 221\r | |
1401 | _la = self._input.LA(1)\r | |
1402 | if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__5) | (1 << CParser.T__6) | (1 << CParser.T__7) | (1 << CParser.T__8) | (1 << CParser.T__9))) != 0)):\r | |
1403 | self._errHandler.recoverInline(self)\r | |
1404 | else:\r | |
1405 | self._errHandler.reportMatch(self)\r | |
1406 | self.consume()\r | |
1407 | except RecognitionException as re:\r | |
1408 | localctx.exception = re\r | |
1409 | self._errHandler.reportError(self, re)\r | |
1410 | self._errHandler.recover(self, re)\r | |
f51461c8 | 1411 | finally:\r |
22c4de1a HC |
1412 | self.exitRule()\r |
1413 | return localctx\r | |
f51461c8 | 1414 | \r |
22c4de1a | 1415 | class Type_specifierContext(ParserRuleContext):\r |
f51461c8 | 1416 | \r |
22c4de1a HC |
1417 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
1418 | super().__init__(parent, invokingState)\r | |
1419 | self.parser = parser\r | |
1420 | self.s = None # Struct_or_union_specifierContext\r | |
1421 | self.e = None # Enum_specifierContext\r | |
f51461c8 | 1422 | \r |
22c4de1a HC |
1423 | def struct_or_union_specifier(self):\r |
1424 | return self.getTypedRuleContext(CParser.Struct_or_union_specifierContext,0)\r | |
f51461c8 LG |
1425 | \r |
1426 | \r | |
22c4de1a HC |
1427 | def enum_specifier(self):\r |
1428 | return self.getTypedRuleContext(CParser.Enum_specifierContext,0)\r | |
f51461c8 | 1429 | \r |
f51461c8 | 1430 | \r |
22c4de1a HC |
1431 | def IDENTIFIER(self):\r |
1432 | return self.getToken(CParser.IDENTIFIER, 0)\r | |
f51461c8 | 1433 | \r |
22c4de1a HC |
1434 | def declarator(self):\r |
1435 | return self.getTypedRuleContext(CParser.DeclaratorContext,0)\r | |
f51461c8 | 1436 | \r |
f51461c8 | 1437 | \r |
22c4de1a HC |
1438 | def type_qualifier(self, i:int=None):\r |
1439 | if i is None:\r | |
1440 | return self.getTypedRuleContexts(CParser.Type_qualifierContext)\r | |
1441 | else:\r | |
1442 | return self.getTypedRuleContext(CParser.Type_qualifierContext,i)\r | |
f51461c8 | 1443 | \r |
f51461c8 | 1444 | \r |
22c4de1a HC |
1445 | def type_id(self):\r |
1446 | return self.getTypedRuleContext(CParser.Type_idContext,0)\r | |
f51461c8 | 1447 | \r |
f51461c8 | 1448 | \r |
22c4de1a HC |
1449 | def getRuleIndex(self):\r |
1450 | return CParser.RULE_type_specifier\r | |
f51461c8 | 1451 | \r |
22c4de1a HC |
1452 | def enterRule(self, listener:ParseTreeListener):\r |
1453 | if hasattr( listener, "enterType_specifier" ):\r | |
1454 | listener.enterType_specifier(self)\r | |
f51461c8 | 1455 | \r |
22c4de1a HC |
1456 | def exitRule(self, listener:ParseTreeListener):\r |
1457 | if hasattr( listener, "exitType_specifier" ):\r | |
1458 | listener.exitType_specifier(self)\r | |
f51461c8 | 1459 | \r |
f51461c8 | 1460 | \r |
f51461c8 LG |
1461 | \r |
1462 | \r | |
22c4de1a | 1463 | def type_specifier(self):\r |
f51461c8 | 1464 | \r |
22c4de1a HC |
1465 | localctx = CParser.Type_specifierContext(self, self._ctx, self.state)\r |
1466 | self.enterRule(localctx, 16, self.RULE_type_specifier)\r | |
f51461c8 | 1467 | try:\r |
22c4de1a HC |
1468 | self.state = 247\r |
1469 | self._errHandler.sync(self)\r | |
1470 | la_ = self._interp.adaptivePredict(self._input,16,self._ctx)\r | |
1471 | if la_ == 1:\r | |
1472 | self.enterOuterAlt(localctx, 1)\r | |
1473 | self.state = 223\r | |
1474 | self.match(CParser.T__10)\r | |
1475 | pass\r | |
1476 | \r | |
1477 | elif la_ == 2:\r | |
1478 | self.enterOuterAlt(localctx, 2)\r | |
1479 | self.state = 224\r | |
1480 | self.match(CParser.T__11)\r | |
1481 | pass\r | |
1482 | \r | |
1483 | elif la_ == 3:\r | |
1484 | self.enterOuterAlt(localctx, 3)\r | |
1485 | self.state = 225\r | |
1486 | self.match(CParser.T__12)\r | |
1487 | pass\r | |
1488 | \r | |
1489 | elif la_ == 4:\r | |
1490 | self.enterOuterAlt(localctx, 4)\r | |
1491 | self.state = 226\r | |
1492 | self.match(CParser.T__13)\r | |
1493 | pass\r | |
1494 | \r | |
1495 | elif la_ == 5:\r | |
1496 | self.enterOuterAlt(localctx, 5)\r | |
1497 | self.state = 227\r | |
1498 | self.match(CParser.T__14)\r | |
1499 | pass\r | |
1500 | \r | |
1501 | elif la_ == 6:\r | |
1502 | self.enterOuterAlt(localctx, 6)\r | |
1503 | self.state = 228\r | |
1504 | self.match(CParser.T__15)\r | |
1505 | pass\r | |
1506 | \r | |
1507 | elif la_ == 7:\r | |
1508 | self.enterOuterAlt(localctx, 7)\r | |
1509 | self.state = 229\r | |
1510 | self.match(CParser.T__16)\r | |
1511 | pass\r | |
1512 | \r | |
1513 | elif la_ == 8:\r | |
1514 | self.enterOuterAlt(localctx, 8)\r | |
1515 | self.state = 230\r | |
1516 | self.match(CParser.T__17)\r | |
1517 | pass\r | |
1518 | \r | |
1519 | elif la_ == 9:\r | |
1520 | self.enterOuterAlt(localctx, 9)\r | |
1521 | self.state = 231\r | |
1522 | self.match(CParser.T__18)\r | |
1523 | pass\r | |
1524 | \r | |
1525 | elif la_ == 10:\r | |
1526 | self.enterOuterAlt(localctx, 10)\r | |
1527 | self.state = 232\r | |
1528 | localctx.s = self.struct_or_union_specifier()\r | |
1529 | \r | |
1530 | if localctx.s.stop is not None:\r | |
1531 | self.StoreStructUnionDefinition((None if localctx.s is None else localctx.s.start).line, (None if localctx.s is None else localctx.s.start).column, (None if localctx.s is None else localctx.s.stop).line, (None if localctx.s is None else localctx.s.stop).column, (None if localctx.s is None else self._input.getText((localctx.s.start,localctx.s.stop))))\r | |
1532 | \r | |
1533 | pass\r | |
1534 | \r | |
1535 | elif la_ == 11:\r | |
1536 | self.enterOuterAlt(localctx, 11)\r | |
1537 | self.state = 235\r | |
1538 | localctx.e = self.enum_specifier()\r | |
1539 | \r | |
1540 | if localctx.e.stop is not None:\r | |
1541 | self.StoreEnumerationDefinition((None if localctx.e is None else localctx.e.start).line, (None if localctx.e is None else localctx.e.start).column, (None if localctx.e is None else localctx.e.stop).line, (None if localctx.e is None else localctx.e.stop).column, (None if localctx.e is None else self._input.getText((localctx.e.start,localctx.e.stop))))\r | |
1542 | \r | |
1543 | pass\r | |
1544 | \r | |
1545 | elif la_ == 12:\r | |
1546 | self.enterOuterAlt(localctx, 12)\r | |
1547 | self.state = 238\r | |
1548 | self.match(CParser.IDENTIFIER)\r | |
1549 | self.state = 242\r | |
1550 | self._errHandler.sync(self)\r | |
1551 | _alt = self._interp.adaptivePredict(self._input,15,self._ctx)\r | |
1552 | while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:\r | |
1553 | if _alt==1:\r | |
1554 | self.state = 239\r | |
1555 | self.type_qualifier() \r | |
1556 | self.state = 244\r | |
1557 | self._errHandler.sync(self)\r | |
1558 | _alt = self._interp.adaptivePredict(self._input,15,self._ctx)\r | |
1559 | \r | |
1560 | self.state = 245\r | |
1561 | self.declarator()\r | |
1562 | pass\r | |
f51461c8 | 1563 | \r |
22c4de1a HC |
1564 | elif la_ == 13:\r |
1565 | self.enterOuterAlt(localctx, 13)\r | |
1566 | self.state = 246\r | |
1567 | self.type_id()\r | |
1568 | pass\r | |
f51461c8 LG |
1569 | \r |
1570 | \r | |
22c4de1a HC |
1571 | except RecognitionException as re:\r |
1572 | localctx.exception = re\r | |
1573 | self._errHandler.reportError(self, re)\r | |
1574 | self._errHandler.recover(self, re)\r | |
f51461c8 | 1575 | finally:\r |
22c4de1a HC |
1576 | self.exitRule()\r |
1577 | return localctx\r | |
f51461c8 | 1578 | \r |
22c4de1a | 1579 | class Type_idContext(ParserRuleContext):\r |
f51461c8 | 1580 | \r |
22c4de1a HC |
1581 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
1582 | super().__init__(parent, invokingState)\r | |
1583 | self.parser = parser\r | |
f51461c8 | 1584 | \r |
22c4de1a HC |
1585 | def IDENTIFIER(self):\r |
1586 | return self.getToken(CParser.IDENTIFIER, 0)\r | |
f51461c8 | 1587 | \r |
22c4de1a HC |
1588 | def getRuleIndex(self):\r |
1589 | return CParser.RULE_type_id\r | |
f51461c8 | 1590 | \r |
22c4de1a HC |
1591 | def enterRule(self, listener:ParseTreeListener):\r |
1592 | if hasattr( listener, "enterType_id" ):\r | |
1593 | listener.enterType_id(self)\r | |
f51461c8 | 1594 | \r |
22c4de1a HC |
1595 | def exitRule(self, listener:ParseTreeListener):\r |
1596 | if hasattr( listener, "exitType_id" ):\r | |
1597 | listener.exitType_id(self)\r | |
f51461c8 | 1598 | \r |
f51461c8 LG |
1599 | \r |
1600 | \r | |
f51461c8 | 1601 | \r |
22c4de1a | 1602 | def type_id(self):\r |
f51461c8 | 1603 | \r |
22c4de1a HC |
1604 | localctx = CParser.Type_idContext(self, self._ctx, self.state)\r |
1605 | self.enterRule(localctx, 18, self.RULE_type_id)\r | |
f51461c8 | 1606 | try:\r |
22c4de1a HC |
1607 | self.enterOuterAlt(localctx, 1)\r |
1608 | self.state = 249\r | |
1609 | self.match(CParser.IDENTIFIER)\r | |
1610 | except RecognitionException as re:\r | |
1611 | localctx.exception = re\r | |
1612 | self._errHandler.reportError(self, re)\r | |
1613 | self._errHandler.recover(self, re)\r | |
f51461c8 | 1614 | finally:\r |
22c4de1a HC |
1615 | self.exitRule()\r |
1616 | return localctx\r | |
f51461c8 | 1617 | \r |
22c4de1a | 1618 | class Struct_or_union_specifierContext(ParserRuleContext):\r |
f51461c8 | 1619 | \r |
22c4de1a HC |
1620 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
1621 | super().__init__(parent, invokingState)\r | |
1622 | self.parser = parser\r | |
f51461c8 | 1623 | \r |
22c4de1a HC |
1624 | def struct_or_union(self):\r |
1625 | return self.getTypedRuleContext(CParser.Struct_or_unionContext,0)\r | |
f51461c8 | 1626 | \r |
f51461c8 | 1627 | \r |
22c4de1a HC |
1628 | def struct_declaration_list(self):\r |
1629 | return self.getTypedRuleContext(CParser.Struct_declaration_listContext,0)\r | |
f51461c8 LG |
1630 | \r |
1631 | \r | |
22c4de1a HC |
1632 | def IDENTIFIER(self):\r |
1633 | return self.getToken(CParser.IDENTIFIER, 0)\r | |
f51461c8 | 1634 | \r |
22c4de1a HC |
1635 | def getRuleIndex(self):\r |
1636 | return CParser.RULE_struct_or_union_specifier\r | |
f51461c8 | 1637 | \r |
22c4de1a HC |
1638 | def enterRule(self, listener:ParseTreeListener):\r |
1639 | if hasattr( listener, "enterStruct_or_union_specifier" ):\r | |
1640 | listener.enterStruct_or_union_specifier(self)\r | |
f51461c8 | 1641 | \r |
22c4de1a HC |
1642 | def exitRule(self, listener:ParseTreeListener):\r |
1643 | if hasattr( listener, "exitStruct_or_union_specifier" ):\r | |
1644 | listener.exitStruct_or_union_specifier(self)\r | |
f51461c8 | 1645 | \r |
f51461c8 LG |
1646 | \r |
1647 | \r | |
f51461c8 | 1648 | \r |
22c4de1a | 1649 | def struct_or_union_specifier(self):\r |
f51461c8 | 1650 | \r |
22c4de1a HC |
1651 | localctx = CParser.Struct_or_union_specifierContext(self, self._ctx, self.state)\r |
1652 | self.enterRule(localctx, 20, self.RULE_struct_or_union_specifier)\r | |
1653 | self._la = 0 # Token type\r | |
1654 | try:\r | |
1655 | self.state = 262\r | |
1656 | self._errHandler.sync(self)\r | |
1657 | la_ = self._interp.adaptivePredict(self._input,18,self._ctx)\r | |
1658 | if la_ == 1:\r | |
1659 | self.enterOuterAlt(localctx, 1)\r | |
1660 | self.state = 251\r | |
1661 | self.struct_or_union()\r | |
1662 | self.state = 253\r | |
1663 | self._errHandler.sync(self)\r | |
1664 | _la = self._input.LA(1)\r | |
1665 | if _la==CParser.IDENTIFIER:\r | |
1666 | self.state = 252\r | |
1667 | self.match(CParser.IDENTIFIER)\r | |
1668 | \r | |
1669 | \r | |
1670 | self.state = 255\r | |
1671 | self.match(CParser.T__0)\r | |
1672 | self.state = 256\r | |
1673 | self.struct_declaration_list()\r | |
1674 | self.state = 257\r | |
1675 | self.match(CParser.T__19)\r | |
1676 | pass\r | |
1677 | \r | |
1678 | elif la_ == 2:\r | |
1679 | self.enterOuterAlt(localctx, 2)\r | |
1680 | self.state = 259\r | |
1681 | self.struct_or_union()\r | |
1682 | self.state = 260\r | |
1683 | self.match(CParser.IDENTIFIER)\r | |
1684 | pass\r | |
1685 | \r | |
1686 | \r | |
1687 | except RecognitionException as re:\r | |
1688 | localctx.exception = re\r | |
1689 | self._errHandler.reportError(self, re)\r | |
1690 | self._errHandler.recover(self, re)\r | |
1691 | finally:\r | |
1692 | self.exitRule()\r | |
1693 | return localctx\r | |
f51461c8 | 1694 | \r |
22c4de1a | 1695 | class Struct_or_unionContext(ParserRuleContext):\r |
f51461c8 | 1696 | \r |
22c4de1a HC |
1697 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
1698 | super().__init__(parent, invokingState)\r | |
1699 | self.parser = parser\r | |
f51461c8 LG |
1700 | \r |
1701 | \r | |
22c4de1a HC |
1702 | def getRuleIndex(self):\r |
1703 | return CParser.RULE_struct_or_union\r | |
f51461c8 | 1704 | \r |
22c4de1a HC |
1705 | def enterRule(self, listener:ParseTreeListener):\r |
1706 | if hasattr( listener, "enterStruct_or_union" ):\r | |
1707 | listener.enterStruct_or_union(self)\r | |
f51461c8 | 1708 | \r |
22c4de1a HC |
1709 | def exitRule(self, listener:ParseTreeListener):\r |
1710 | if hasattr( listener, "exitStruct_or_union" ):\r | |
1711 | listener.exitStruct_or_union(self)\r | |
f51461c8 | 1712 | \r |
f51461c8 | 1713 | \r |
f51461c8 LG |
1714 | \r |
1715 | \r | |
22c4de1a | 1716 | def struct_or_union(self):\r |
f51461c8 | 1717 | \r |
22c4de1a HC |
1718 | localctx = CParser.Struct_or_unionContext(self, self._ctx, self.state)\r |
1719 | self.enterRule(localctx, 22, self.RULE_struct_or_union)\r | |
1720 | self._la = 0 # Token type\r | |
1721 | try:\r | |
1722 | self.enterOuterAlt(localctx, 1)\r | |
1723 | self.state = 264\r | |
1724 | _la = self._input.LA(1)\r | |
1725 | if not(_la==CParser.T__20 or _la==CParser.T__21):\r | |
1726 | self._errHandler.recoverInline(self)\r | |
1727 | else:\r | |
1728 | self._errHandler.reportMatch(self)\r | |
1729 | self.consume()\r | |
1730 | except RecognitionException as re:\r | |
1731 | localctx.exception = re\r | |
1732 | self._errHandler.reportError(self, re)\r | |
1733 | self._errHandler.recover(self, re)\r | |
1734 | finally:\r | |
1735 | self.exitRule()\r | |
1736 | return localctx\r | |
f51461c8 | 1737 | \r |
22c4de1a | 1738 | class Struct_declaration_listContext(ParserRuleContext):\r |
f51461c8 | 1739 | \r |
22c4de1a HC |
1740 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
1741 | super().__init__(parent, invokingState)\r | |
1742 | self.parser = parser\r | |
f51461c8 | 1743 | \r |
22c4de1a HC |
1744 | def struct_declaration(self, i:int=None):\r |
1745 | if i is None:\r | |
1746 | return self.getTypedRuleContexts(CParser.Struct_declarationContext)\r | |
1747 | else:\r | |
1748 | return self.getTypedRuleContext(CParser.Struct_declarationContext,i)\r | |
f51461c8 LG |
1749 | \r |
1750 | \r | |
22c4de1a HC |
1751 | def getRuleIndex(self):\r |
1752 | return CParser.RULE_struct_declaration_list\r | |
f51461c8 | 1753 | \r |
22c4de1a HC |
1754 | def enterRule(self, listener:ParseTreeListener):\r |
1755 | if hasattr( listener, "enterStruct_declaration_list" ):\r | |
1756 | listener.enterStruct_declaration_list(self)\r | |
f51461c8 | 1757 | \r |
22c4de1a HC |
1758 | def exitRule(self, listener:ParseTreeListener):\r |
1759 | if hasattr( listener, "exitStruct_declaration_list" ):\r | |
1760 | listener.exitStruct_declaration_list(self)\r | |
f51461c8 | 1761 | \r |
f51461c8 | 1762 | \r |
f51461c8 LG |
1763 | \r |
1764 | \r | |
22c4de1a | 1765 | def struct_declaration_list(self):\r |
f51461c8 | 1766 | \r |
22c4de1a HC |
1767 | localctx = CParser.Struct_declaration_listContext(self, self._ctx, self.state)\r |
1768 | self.enterRule(localctx, 24, self.RULE_struct_declaration_list)\r | |
1769 | self._la = 0 # Token type\r | |
1770 | try:\r | |
1771 | self.enterOuterAlt(localctx, 1)\r | |
1772 | self.state = 267 \r | |
1773 | self._errHandler.sync(self)\r | |
1774 | _la = self._input.LA(1)\r | |
1775 | while True:\r | |
1776 | self.state = 266\r | |
1777 | self.struct_declaration()\r | |
1778 | self.state = 269 \r | |
1779 | self._errHandler.sync(self)\r | |
1780 | _la = self._input.LA(1)\r | |
1781 | if not ((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__10) | (1 << CParser.T__11) | (1 << CParser.T__12) | (1 << CParser.T__13) | (1 << CParser.T__14) | (1 << CParser.T__15) | (1 << CParser.T__16) | (1 << CParser.T__17) | (1 << CParser.T__18) | (1 << CParser.T__20) | (1 << CParser.T__21) | (1 << CParser.T__23) | (1 << CParser.T__24) | (1 << CParser.T__25) | (1 << CParser.T__26) | (1 << CParser.T__27) | (1 << CParser.T__28) | (1 << CParser.T__29) | (1 << CParser.T__30) | (1 << CParser.T__31) | (1 << CParser.T__32) | (1 << CParser.T__33) | (1 << CParser.T__34) | (1 << CParser.T__35) | (1 << CParser.T__36))) != 0) or _la==CParser.IDENTIFIER):\r | |
1782 | break\r | |
1783 | \r | |
1784 | except RecognitionException as re:\r | |
1785 | localctx.exception = re\r | |
1786 | self._errHandler.reportError(self, re)\r | |
1787 | self._errHandler.recover(self, re)\r | |
1788 | finally:\r | |
1789 | self.exitRule()\r | |
1790 | return localctx\r | |
f51461c8 | 1791 | \r |
22c4de1a | 1792 | class Struct_declarationContext(ParserRuleContext):\r |
f51461c8 | 1793 | \r |
22c4de1a HC |
1794 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
1795 | super().__init__(parent, invokingState)\r | |
1796 | self.parser = parser\r | |
f51461c8 | 1797 | \r |
22c4de1a HC |
1798 | def specifier_qualifier_list(self):\r |
1799 | return self.getTypedRuleContext(CParser.Specifier_qualifier_listContext,0)\r | |
f51461c8 | 1800 | \r |
f51461c8 | 1801 | \r |
22c4de1a HC |
1802 | def struct_declarator_list(self):\r |
1803 | return self.getTypedRuleContext(CParser.Struct_declarator_listContext,0)\r | |
f51461c8 | 1804 | \r |
f51461c8 | 1805 | \r |
22c4de1a HC |
1806 | def getRuleIndex(self):\r |
1807 | return CParser.RULE_struct_declaration\r | |
f51461c8 | 1808 | \r |
22c4de1a HC |
1809 | def enterRule(self, listener:ParseTreeListener):\r |
1810 | if hasattr( listener, "enterStruct_declaration" ):\r | |
1811 | listener.enterStruct_declaration(self)\r | |
f51461c8 | 1812 | \r |
22c4de1a HC |
1813 | def exitRule(self, listener:ParseTreeListener):\r |
1814 | if hasattr( listener, "exitStruct_declaration" ):\r | |
1815 | listener.exitStruct_declaration(self)\r | |
f51461c8 | 1816 | \r |
f51461c8 LG |
1817 | \r |
1818 | \r | |
f51461c8 | 1819 | \r |
22c4de1a | 1820 | def struct_declaration(self):\r |
f51461c8 | 1821 | \r |
22c4de1a HC |
1822 | localctx = CParser.Struct_declarationContext(self, self._ctx, self.state)\r |
1823 | self.enterRule(localctx, 26, self.RULE_struct_declaration)\r | |
1824 | try:\r | |
1825 | self.enterOuterAlt(localctx, 1)\r | |
1826 | self.state = 271\r | |
1827 | self.specifier_qualifier_list()\r | |
1828 | self.state = 272\r | |
1829 | self.struct_declarator_list()\r | |
1830 | self.state = 273\r | |
1831 | self.match(CParser.T__1)\r | |
1832 | except RecognitionException as re:\r | |
1833 | localctx.exception = re\r | |
1834 | self._errHandler.reportError(self, re)\r | |
1835 | self._errHandler.recover(self, re)\r | |
1836 | finally:\r | |
1837 | self.exitRule()\r | |
1838 | return localctx\r | |
f51461c8 | 1839 | \r |
22c4de1a | 1840 | class Specifier_qualifier_listContext(ParserRuleContext):\r |
f51461c8 | 1841 | \r |
22c4de1a HC |
1842 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
1843 | super().__init__(parent, invokingState)\r | |
1844 | self.parser = parser\r | |
f51461c8 | 1845 | \r |
22c4de1a HC |
1846 | def type_qualifier(self, i:int=None):\r |
1847 | if i is None:\r | |
1848 | return self.getTypedRuleContexts(CParser.Type_qualifierContext)\r | |
1849 | else:\r | |
1850 | return self.getTypedRuleContext(CParser.Type_qualifierContext,i)\r | |
f51461c8 | 1851 | \r |
f51461c8 | 1852 | \r |
22c4de1a HC |
1853 | def type_specifier(self, i:int=None):\r |
1854 | if i is None:\r | |
1855 | return self.getTypedRuleContexts(CParser.Type_specifierContext)\r | |
1856 | else:\r | |
1857 | return self.getTypedRuleContext(CParser.Type_specifierContext,i)\r | |
f51461c8 LG |
1858 | \r |
1859 | \r | |
22c4de1a HC |
1860 | def getRuleIndex(self):\r |
1861 | return CParser.RULE_specifier_qualifier_list\r | |
f51461c8 | 1862 | \r |
22c4de1a HC |
1863 | def enterRule(self, listener:ParseTreeListener):\r |
1864 | if hasattr( listener, "enterSpecifier_qualifier_list" ):\r | |
1865 | listener.enterSpecifier_qualifier_list(self)\r | |
f51461c8 | 1866 | \r |
22c4de1a HC |
1867 | def exitRule(self, listener:ParseTreeListener):\r |
1868 | if hasattr( listener, "exitSpecifier_qualifier_list" ):\r | |
1869 | listener.exitSpecifier_qualifier_list(self)\r | |
f51461c8 | 1870 | \r |
f51461c8 | 1871 | \r |
f51461c8 LG |
1872 | \r |
1873 | \r | |
22c4de1a | 1874 | def specifier_qualifier_list(self):\r |
f51461c8 | 1875 | \r |
22c4de1a HC |
1876 | localctx = CParser.Specifier_qualifier_listContext(self, self._ctx, self.state)\r |
1877 | self.enterRule(localctx, 28, self.RULE_specifier_qualifier_list)\r | |
1878 | try:\r | |
1879 | self.enterOuterAlt(localctx, 1)\r | |
1880 | self.state = 277 \r | |
1881 | self._errHandler.sync(self)\r | |
1882 | _alt = 1\r | |
1883 | while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:\r | |
1884 | if _alt == 1:\r | |
1885 | self.state = 277\r | |
1886 | self._errHandler.sync(self)\r | |
1887 | token = self._input.LA(1)\r | |
1888 | if token in [CParser.T__24, CParser.T__25, CParser.T__26, CParser.T__27, CParser.T__28, CParser.T__29, CParser.T__30, CParser.T__31, CParser.T__32, CParser.T__33, CParser.T__34, CParser.T__35, CParser.T__36]:\r | |
1889 | self.state = 275\r | |
1890 | self.type_qualifier()\r | |
1891 | pass\r | |
1892 | elif token in [CParser.T__10, CParser.T__11, CParser.T__12, CParser.T__13, CParser.T__14, CParser.T__15, CParser.T__16, CParser.T__17, CParser.T__18, CParser.T__20, CParser.T__21, CParser.T__23, CParser.IDENTIFIER]:\r | |
1893 | self.state = 276\r | |
1894 | self.type_specifier()\r | |
1895 | pass\r | |
1896 | else:\r | |
1897 | raise NoViableAltException(self)\r | |
f51461c8 LG |
1898 | \r |
1899 | \r | |
22c4de1a HC |
1900 | else:\r |
1901 | raise NoViableAltException(self)\r | |
1902 | self.state = 279 \r | |
1903 | self._errHandler.sync(self)\r | |
1904 | _alt = self._interp.adaptivePredict(self._input,21,self._ctx)\r | |
1905 | \r | |
1906 | except RecognitionException as re:\r | |
1907 | localctx.exception = re\r | |
1908 | self._errHandler.reportError(self, re)\r | |
1909 | self._errHandler.recover(self, re)\r | |
1910 | finally:\r | |
1911 | self.exitRule()\r | |
1912 | return localctx\r | |
f51461c8 | 1913 | \r |
22c4de1a | 1914 | class Struct_declarator_listContext(ParserRuleContext):\r |
f51461c8 | 1915 | \r |
22c4de1a HC |
1916 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
1917 | super().__init__(parent, invokingState)\r | |
1918 | self.parser = parser\r | |
f51461c8 | 1919 | \r |
22c4de1a HC |
1920 | def struct_declarator(self, i:int=None):\r |
1921 | if i is None:\r | |
1922 | return self.getTypedRuleContexts(CParser.Struct_declaratorContext)\r | |
1923 | else:\r | |
1924 | return self.getTypedRuleContext(CParser.Struct_declaratorContext,i)\r | |
f51461c8 | 1925 | \r |
f51461c8 | 1926 | \r |
22c4de1a HC |
1927 | def getRuleIndex(self):\r |
1928 | return CParser.RULE_struct_declarator_list\r | |
f51461c8 | 1929 | \r |
22c4de1a HC |
1930 | def enterRule(self, listener:ParseTreeListener):\r |
1931 | if hasattr( listener, "enterStruct_declarator_list" ):\r | |
1932 | listener.enterStruct_declarator_list(self)\r | |
f51461c8 | 1933 | \r |
22c4de1a HC |
1934 | def exitRule(self, listener:ParseTreeListener):\r |
1935 | if hasattr( listener, "exitStruct_declarator_list" ):\r | |
1936 | listener.exitStruct_declarator_list(self)\r | |
f51461c8 LG |
1937 | \r |
1938 | \r | |
f51461c8 | 1939 | \r |
f51461c8 | 1940 | \r |
22c4de1a | 1941 | def struct_declarator_list(self):\r |
f51461c8 | 1942 | \r |
22c4de1a HC |
1943 | localctx = CParser.Struct_declarator_listContext(self, self._ctx, self.state)\r |
1944 | self.enterRule(localctx, 30, self.RULE_struct_declarator_list)\r | |
1945 | self._la = 0 # Token type\r | |
1946 | try:\r | |
1947 | self.enterOuterAlt(localctx, 1)\r | |
1948 | self.state = 281\r | |
1949 | self.struct_declarator()\r | |
1950 | self.state = 286\r | |
1951 | self._errHandler.sync(self)\r | |
1952 | _la = self._input.LA(1)\r | |
1953 | while _la==CParser.T__3:\r | |
1954 | self.state = 282\r | |
1955 | self.match(CParser.T__3)\r | |
1956 | self.state = 283\r | |
1957 | self.struct_declarator()\r | |
1958 | self.state = 288\r | |
1959 | self._errHandler.sync(self)\r | |
1960 | _la = self._input.LA(1)\r | |
1961 | \r | |
1962 | except RecognitionException as re:\r | |
1963 | localctx.exception = re\r | |
1964 | self._errHandler.reportError(self, re)\r | |
1965 | self._errHandler.recover(self, re)\r | |
1966 | finally:\r | |
1967 | self.exitRule()\r | |
1968 | return localctx\r | |
f51461c8 | 1969 | \r |
22c4de1a | 1970 | class Struct_declaratorContext(ParserRuleContext):\r |
f51461c8 | 1971 | \r |
22c4de1a HC |
1972 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
1973 | super().__init__(parent, invokingState)\r | |
1974 | self.parser = parser\r | |
f51461c8 | 1975 | \r |
22c4de1a HC |
1976 | def declarator(self):\r |
1977 | return self.getTypedRuleContext(CParser.DeclaratorContext,0)\r | |
f51461c8 | 1978 | \r |
f51461c8 | 1979 | \r |
22c4de1a HC |
1980 | def constant_expression(self):\r |
1981 | return self.getTypedRuleContext(CParser.Constant_expressionContext,0)\r | |
f51461c8 | 1982 | \r |
f51461c8 | 1983 | \r |
22c4de1a HC |
1984 | def getRuleIndex(self):\r |
1985 | return CParser.RULE_struct_declarator\r | |
f51461c8 | 1986 | \r |
22c4de1a HC |
1987 | def enterRule(self, listener:ParseTreeListener):\r |
1988 | if hasattr( listener, "enterStruct_declarator" ):\r | |
1989 | listener.enterStruct_declarator(self)\r | |
f51461c8 | 1990 | \r |
22c4de1a HC |
1991 | def exitRule(self, listener:ParseTreeListener):\r |
1992 | if hasattr( listener, "exitStruct_declarator" ):\r | |
1993 | listener.exitStruct_declarator(self)\r | |
f51461c8 | 1994 | \r |
f51461c8 LG |
1995 | \r |
1996 | \r | |
f51461c8 | 1997 | \r |
22c4de1a | 1998 | def struct_declarator(self):\r |
f51461c8 | 1999 | \r |
22c4de1a HC |
2000 | localctx = CParser.Struct_declaratorContext(self, self._ctx, self.state)\r |
2001 | self.enterRule(localctx, 32, self.RULE_struct_declarator)\r | |
2002 | self._la = 0 # Token type\r | |
2003 | try:\r | |
2004 | self.state = 296\r | |
2005 | self._errHandler.sync(self)\r | |
2006 | token = self._input.LA(1)\r | |
2007 | if token in [CParser.T__33, CParser.T__34, CParser.T__35, CParser.T__37, CParser.T__41, CParser.IDENTIFIER]:\r | |
2008 | self.enterOuterAlt(localctx, 1)\r | |
2009 | self.state = 289\r | |
2010 | self.declarator()\r | |
2011 | self.state = 292\r | |
2012 | self._errHandler.sync(self)\r | |
2013 | _la = self._input.LA(1)\r | |
2014 | if _la==CParser.T__22:\r | |
2015 | self.state = 290\r | |
2016 | self.match(CParser.T__22)\r | |
2017 | self.state = 291\r | |
2018 | self.constant_expression()\r | |
f51461c8 | 2019 | \r |
f51461c8 | 2020 | \r |
22c4de1a HC |
2021 | pass\r |
2022 | elif token in [CParser.T__22]:\r | |
2023 | self.enterOuterAlt(localctx, 2)\r | |
2024 | self.state = 294\r | |
2025 | self.match(CParser.T__22)\r | |
2026 | self.state = 295\r | |
2027 | self.constant_expression()\r | |
2028 | pass\r | |
2029 | else:\r | |
2030 | raise NoViableAltException(self)\r | |
f51461c8 | 2031 | \r |
22c4de1a HC |
2032 | except RecognitionException as re:\r |
2033 | localctx.exception = re\r | |
2034 | self._errHandler.reportError(self, re)\r | |
2035 | self._errHandler.recover(self, re)\r | |
2036 | finally:\r | |
2037 | self.exitRule()\r | |
2038 | return localctx\r | |
f51461c8 | 2039 | \r |
22c4de1a | 2040 | class Enum_specifierContext(ParserRuleContext):\r |
f51461c8 | 2041 | \r |
22c4de1a HC |
2042 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
2043 | super().__init__(parent, invokingState)\r | |
2044 | self.parser = parser\r | |
f51461c8 | 2045 | \r |
22c4de1a HC |
2046 | def enumerator_list(self):\r |
2047 | return self.getTypedRuleContext(CParser.Enumerator_listContext,0)\r | |
f51461c8 | 2048 | \r |
f51461c8 | 2049 | \r |
22c4de1a HC |
2050 | def IDENTIFIER(self):\r |
2051 | return self.getToken(CParser.IDENTIFIER, 0)\r | |
f51461c8 | 2052 | \r |
22c4de1a HC |
2053 | def getRuleIndex(self):\r |
2054 | return CParser.RULE_enum_specifier\r | |
f51461c8 | 2055 | \r |
22c4de1a HC |
2056 | def enterRule(self, listener:ParseTreeListener):\r |
2057 | if hasattr( listener, "enterEnum_specifier" ):\r | |
2058 | listener.enterEnum_specifier(self)\r | |
f51461c8 | 2059 | \r |
22c4de1a HC |
2060 | def exitRule(self, listener:ParseTreeListener):\r |
2061 | if hasattr( listener, "exitEnum_specifier" ):\r | |
2062 | listener.exitEnum_specifier(self)\r | |
f51461c8 | 2063 | \r |
f51461c8 LG |
2064 | \r |
2065 | \r | |
f51461c8 | 2066 | \r |
22c4de1a | 2067 | def enum_specifier(self):\r |
f51461c8 | 2068 | \r |
22c4de1a HC |
2069 | localctx = CParser.Enum_specifierContext(self, self._ctx, self.state)\r |
2070 | self.enterRule(localctx, 34, self.RULE_enum_specifier)\r | |
2071 | self._la = 0 # Token type\r | |
2072 | try:\r | |
2073 | self.state = 317\r | |
2074 | self._errHandler.sync(self)\r | |
2075 | la_ = self._interp.adaptivePredict(self._input,27,self._ctx)\r | |
2076 | if la_ == 1:\r | |
2077 | self.enterOuterAlt(localctx, 1)\r | |
2078 | self.state = 298\r | |
2079 | self.match(CParser.T__23)\r | |
2080 | self.state = 299\r | |
2081 | self.match(CParser.T__0)\r | |
2082 | self.state = 300\r | |
2083 | self.enumerator_list()\r | |
2084 | self.state = 302\r | |
2085 | self._errHandler.sync(self)\r | |
2086 | _la = self._input.LA(1)\r | |
2087 | if _la==CParser.T__3:\r | |
2088 | self.state = 301\r | |
2089 | self.match(CParser.T__3)\r | |
2090 | \r | |
2091 | \r | |
2092 | self.state = 304\r | |
2093 | self.match(CParser.T__19)\r | |
2094 | pass\r | |
2095 | \r | |
2096 | elif la_ == 2:\r | |
2097 | self.enterOuterAlt(localctx, 2)\r | |
2098 | self.state = 306\r | |
2099 | self.match(CParser.T__23)\r | |
2100 | self.state = 307\r | |
2101 | self.match(CParser.IDENTIFIER)\r | |
2102 | self.state = 308\r | |
2103 | self.match(CParser.T__0)\r | |
2104 | self.state = 309\r | |
2105 | self.enumerator_list()\r | |
2106 | self.state = 311\r | |
2107 | self._errHandler.sync(self)\r | |
2108 | _la = self._input.LA(1)\r | |
2109 | if _la==CParser.T__3:\r | |
2110 | self.state = 310\r | |
2111 | self.match(CParser.T__3)\r | |
2112 | \r | |
2113 | \r | |
2114 | self.state = 313\r | |
2115 | self.match(CParser.T__19)\r | |
2116 | pass\r | |
2117 | \r | |
2118 | elif la_ == 3:\r | |
2119 | self.enterOuterAlt(localctx, 3)\r | |
2120 | self.state = 315\r | |
2121 | self.match(CParser.T__23)\r | |
2122 | self.state = 316\r | |
2123 | self.match(CParser.IDENTIFIER)\r | |
2124 | pass\r | |
2125 | \r | |
2126 | \r | |
2127 | except RecognitionException as re:\r | |
2128 | localctx.exception = re\r | |
2129 | self._errHandler.reportError(self, re)\r | |
2130 | self._errHandler.recover(self, re)\r | |
2131 | finally:\r | |
2132 | self.exitRule()\r | |
2133 | return localctx\r | |
f51461c8 | 2134 | \r |
22c4de1a | 2135 | class Enumerator_listContext(ParserRuleContext):\r |
f51461c8 | 2136 | \r |
22c4de1a HC |
2137 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
2138 | super().__init__(parent, invokingState)\r | |
2139 | self.parser = parser\r | |
f51461c8 | 2140 | \r |
22c4de1a HC |
2141 | def enumerator(self, i:int=None):\r |
2142 | if i is None:\r | |
2143 | return self.getTypedRuleContexts(CParser.EnumeratorContext)\r | |
2144 | else:\r | |
2145 | return self.getTypedRuleContext(CParser.EnumeratorContext,i)\r | |
f51461c8 | 2146 | \r |
f51461c8 | 2147 | \r |
22c4de1a HC |
2148 | def getRuleIndex(self):\r |
2149 | return CParser.RULE_enumerator_list\r | |
f51461c8 | 2150 | \r |
22c4de1a HC |
2151 | def enterRule(self, listener:ParseTreeListener):\r |
2152 | if hasattr( listener, "enterEnumerator_list" ):\r | |
2153 | listener.enterEnumerator_list(self)\r | |
f51461c8 | 2154 | \r |
22c4de1a HC |
2155 | def exitRule(self, listener:ParseTreeListener):\r |
2156 | if hasattr( listener, "exitEnumerator_list" ):\r | |
2157 | listener.exitEnumerator_list(self)\r | |
f51461c8 | 2158 | \r |
f51461c8 LG |
2159 | \r |
2160 | \r | |
f51461c8 | 2161 | \r |
22c4de1a | 2162 | def enumerator_list(self):\r |
f51461c8 | 2163 | \r |
22c4de1a HC |
2164 | localctx = CParser.Enumerator_listContext(self, self._ctx, self.state)\r |
2165 | self.enterRule(localctx, 36, self.RULE_enumerator_list)\r | |
2166 | try:\r | |
2167 | self.enterOuterAlt(localctx, 1)\r | |
2168 | self.state = 319\r | |
2169 | self.enumerator()\r | |
2170 | self.state = 324\r | |
2171 | self._errHandler.sync(self)\r | |
2172 | _alt = self._interp.adaptivePredict(self._input,28,self._ctx)\r | |
2173 | while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:\r | |
2174 | if _alt==1:\r | |
2175 | self.state = 320\r | |
2176 | self.match(CParser.T__3)\r | |
2177 | self.state = 321\r | |
2178 | self.enumerator() \r | |
2179 | self.state = 326\r | |
2180 | self._errHandler.sync(self)\r | |
2181 | _alt = self._interp.adaptivePredict(self._input,28,self._ctx)\r | |
2182 | \r | |
2183 | except RecognitionException as re:\r | |
2184 | localctx.exception = re\r | |
2185 | self._errHandler.reportError(self, re)\r | |
2186 | self._errHandler.recover(self, re)\r | |
2187 | finally:\r | |
2188 | self.exitRule()\r | |
2189 | return localctx\r | |
f51461c8 | 2190 | \r |
22c4de1a | 2191 | class EnumeratorContext(ParserRuleContext):\r |
f51461c8 | 2192 | \r |
22c4de1a HC |
2193 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
2194 | super().__init__(parent, invokingState)\r | |
2195 | self.parser = parser\r | |
f51461c8 | 2196 | \r |
22c4de1a HC |
2197 | def IDENTIFIER(self):\r |
2198 | return self.getToken(CParser.IDENTIFIER, 0)\r | |
f51461c8 | 2199 | \r |
22c4de1a HC |
2200 | def constant_expression(self):\r |
2201 | return self.getTypedRuleContext(CParser.Constant_expressionContext,0)\r | |
f51461c8 | 2202 | \r |
f51461c8 | 2203 | \r |
22c4de1a HC |
2204 | def getRuleIndex(self):\r |
2205 | return CParser.RULE_enumerator\r | |
f51461c8 | 2206 | \r |
22c4de1a HC |
2207 | def enterRule(self, listener:ParseTreeListener):\r |
2208 | if hasattr( listener, "enterEnumerator" ):\r | |
2209 | listener.enterEnumerator(self)\r | |
f51461c8 | 2210 | \r |
22c4de1a HC |
2211 | def exitRule(self, listener:ParseTreeListener):\r |
2212 | if hasattr( listener, "exitEnumerator" ):\r | |
2213 | listener.exitEnumerator(self)\r | |
f51461c8 LG |
2214 | \r |
2215 | \r | |
f51461c8 | 2216 | \r |
f51461c8 | 2217 | \r |
22c4de1a | 2218 | def enumerator(self):\r |
f51461c8 | 2219 | \r |
22c4de1a HC |
2220 | localctx = CParser.EnumeratorContext(self, self._ctx, self.state)\r |
2221 | self.enterRule(localctx, 38, self.RULE_enumerator)\r | |
2222 | self._la = 0 # Token type\r | |
2223 | try:\r | |
2224 | self.enterOuterAlt(localctx, 1)\r | |
2225 | self.state = 327\r | |
2226 | self.match(CParser.IDENTIFIER)\r | |
2227 | self.state = 330\r | |
2228 | self._errHandler.sync(self)\r | |
2229 | _la = self._input.LA(1)\r | |
2230 | if _la==CParser.T__4:\r | |
2231 | self.state = 328\r | |
2232 | self.match(CParser.T__4)\r | |
2233 | self.state = 329\r | |
2234 | self.constant_expression()\r | |
2235 | \r | |
2236 | \r | |
2237 | except RecognitionException as re:\r | |
2238 | localctx.exception = re\r | |
2239 | self._errHandler.reportError(self, re)\r | |
2240 | self._errHandler.recover(self, re)\r | |
2241 | finally:\r | |
2242 | self.exitRule()\r | |
2243 | return localctx\r | |
f51461c8 | 2244 | \r |
22c4de1a | 2245 | class Type_qualifierContext(ParserRuleContext):\r |
f51461c8 | 2246 | \r |
22c4de1a HC |
2247 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
2248 | super().__init__(parent, invokingState)\r | |
2249 | self.parser = parser\r | |
f51461c8 | 2250 | \r |
f51461c8 | 2251 | \r |
22c4de1a HC |
2252 | def getRuleIndex(self):\r |
2253 | return CParser.RULE_type_qualifier\r | |
f51461c8 | 2254 | \r |
22c4de1a HC |
2255 | def enterRule(self, listener:ParseTreeListener):\r |
2256 | if hasattr( listener, "enterType_qualifier" ):\r | |
2257 | listener.enterType_qualifier(self)\r | |
f51461c8 | 2258 | \r |
22c4de1a HC |
2259 | def exitRule(self, listener:ParseTreeListener):\r |
2260 | if hasattr( listener, "exitType_qualifier" ):\r | |
2261 | listener.exitType_qualifier(self)\r | |
f51461c8 | 2262 | \r |
f51461c8 LG |
2263 | \r |
2264 | \r | |
f51461c8 | 2265 | \r |
22c4de1a | 2266 | def type_qualifier(self):\r |
f51461c8 | 2267 | \r |
22c4de1a HC |
2268 | localctx = CParser.Type_qualifierContext(self, self._ctx, self.state)\r |
2269 | self.enterRule(localctx, 40, self.RULE_type_qualifier)\r | |
2270 | self._la = 0 # Token type\r | |
2271 | try:\r | |
2272 | self.enterOuterAlt(localctx, 1)\r | |
2273 | self.state = 332\r | |
2274 | _la = self._input.LA(1)\r | |
2275 | if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__24) | (1 << CParser.T__25) | (1 << CParser.T__26) | (1 << CParser.T__27) | (1 << CParser.T__28) | (1 << CParser.T__29) | (1 << CParser.T__30) | (1 << CParser.T__31) | (1 << CParser.T__32) | (1 << CParser.T__33) | (1 << CParser.T__34) | (1 << CParser.T__35) | (1 << CParser.T__36))) != 0)):\r | |
2276 | self._errHandler.recoverInline(self)\r | |
2277 | else:\r | |
2278 | self._errHandler.reportMatch(self)\r | |
2279 | self.consume()\r | |
2280 | except RecognitionException as re:\r | |
2281 | localctx.exception = re\r | |
2282 | self._errHandler.reportError(self, re)\r | |
2283 | self._errHandler.recover(self, re)\r | |
2284 | finally:\r | |
2285 | self.exitRule()\r | |
2286 | return localctx\r | |
f51461c8 | 2287 | \r |
22c4de1a | 2288 | class DeclaratorContext(ParserRuleContext):\r |
f51461c8 | 2289 | \r |
22c4de1a HC |
2290 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
2291 | super().__init__(parent, invokingState)\r | |
2292 | self.parser = parser\r | |
f51461c8 | 2293 | \r |
22c4de1a HC |
2294 | def direct_declarator(self):\r |
2295 | return self.getTypedRuleContext(CParser.Direct_declaratorContext,0)\r | |
f51461c8 | 2296 | \r |
f51461c8 | 2297 | \r |
22c4de1a HC |
2298 | def pointer(self):\r |
2299 | return self.getTypedRuleContext(CParser.PointerContext,0)\r | |
f51461c8 LG |
2300 | \r |
2301 | \r | |
22c4de1a HC |
2302 | def getRuleIndex(self):\r |
2303 | return CParser.RULE_declarator\r | |
f51461c8 | 2304 | \r |
22c4de1a HC |
2305 | def enterRule(self, listener:ParseTreeListener):\r |
2306 | if hasattr( listener, "enterDeclarator" ):\r | |
2307 | listener.enterDeclarator(self)\r | |
f51461c8 | 2308 | \r |
22c4de1a HC |
2309 | def exitRule(self, listener:ParseTreeListener):\r |
2310 | if hasattr( listener, "exitDeclarator" ):\r | |
2311 | listener.exitDeclarator(self)\r | |
f51461c8 | 2312 | \r |
f51461c8 | 2313 | \r |
f51461c8 LG |
2314 | \r |
2315 | \r | |
22c4de1a | 2316 | def declarator(self):\r |
f51461c8 | 2317 | \r |
22c4de1a HC |
2318 | localctx = CParser.DeclaratorContext(self, self._ctx, self.state)\r |
2319 | self.enterRule(localctx, 42, self.RULE_declarator)\r | |
2320 | self._la = 0 # Token type\r | |
2321 | try:\r | |
2322 | self.state = 348\r | |
2323 | self._errHandler.sync(self)\r | |
2324 | la_ = self._interp.adaptivePredict(self._input,34,self._ctx)\r | |
2325 | if la_ == 1:\r | |
2326 | self.enterOuterAlt(localctx, 1)\r | |
2327 | self.state = 335\r | |
2328 | self._errHandler.sync(self)\r | |
2329 | _la = self._input.LA(1)\r | |
2330 | if _la==CParser.T__41:\r | |
2331 | self.state = 334\r | |
2332 | self.pointer()\r | |
f51461c8 LG |
2333 | \r |
2334 | \r | |
22c4de1a HC |
2335 | self.state = 338\r |
2336 | self._errHandler.sync(self)\r | |
2337 | _la = self._input.LA(1)\r | |
2338 | if _la==CParser.T__33:\r | |
2339 | self.state = 337\r | |
2340 | self.match(CParser.T__33)\r | |
f51461c8 | 2341 | \r |
f51461c8 | 2342 | \r |
22c4de1a HC |
2343 | self.state = 341\r |
2344 | self._errHandler.sync(self)\r | |
2345 | _la = self._input.LA(1)\r | |
2346 | if _la==CParser.T__34:\r | |
2347 | self.state = 340\r | |
2348 | self.match(CParser.T__34)\r | |
f51461c8 | 2349 | \r |
f51461c8 | 2350 | \r |
22c4de1a HC |
2351 | self.state = 344\r |
2352 | self._errHandler.sync(self)\r | |
2353 | _la = self._input.LA(1)\r | |
2354 | if _la==CParser.T__35:\r | |
2355 | self.state = 343\r | |
2356 | self.match(CParser.T__35)\r | |
f51461c8 LG |
2357 | \r |
2358 | \r | |
22c4de1a HC |
2359 | self.state = 346\r |
2360 | self.direct_declarator()\r | |
2361 | pass\r | |
f51461c8 | 2362 | \r |
22c4de1a HC |
2363 | elif la_ == 2:\r |
2364 | self.enterOuterAlt(localctx, 2)\r | |
2365 | self.state = 347\r | |
2366 | self.pointer()\r | |
2367 | pass\r | |
f51461c8 LG |
2368 | \r |
2369 | \r | |
22c4de1a HC |
2370 | except RecognitionException as re:\r |
2371 | localctx.exception = re\r | |
2372 | self._errHandler.reportError(self, re)\r | |
2373 | self._errHandler.recover(self, re)\r | |
2374 | finally:\r | |
2375 | self.exitRule()\r | |
2376 | return localctx\r | |
f51461c8 | 2377 | \r |
22c4de1a | 2378 | class Direct_declaratorContext(ParserRuleContext):\r |
f51461c8 | 2379 | \r |
22c4de1a HC |
2380 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
2381 | super().__init__(parent, invokingState)\r | |
2382 | self.parser = parser\r | |
f51461c8 | 2383 | \r |
22c4de1a HC |
2384 | def IDENTIFIER(self):\r |
2385 | return self.getToken(CParser.IDENTIFIER, 0)\r | |
f51461c8 | 2386 | \r |
22c4de1a HC |
2387 | def declarator_suffix(self, i:int=None):\r |
2388 | if i is None:\r | |
2389 | return self.getTypedRuleContexts(CParser.Declarator_suffixContext)\r | |
2390 | else:\r | |
2391 | return self.getTypedRuleContext(CParser.Declarator_suffixContext,i)\r | |
f51461c8 | 2392 | \r |
f51461c8 | 2393 | \r |
22c4de1a HC |
2394 | def declarator(self):\r |
2395 | return self.getTypedRuleContext(CParser.DeclaratorContext,0)\r | |
f51461c8 | 2396 | \r |
f51461c8 | 2397 | \r |
22c4de1a HC |
2398 | def getRuleIndex(self):\r |
2399 | return CParser.RULE_direct_declarator\r | |
f51461c8 | 2400 | \r |
22c4de1a HC |
2401 | def enterRule(self, listener:ParseTreeListener):\r |
2402 | if hasattr( listener, "enterDirect_declarator" ):\r | |
2403 | listener.enterDirect_declarator(self)\r | |
f51461c8 | 2404 | \r |
22c4de1a HC |
2405 | def exitRule(self, listener:ParseTreeListener):\r |
2406 | if hasattr( listener, "exitDirect_declarator" ):\r | |
2407 | listener.exitDirect_declarator(self)\r | |
f51461c8 | 2408 | \r |
f51461c8 LG |
2409 | \r |
2410 | \r | |
f51461c8 | 2411 | \r |
22c4de1a | 2412 | def direct_declarator(self):\r |
f51461c8 | 2413 | \r |
22c4de1a HC |
2414 | localctx = CParser.Direct_declaratorContext(self, self._ctx, self.state)\r |
2415 | self.enterRule(localctx, 44, self.RULE_direct_declarator)\r | |
2416 | try:\r | |
2417 | self.state = 368\r | |
2418 | self._errHandler.sync(self)\r | |
2419 | token = self._input.LA(1)\r | |
2420 | if token in [CParser.IDENTIFIER]:\r | |
2421 | self.enterOuterAlt(localctx, 1)\r | |
2422 | self.state = 350\r | |
2423 | self.match(CParser.IDENTIFIER)\r | |
2424 | self.state = 354\r | |
2425 | self._errHandler.sync(self)\r | |
2426 | _alt = self._interp.adaptivePredict(self._input,35,self._ctx)\r | |
2427 | while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:\r | |
2428 | if _alt==1:\r | |
2429 | self.state = 351\r | |
2430 | self.declarator_suffix() \r | |
2431 | self.state = 356\r | |
2432 | self._errHandler.sync(self)\r | |
2433 | _alt = self._interp.adaptivePredict(self._input,35,self._ctx)\r | |
2434 | \r | |
2435 | pass\r | |
2436 | elif token in [CParser.T__37]:\r | |
2437 | self.enterOuterAlt(localctx, 2)\r | |
2438 | self.state = 357\r | |
2439 | self.match(CParser.T__37)\r | |
2440 | self.state = 359\r | |
2441 | self._errHandler.sync(self)\r | |
2442 | la_ = self._interp.adaptivePredict(self._input,36,self._ctx)\r | |
2443 | if la_ == 1:\r | |
2444 | self.state = 358\r | |
2445 | self.match(CParser.T__33)\r | |
2446 | \r | |
2447 | \r | |
2448 | self.state = 361\r | |
2449 | self.declarator()\r | |
2450 | self.state = 362\r | |
2451 | self.match(CParser.T__38)\r | |
2452 | self.state = 364 \r | |
2453 | self._errHandler.sync(self)\r | |
2454 | _alt = 1\r | |
2455 | while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:\r | |
2456 | if _alt == 1:\r | |
2457 | self.state = 363\r | |
2458 | self.declarator_suffix()\r | |
f51461c8 | 2459 | \r |
22c4de1a HC |
2460 | else:\r |
2461 | raise NoViableAltException(self)\r | |
2462 | self.state = 366 \r | |
2463 | self._errHandler.sync(self)\r | |
2464 | _alt = self._interp.adaptivePredict(self._input,37,self._ctx)\r | |
f51461c8 | 2465 | \r |
22c4de1a HC |
2466 | pass\r |
2467 | else:\r | |
2468 | raise NoViableAltException(self)\r | |
f51461c8 | 2469 | \r |
22c4de1a HC |
2470 | except RecognitionException as re:\r |
2471 | localctx.exception = re\r | |
2472 | self._errHandler.reportError(self, re)\r | |
2473 | self._errHandler.recover(self, re)\r | |
2474 | finally:\r | |
2475 | self.exitRule()\r | |
2476 | return localctx\r | |
f51461c8 | 2477 | \r |
22c4de1a | 2478 | class Declarator_suffixContext(ParserRuleContext):\r |
f51461c8 | 2479 | \r |
22c4de1a HC |
2480 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
2481 | super().__init__(parent, invokingState)\r | |
2482 | self.parser = parser\r | |
f51461c8 | 2483 | \r |
22c4de1a HC |
2484 | def constant_expression(self):\r |
2485 | return self.getTypedRuleContext(CParser.Constant_expressionContext,0)\r | |
f51461c8 | 2486 | \r |
f51461c8 | 2487 | \r |
22c4de1a HC |
2488 | def parameter_type_list(self):\r |
2489 | return self.getTypedRuleContext(CParser.Parameter_type_listContext,0)\r | |
f51461c8 LG |
2490 | \r |
2491 | \r | |
22c4de1a HC |
2492 | def identifier_list(self):\r |
2493 | return self.getTypedRuleContext(CParser.Identifier_listContext,0)\r | |
f51461c8 | 2494 | \r |
f51461c8 | 2495 | \r |
22c4de1a HC |
2496 | def getRuleIndex(self):\r |
2497 | return CParser.RULE_declarator_suffix\r | |
f51461c8 | 2498 | \r |
22c4de1a HC |
2499 | def enterRule(self, listener:ParseTreeListener):\r |
2500 | if hasattr( listener, "enterDeclarator_suffix" ):\r | |
2501 | listener.enterDeclarator_suffix(self)\r | |
f51461c8 | 2502 | \r |
22c4de1a HC |
2503 | def exitRule(self, listener:ParseTreeListener):\r |
2504 | if hasattr( listener, "exitDeclarator_suffix" ):\r | |
2505 | listener.exitDeclarator_suffix(self)\r | |
f51461c8 LG |
2506 | \r |
2507 | \r | |
f51461c8 | 2508 | \r |
f51461c8 | 2509 | \r |
22c4de1a | 2510 | def declarator_suffix(self):\r |
f51461c8 | 2511 | \r |
22c4de1a HC |
2512 | localctx = CParser.Declarator_suffixContext(self, self._ctx, self.state)\r |
2513 | self.enterRule(localctx, 46, self.RULE_declarator_suffix)\r | |
2514 | try:\r | |
2515 | self.state = 386\r | |
2516 | self._errHandler.sync(self)\r | |
2517 | la_ = self._interp.adaptivePredict(self._input,39,self._ctx)\r | |
2518 | if la_ == 1:\r | |
2519 | self.enterOuterAlt(localctx, 1)\r | |
2520 | self.state = 370\r | |
2521 | self.match(CParser.T__39)\r | |
2522 | self.state = 371\r | |
2523 | self.constant_expression()\r | |
2524 | self.state = 372\r | |
2525 | self.match(CParser.T__40)\r | |
2526 | pass\r | |
2527 | \r | |
2528 | elif la_ == 2:\r | |
2529 | self.enterOuterAlt(localctx, 2)\r | |
2530 | self.state = 374\r | |
2531 | self.match(CParser.T__39)\r | |
2532 | self.state = 375\r | |
2533 | self.match(CParser.T__40)\r | |
2534 | pass\r | |
2535 | \r | |
2536 | elif la_ == 3:\r | |
2537 | self.enterOuterAlt(localctx, 3)\r | |
2538 | self.state = 376\r | |
2539 | self.match(CParser.T__37)\r | |
2540 | self.state = 377\r | |
2541 | self.parameter_type_list()\r | |
2542 | self.state = 378\r | |
2543 | self.match(CParser.T__38)\r | |
2544 | pass\r | |
2545 | \r | |
2546 | elif la_ == 4:\r | |
2547 | self.enterOuterAlt(localctx, 4)\r | |
2548 | self.state = 380\r | |
2549 | self.match(CParser.T__37)\r | |
2550 | self.state = 381\r | |
2551 | self.identifier_list()\r | |
2552 | self.state = 382\r | |
2553 | self.match(CParser.T__38)\r | |
2554 | pass\r | |
2555 | \r | |
2556 | elif la_ == 5:\r | |
2557 | self.enterOuterAlt(localctx, 5)\r | |
2558 | self.state = 384\r | |
2559 | self.match(CParser.T__37)\r | |
2560 | self.state = 385\r | |
2561 | self.match(CParser.T__38)\r | |
2562 | pass\r | |
2563 | \r | |
2564 | \r | |
2565 | except RecognitionException as re:\r | |
2566 | localctx.exception = re\r | |
2567 | self._errHandler.reportError(self, re)\r | |
2568 | self._errHandler.recover(self, re)\r | |
2569 | finally:\r | |
2570 | self.exitRule()\r | |
2571 | return localctx\r | |
f51461c8 | 2572 | \r |
22c4de1a | 2573 | class PointerContext(ParserRuleContext):\r |
f51461c8 | 2574 | \r |
22c4de1a HC |
2575 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
2576 | super().__init__(parent, invokingState)\r | |
2577 | self.parser = parser\r | |
f51461c8 | 2578 | \r |
22c4de1a HC |
2579 | def type_qualifier(self, i:int=None):\r |
2580 | if i is None:\r | |
2581 | return self.getTypedRuleContexts(CParser.Type_qualifierContext)\r | |
2582 | else:\r | |
2583 | return self.getTypedRuleContext(CParser.Type_qualifierContext,i)\r | |
f51461c8 | 2584 | \r |
f51461c8 | 2585 | \r |
22c4de1a HC |
2586 | def pointer(self):\r |
2587 | return self.getTypedRuleContext(CParser.PointerContext,0)\r | |
f51461c8 | 2588 | \r |
f51461c8 | 2589 | \r |
22c4de1a HC |
2590 | def getRuleIndex(self):\r |
2591 | return CParser.RULE_pointer\r | |
f51461c8 | 2592 | \r |
22c4de1a HC |
2593 | def enterRule(self, listener:ParseTreeListener):\r |
2594 | if hasattr( listener, "enterPointer" ):\r | |
2595 | listener.enterPointer(self)\r | |
f51461c8 | 2596 | \r |
22c4de1a HC |
2597 | def exitRule(self, listener:ParseTreeListener):\r |
2598 | if hasattr( listener, "exitPointer" ):\r | |
2599 | listener.exitPointer(self)\r | |
f51461c8 | 2600 | \r |
f51461c8 LG |
2601 | \r |
2602 | \r | |
f51461c8 | 2603 | \r |
22c4de1a | 2604 | def pointer(self):\r |
f51461c8 | 2605 | \r |
22c4de1a HC |
2606 | localctx = CParser.PointerContext(self, self._ctx, self.state)\r |
2607 | self.enterRule(localctx, 48, self.RULE_pointer)\r | |
2608 | try:\r | |
2609 | self.state = 400\r | |
2610 | self._errHandler.sync(self)\r | |
2611 | la_ = self._interp.adaptivePredict(self._input,42,self._ctx)\r | |
2612 | if la_ == 1:\r | |
2613 | self.enterOuterAlt(localctx, 1)\r | |
2614 | self.state = 388\r | |
2615 | self.match(CParser.T__41)\r | |
2616 | self.state = 390 \r | |
2617 | self._errHandler.sync(self)\r | |
2618 | _alt = 1\r | |
2619 | while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:\r | |
2620 | if _alt == 1:\r | |
2621 | self.state = 389\r | |
2622 | self.type_qualifier()\r | |
f51461c8 | 2623 | \r |
22c4de1a HC |
2624 | else:\r |
2625 | raise NoViableAltException(self)\r | |
2626 | self.state = 392 \r | |
2627 | self._errHandler.sync(self)\r | |
2628 | _alt = self._interp.adaptivePredict(self._input,40,self._ctx)\r | |
2629 | \r | |
2630 | self.state = 395\r | |
2631 | self._errHandler.sync(self)\r | |
2632 | la_ = self._interp.adaptivePredict(self._input,41,self._ctx)\r | |
2633 | if la_ == 1:\r | |
2634 | self.state = 394\r | |
2635 | self.pointer()\r | |
f51461c8 | 2636 | \r |
f51461c8 | 2637 | \r |
22c4de1a | 2638 | pass\r |
f51461c8 | 2639 | \r |
22c4de1a HC |
2640 | elif la_ == 2:\r |
2641 | self.enterOuterAlt(localctx, 2)\r | |
2642 | self.state = 397\r | |
2643 | self.match(CParser.T__41)\r | |
2644 | self.state = 398\r | |
2645 | self.pointer()\r | |
2646 | pass\r | |
f51461c8 | 2647 | \r |
22c4de1a HC |
2648 | elif la_ == 3:\r |
2649 | self.enterOuterAlt(localctx, 3)\r | |
2650 | self.state = 399\r | |
2651 | self.match(CParser.T__41)\r | |
2652 | pass\r | |
f51461c8 LG |
2653 | \r |
2654 | \r | |
22c4de1a HC |
2655 | except RecognitionException as re:\r |
2656 | localctx.exception = re\r | |
2657 | self._errHandler.reportError(self, re)\r | |
2658 | self._errHandler.recover(self, re)\r | |
2659 | finally:\r | |
2660 | self.exitRule()\r | |
2661 | return localctx\r | |
f51461c8 | 2662 | \r |
22c4de1a | 2663 | class Parameter_type_listContext(ParserRuleContext):\r |
f51461c8 | 2664 | \r |
22c4de1a HC |
2665 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
2666 | super().__init__(parent, invokingState)\r | |
2667 | self.parser = parser\r | |
f51461c8 | 2668 | \r |
22c4de1a HC |
2669 | def parameter_list(self):\r |
2670 | return self.getTypedRuleContext(CParser.Parameter_listContext,0)\r | |
f51461c8 | 2671 | \r |
f51461c8 | 2672 | \r |
22c4de1a HC |
2673 | def getRuleIndex(self):\r |
2674 | return CParser.RULE_parameter_type_list\r | |
f51461c8 | 2675 | \r |
22c4de1a HC |
2676 | def enterRule(self, listener:ParseTreeListener):\r |
2677 | if hasattr( listener, "enterParameter_type_list" ):\r | |
2678 | listener.enterParameter_type_list(self)\r | |
f51461c8 | 2679 | \r |
22c4de1a HC |
2680 | def exitRule(self, listener:ParseTreeListener):\r |
2681 | if hasattr( listener, "exitParameter_type_list" ):\r | |
2682 | listener.exitParameter_type_list(self)\r | |
f51461c8 LG |
2683 | \r |
2684 | \r | |
f51461c8 | 2685 | \r |
f51461c8 | 2686 | \r |
22c4de1a | 2687 | def parameter_type_list(self):\r |
f51461c8 | 2688 | \r |
22c4de1a HC |
2689 | localctx = CParser.Parameter_type_listContext(self, self._ctx, self.state)\r |
2690 | self.enterRule(localctx, 50, self.RULE_parameter_type_list)\r | |
2691 | self._la = 0 # Token type\r | |
2692 | try:\r | |
2693 | self.enterOuterAlt(localctx, 1)\r | |
2694 | self.state = 402\r | |
2695 | self.parameter_list()\r | |
2696 | self.state = 408\r | |
2697 | self._errHandler.sync(self)\r | |
2698 | _la = self._input.LA(1)\r | |
2699 | if _la==CParser.T__3:\r | |
2700 | self.state = 403\r | |
2701 | self.match(CParser.T__3)\r | |
2702 | self.state = 405\r | |
2703 | self._errHandler.sync(self)\r | |
2704 | _la = self._input.LA(1)\r | |
2705 | if _la==CParser.T__28:\r | |
2706 | self.state = 404\r | |
2707 | self.match(CParser.T__28)\r | |
2708 | \r | |
2709 | \r | |
2710 | self.state = 407\r | |
2711 | self.match(CParser.T__42)\r | |
2712 | \r | |
2713 | \r | |
2714 | except RecognitionException as re:\r | |
2715 | localctx.exception = re\r | |
2716 | self._errHandler.reportError(self, re)\r | |
2717 | self._errHandler.recover(self, re)\r | |
2718 | finally:\r | |
2719 | self.exitRule()\r | |
2720 | return localctx\r | |
f51461c8 | 2721 | \r |
22c4de1a | 2722 | class Parameter_listContext(ParserRuleContext):\r |
f51461c8 | 2723 | \r |
22c4de1a HC |
2724 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
2725 | super().__init__(parent, invokingState)\r | |
2726 | self.parser = parser\r | |
f51461c8 | 2727 | \r |
22c4de1a HC |
2728 | def parameter_declaration(self, i:int=None):\r |
2729 | if i is None:\r | |
2730 | return self.getTypedRuleContexts(CParser.Parameter_declarationContext)\r | |
2731 | else:\r | |
2732 | return self.getTypedRuleContext(CParser.Parameter_declarationContext,i)\r | |
f51461c8 | 2733 | \r |
f51461c8 | 2734 | \r |
22c4de1a HC |
2735 | def getRuleIndex(self):\r |
2736 | return CParser.RULE_parameter_list\r | |
f51461c8 | 2737 | \r |
22c4de1a HC |
2738 | def enterRule(self, listener:ParseTreeListener):\r |
2739 | if hasattr( listener, "enterParameter_list" ):\r | |
2740 | listener.enterParameter_list(self)\r | |
f51461c8 | 2741 | \r |
22c4de1a HC |
2742 | def exitRule(self, listener:ParseTreeListener):\r |
2743 | if hasattr( listener, "exitParameter_list" ):\r | |
2744 | listener.exitParameter_list(self)\r | |
f51461c8 | 2745 | \r |
f51461c8 LG |
2746 | \r |
2747 | \r | |
f51461c8 | 2748 | \r |
22c4de1a | 2749 | def parameter_list(self):\r |
f51461c8 | 2750 | \r |
22c4de1a HC |
2751 | localctx = CParser.Parameter_listContext(self, self._ctx, self.state)\r |
2752 | self.enterRule(localctx, 52, self.RULE_parameter_list)\r | |
2753 | try:\r | |
2754 | self.enterOuterAlt(localctx, 1)\r | |
2755 | self.state = 410\r | |
2756 | self.parameter_declaration()\r | |
2757 | self.state = 418\r | |
2758 | self._errHandler.sync(self)\r | |
2759 | _alt = self._interp.adaptivePredict(self._input,46,self._ctx)\r | |
2760 | while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:\r | |
2761 | if _alt==1:\r | |
2762 | self.state = 411\r | |
2763 | self.match(CParser.T__3)\r | |
2764 | self.state = 413\r | |
2765 | self._errHandler.sync(self)\r | |
2766 | la_ = self._interp.adaptivePredict(self._input,45,self._ctx)\r | |
2767 | if la_ == 1:\r | |
2768 | self.state = 412\r | |
2769 | self.match(CParser.T__28)\r | |
2770 | \r | |
2771 | \r | |
2772 | self.state = 415\r | |
2773 | self.parameter_declaration() \r | |
2774 | self.state = 420\r | |
2775 | self._errHandler.sync(self)\r | |
2776 | _alt = self._interp.adaptivePredict(self._input,46,self._ctx)\r | |
2777 | \r | |
2778 | except RecognitionException as re:\r | |
2779 | localctx.exception = re\r | |
2780 | self._errHandler.reportError(self, re)\r | |
2781 | self._errHandler.recover(self, re)\r | |
2782 | finally:\r | |
2783 | self.exitRule()\r | |
2784 | return localctx\r | |
f51461c8 | 2785 | \r |
22c4de1a | 2786 | class Parameter_declarationContext(ParserRuleContext):\r |
f51461c8 | 2787 | \r |
22c4de1a HC |
2788 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
2789 | super().__init__(parent, invokingState)\r | |
2790 | self.parser = parser\r | |
f51461c8 | 2791 | \r |
22c4de1a HC |
2792 | def declaration_specifiers(self):\r |
2793 | return self.getTypedRuleContext(CParser.Declaration_specifiersContext,0)\r | |
f51461c8 | 2794 | \r |
f51461c8 | 2795 | \r |
22c4de1a HC |
2796 | def declarator(self, i:int=None):\r |
2797 | if i is None:\r | |
2798 | return self.getTypedRuleContexts(CParser.DeclaratorContext)\r | |
2799 | else:\r | |
2800 | return self.getTypedRuleContext(CParser.DeclaratorContext,i)\r | |
f51461c8 LG |
2801 | \r |
2802 | \r | |
22c4de1a HC |
2803 | def abstract_declarator(self, i:int=None):\r |
2804 | if i is None:\r | |
2805 | return self.getTypedRuleContexts(CParser.Abstract_declaratorContext)\r | |
2806 | else:\r | |
2807 | return self.getTypedRuleContext(CParser.Abstract_declaratorContext,i)\r | |
f51461c8 | 2808 | \r |
f51461c8 | 2809 | \r |
22c4de1a HC |
2810 | def IDENTIFIER(self):\r |
2811 | return self.getToken(CParser.IDENTIFIER, 0)\r | |
f51461c8 | 2812 | \r |
22c4de1a HC |
2813 | def pointer(self, i:int=None):\r |
2814 | if i is None:\r | |
2815 | return self.getTypedRuleContexts(CParser.PointerContext)\r | |
2816 | else:\r | |
2817 | return self.getTypedRuleContext(CParser.PointerContext,i)\r | |
f51461c8 | 2818 | \r |
f51461c8 | 2819 | \r |
22c4de1a HC |
2820 | def getRuleIndex(self):\r |
2821 | return CParser.RULE_parameter_declaration\r | |
f51461c8 | 2822 | \r |
22c4de1a HC |
2823 | def enterRule(self, listener:ParseTreeListener):\r |
2824 | if hasattr( listener, "enterParameter_declaration" ):\r | |
2825 | listener.enterParameter_declaration(self)\r | |
f51461c8 | 2826 | \r |
22c4de1a HC |
2827 | def exitRule(self, listener:ParseTreeListener):\r |
2828 | if hasattr( listener, "exitParameter_declaration" ):\r | |
2829 | listener.exitParameter_declaration(self)\r | |
f51461c8 LG |
2830 | \r |
2831 | \r | |
f51461c8 | 2832 | \r |
f51461c8 | 2833 | \r |
22c4de1a | 2834 | def parameter_declaration(self):\r |
f51461c8 | 2835 | \r |
22c4de1a HC |
2836 | localctx = CParser.Parameter_declarationContext(self, self._ctx, self.state)\r |
2837 | self.enterRule(localctx, 54, self.RULE_parameter_declaration)\r | |
2838 | self._la = 0 # Token type\r | |
2839 | try:\r | |
2840 | self.state = 439\r | |
2841 | self._errHandler.sync(self)\r | |
2842 | la_ = self._interp.adaptivePredict(self._input,51,self._ctx)\r | |
2843 | if la_ == 1:\r | |
2844 | self.enterOuterAlt(localctx, 1)\r | |
2845 | self.state = 421\r | |
2846 | self.declaration_specifiers()\r | |
2847 | self.state = 426\r | |
2848 | self._errHandler.sync(self)\r | |
2849 | _la = self._input.LA(1)\r | |
2850 | while ((((_la - 34)) & ~0x3f) == 0 and ((1 << (_la - 34)) & ((1 << (CParser.T__33 - 34)) | (1 << (CParser.T__34 - 34)) | (1 << (CParser.T__35 - 34)) | (1 << (CParser.T__37 - 34)) | (1 << (CParser.T__39 - 34)) | (1 << (CParser.T__41 - 34)) | (1 << (CParser.IDENTIFIER - 34)))) != 0):\r | |
2851 | self.state = 424\r | |
2852 | self._errHandler.sync(self)\r | |
2853 | la_ = self._interp.adaptivePredict(self._input,47,self._ctx)\r | |
2854 | if la_ == 1:\r | |
2855 | self.state = 422\r | |
2856 | self.declarator()\r | |
2857 | pass\r | |
2858 | \r | |
2859 | elif la_ == 2:\r | |
2860 | self.state = 423\r | |
2861 | self.abstract_declarator()\r | |
2862 | pass\r | |
f51461c8 | 2863 | \r |
f51461c8 | 2864 | \r |
22c4de1a HC |
2865 | self.state = 428\r |
2866 | self._errHandler.sync(self)\r | |
2867 | _la = self._input.LA(1)\r | |
f51461c8 | 2868 | \r |
22c4de1a HC |
2869 | self.state = 430\r |
2870 | self._errHandler.sync(self)\r | |
2871 | _la = self._input.LA(1)\r | |
2872 | if _la==CParser.T__28:\r | |
2873 | self.state = 429\r | |
2874 | self.match(CParser.T__28)\r | |
f51461c8 | 2875 | \r |
f51461c8 | 2876 | \r |
22c4de1a | 2877 | pass\r |
f51461c8 | 2878 | \r |
22c4de1a HC |
2879 | elif la_ == 2:\r |
2880 | self.enterOuterAlt(localctx, 2)\r | |
2881 | self.state = 435\r | |
2882 | self._errHandler.sync(self)\r | |
2883 | _la = self._input.LA(1)\r | |
2884 | while _la==CParser.T__41:\r | |
2885 | self.state = 432\r | |
2886 | self.pointer()\r | |
2887 | self.state = 437\r | |
2888 | self._errHandler.sync(self)\r | |
2889 | _la = self._input.LA(1)\r | |
f51461c8 | 2890 | \r |
22c4de1a HC |
2891 | self.state = 438\r |
2892 | self.match(CParser.IDENTIFIER)\r | |
2893 | pass\r | |
f51461c8 LG |
2894 | \r |
2895 | \r | |
22c4de1a HC |
2896 | except RecognitionException as re:\r |
2897 | localctx.exception = re\r | |
2898 | self._errHandler.reportError(self, re)\r | |
2899 | self._errHandler.recover(self, re)\r | |
2900 | finally:\r | |
2901 | self.exitRule()\r | |
2902 | return localctx\r | |
f51461c8 | 2903 | \r |
22c4de1a | 2904 | class Identifier_listContext(ParserRuleContext):\r |
f51461c8 | 2905 | \r |
22c4de1a HC |
2906 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
2907 | super().__init__(parent, invokingState)\r | |
2908 | self.parser = parser\r | |
f51461c8 | 2909 | \r |
22c4de1a HC |
2910 | def IDENTIFIER(self, i:int=None):\r |
2911 | if i is None:\r | |
2912 | return self.getTokens(CParser.IDENTIFIER)\r | |
2913 | else:\r | |
2914 | return self.getToken(CParser.IDENTIFIER, i)\r | |
f51461c8 | 2915 | \r |
22c4de1a HC |
2916 | def getRuleIndex(self):\r |
2917 | return CParser.RULE_identifier_list\r | |
f51461c8 | 2918 | \r |
22c4de1a HC |
2919 | def enterRule(self, listener:ParseTreeListener):\r |
2920 | if hasattr( listener, "enterIdentifier_list" ):\r | |
2921 | listener.enterIdentifier_list(self)\r | |
f51461c8 | 2922 | \r |
22c4de1a HC |
2923 | def exitRule(self, listener:ParseTreeListener):\r |
2924 | if hasattr( listener, "exitIdentifier_list" ):\r | |
2925 | listener.exitIdentifier_list(self)\r | |
f51461c8 | 2926 | \r |
f51461c8 LG |
2927 | \r |
2928 | \r | |
f51461c8 | 2929 | \r |
22c4de1a | 2930 | def identifier_list(self):\r |
f51461c8 | 2931 | \r |
22c4de1a HC |
2932 | localctx = CParser.Identifier_listContext(self, self._ctx, self.state)\r |
2933 | self.enterRule(localctx, 56, self.RULE_identifier_list)\r | |
2934 | self._la = 0 # Token type\r | |
2935 | try:\r | |
2936 | self.enterOuterAlt(localctx, 1)\r | |
2937 | self.state = 441\r | |
2938 | self.match(CParser.IDENTIFIER)\r | |
2939 | self.state = 446\r | |
2940 | self._errHandler.sync(self)\r | |
2941 | _la = self._input.LA(1)\r | |
2942 | while _la==CParser.T__3:\r | |
2943 | self.state = 442\r | |
2944 | self.match(CParser.T__3)\r | |
2945 | self.state = 443\r | |
2946 | self.match(CParser.IDENTIFIER)\r | |
2947 | self.state = 448\r | |
2948 | self._errHandler.sync(self)\r | |
2949 | _la = self._input.LA(1)\r | |
2950 | \r | |
2951 | except RecognitionException as re:\r | |
2952 | localctx.exception = re\r | |
2953 | self._errHandler.reportError(self, re)\r | |
2954 | self._errHandler.recover(self, re)\r | |
2955 | finally:\r | |
2956 | self.exitRule()\r | |
2957 | return localctx\r | |
f51461c8 | 2958 | \r |
22c4de1a | 2959 | class Type_nameContext(ParserRuleContext):\r |
f51461c8 | 2960 | \r |
22c4de1a HC |
2961 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
2962 | super().__init__(parent, invokingState)\r | |
2963 | self.parser = parser\r | |
f51461c8 | 2964 | \r |
22c4de1a HC |
2965 | def specifier_qualifier_list(self):\r |
2966 | return self.getTypedRuleContext(CParser.Specifier_qualifier_listContext,0)\r | |
f51461c8 | 2967 | \r |
f51461c8 | 2968 | \r |
22c4de1a HC |
2969 | def abstract_declarator(self):\r |
2970 | return self.getTypedRuleContext(CParser.Abstract_declaratorContext,0)\r | |
f51461c8 LG |
2971 | \r |
2972 | \r | |
22c4de1a HC |
2973 | def type_id(self):\r |
2974 | return self.getTypedRuleContext(CParser.Type_idContext,0)\r | |
f51461c8 | 2975 | \r |
f51461c8 | 2976 | \r |
22c4de1a HC |
2977 | def getRuleIndex(self):\r |
2978 | return CParser.RULE_type_name\r | |
f51461c8 | 2979 | \r |
22c4de1a HC |
2980 | def enterRule(self, listener:ParseTreeListener):\r |
2981 | if hasattr( listener, "enterType_name" ):\r | |
2982 | listener.enterType_name(self)\r | |
f51461c8 | 2983 | \r |
22c4de1a HC |
2984 | def exitRule(self, listener:ParseTreeListener):\r |
2985 | if hasattr( listener, "exitType_name" ):\r | |
2986 | listener.exitType_name(self)\r | |
f51461c8 LG |
2987 | \r |
2988 | \r | |
f51461c8 | 2989 | \r |
f51461c8 | 2990 | \r |
22c4de1a | 2991 | def type_name(self):\r |
f51461c8 | 2992 | \r |
22c4de1a HC |
2993 | localctx = CParser.Type_nameContext(self, self._ctx, self.state)\r |
2994 | self.enterRule(localctx, 58, self.RULE_type_name)\r | |
2995 | self._la = 0 # Token type\r | |
2996 | try:\r | |
2997 | self.state = 454\r | |
2998 | self._errHandler.sync(self)\r | |
2999 | la_ = self._interp.adaptivePredict(self._input,54,self._ctx)\r | |
3000 | if la_ == 1:\r | |
3001 | self.enterOuterAlt(localctx, 1)\r | |
3002 | self.state = 449\r | |
3003 | self.specifier_qualifier_list()\r | |
3004 | self.state = 451\r | |
3005 | self._errHandler.sync(self)\r | |
3006 | _la = self._input.LA(1)\r | |
3007 | if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__37) | (1 << CParser.T__39) | (1 << CParser.T__41))) != 0):\r | |
3008 | self.state = 450\r | |
3009 | self.abstract_declarator()\r | |
f51461c8 | 3010 | \r |
f51461c8 | 3011 | \r |
22c4de1a | 3012 | pass\r |
f51461c8 | 3013 | \r |
22c4de1a HC |
3014 | elif la_ == 2:\r |
3015 | self.enterOuterAlt(localctx, 2)\r | |
3016 | self.state = 453\r | |
3017 | self.type_id()\r | |
3018 | pass\r | |
f51461c8 | 3019 | \r |
f51461c8 | 3020 | \r |
22c4de1a HC |
3021 | except RecognitionException as re:\r |
3022 | localctx.exception = re\r | |
3023 | self._errHandler.reportError(self, re)\r | |
3024 | self._errHandler.recover(self, re)\r | |
3025 | finally:\r | |
3026 | self.exitRule()\r | |
3027 | return localctx\r | |
f51461c8 | 3028 | \r |
22c4de1a | 3029 | class Abstract_declaratorContext(ParserRuleContext):\r |
f51461c8 | 3030 | \r |
22c4de1a HC |
3031 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
3032 | super().__init__(parent, invokingState)\r | |
3033 | self.parser = parser\r | |
f51461c8 | 3034 | \r |
22c4de1a HC |
3035 | def pointer(self):\r |
3036 | return self.getTypedRuleContext(CParser.PointerContext,0)\r | |
f51461c8 LG |
3037 | \r |
3038 | \r | |
22c4de1a HC |
3039 | def direct_abstract_declarator(self):\r |
3040 | return self.getTypedRuleContext(CParser.Direct_abstract_declaratorContext,0)\r | |
f51461c8 | 3041 | \r |
f51461c8 | 3042 | \r |
22c4de1a HC |
3043 | def getRuleIndex(self):\r |
3044 | return CParser.RULE_abstract_declarator\r | |
f51461c8 | 3045 | \r |
22c4de1a HC |
3046 | def enterRule(self, listener:ParseTreeListener):\r |
3047 | if hasattr( listener, "enterAbstract_declarator" ):\r | |
3048 | listener.enterAbstract_declarator(self)\r | |
f51461c8 | 3049 | \r |
22c4de1a HC |
3050 | def exitRule(self, listener:ParseTreeListener):\r |
3051 | if hasattr( listener, "exitAbstract_declarator" ):\r | |
3052 | listener.exitAbstract_declarator(self)\r | |
f51461c8 LG |
3053 | \r |
3054 | \r | |
f51461c8 | 3055 | \r |
f51461c8 | 3056 | \r |
22c4de1a | 3057 | def abstract_declarator(self):\r |
f51461c8 | 3058 | \r |
22c4de1a HC |
3059 | localctx = CParser.Abstract_declaratorContext(self, self._ctx, self.state)\r |
3060 | self.enterRule(localctx, 60, self.RULE_abstract_declarator)\r | |
3061 | try:\r | |
3062 | self.state = 461\r | |
3063 | self._errHandler.sync(self)\r | |
3064 | token = self._input.LA(1)\r | |
3065 | if token in [CParser.T__41]:\r | |
3066 | self.enterOuterAlt(localctx, 1)\r | |
3067 | self.state = 456\r | |
3068 | self.pointer()\r | |
3069 | self.state = 458\r | |
3070 | self._errHandler.sync(self)\r | |
3071 | la_ = self._interp.adaptivePredict(self._input,55,self._ctx)\r | |
3072 | if la_ == 1:\r | |
3073 | self.state = 457\r | |
3074 | self.direct_abstract_declarator()\r | |
f51461c8 | 3075 | \r |
f51461c8 | 3076 | \r |
22c4de1a HC |
3077 | pass\r |
3078 | elif token in [CParser.T__37, CParser.T__39]:\r | |
3079 | self.enterOuterAlt(localctx, 2)\r | |
3080 | self.state = 460\r | |
3081 | self.direct_abstract_declarator()\r | |
3082 | pass\r | |
3083 | else:\r | |
3084 | raise NoViableAltException(self)\r | |
f51461c8 | 3085 | \r |
22c4de1a HC |
3086 | except RecognitionException as re:\r |
3087 | localctx.exception = re\r | |
3088 | self._errHandler.reportError(self, re)\r | |
3089 | self._errHandler.recover(self, re)\r | |
3090 | finally:\r | |
3091 | self.exitRule()\r | |
3092 | return localctx\r | |
f51461c8 | 3093 | \r |
22c4de1a | 3094 | class Direct_abstract_declaratorContext(ParserRuleContext):\r |
f51461c8 | 3095 | \r |
22c4de1a HC |
3096 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
3097 | super().__init__(parent, invokingState)\r | |
3098 | self.parser = parser\r | |
f51461c8 | 3099 | \r |
22c4de1a HC |
3100 | def abstract_declarator(self):\r |
3101 | return self.getTypedRuleContext(CParser.Abstract_declaratorContext,0)\r | |
f51461c8 | 3102 | \r |
f51461c8 | 3103 | \r |
22c4de1a HC |
3104 | def abstract_declarator_suffix(self, i:int=None):\r |
3105 | if i is None:\r | |
3106 | return self.getTypedRuleContexts(CParser.Abstract_declarator_suffixContext)\r | |
3107 | else:\r | |
3108 | return self.getTypedRuleContext(CParser.Abstract_declarator_suffixContext,i)\r | |
f51461c8 | 3109 | \r |
f51461c8 | 3110 | \r |
22c4de1a HC |
3111 | def getRuleIndex(self):\r |
3112 | return CParser.RULE_direct_abstract_declarator\r | |
f51461c8 | 3113 | \r |
22c4de1a HC |
3114 | def enterRule(self, listener:ParseTreeListener):\r |
3115 | if hasattr( listener, "enterDirect_abstract_declarator" ):\r | |
3116 | listener.enterDirect_abstract_declarator(self)\r | |
f51461c8 | 3117 | \r |
22c4de1a HC |
3118 | def exitRule(self, listener:ParseTreeListener):\r |
3119 | if hasattr( listener, "exitDirect_abstract_declarator" ):\r | |
3120 | listener.exitDirect_abstract_declarator(self)\r | |
f51461c8 | 3121 | \r |
f51461c8 LG |
3122 | \r |
3123 | \r | |
f51461c8 | 3124 | \r |
22c4de1a | 3125 | def direct_abstract_declarator(self):\r |
f51461c8 | 3126 | \r |
22c4de1a HC |
3127 | localctx = CParser.Direct_abstract_declaratorContext(self, self._ctx, self.state)\r |
3128 | self.enterRule(localctx, 62, self.RULE_direct_abstract_declarator)\r | |
3129 | try:\r | |
3130 | self.enterOuterAlt(localctx, 1)\r | |
3131 | self.state = 468\r | |
3132 | self._errHandler.sync(self)\r | |
3133 | la_ = self._interp.adaptivePredict(self._input,57,self._ctx)\r | |
3134 | if la_ == 1:\r | |
3135 | self.state = 463\r | |
3136 | self.match(CParser.T__37)\r | |
3137 | self.state = 464\r | |
3138 | self.abstract_declarator()\r | |
3139 | self.state = 465\r | |
3140 | self.match(CParser.T__38)\r | |
3141 | pass\r | |
3142 | \r | |
3143 | elif la_ == 2:\r | |
3144 | self.state = 467\r | |
3145 | self.abstract_declarator_suffix()\r | |
3146 | pass\r | |
3147 | \r | |
3148 | \r | |
3149 | self.state = 473\r | |
3150 | self._errHandler.sync(self)\r | |
3151 | _alt = self._interp.adaptivePredict(self._input,58,self._ctx)\r | |
3152 | while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:\r | |
3153 | if _alt==1:\r | |
3154 | self.state = 470\r | |
3155 | self.abstract_declarator_suffix() \r | |
3156 | self.state = 475\r | |
3157 | self._errHandler.sync(self)\r | |
3158 | _alt = self._interp.adaptivePredict(self._input,58,self._ctx)\r | |
3159 | \r | |
3160 | except RecognitionException as re:\r | |
3161 | localctx.exception = re\r | |
3162 | self._errHandler.reportError(self, re)\r | |
3163 | self._errHandler.recover(self, re)\r | |
3164 | finally:\r | |
3165 | self.exitRule()\r | |
3166 | return localctx\r | |
f51461c8 | 3167 | \r |
22c4de1a | 3168 | class Abstract_declarator_suffixContext(ParserRuleContext):\r |
f51461c8 | 3169 | \r |
22c4de1a HC |
3170 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
3171 | super().__init__(parent, invokingState)\r | |
3172 | self.parser = parser\r | |
f51461c8 | 3173 | \r |
22c4de1a HC |
3174 | def constant_expression(self):\r |
3175 | return self.getTypedRuleContext(CParser.Constant_expressionContext,0)\r | |
f51461c8 | 3176 | \r |
f51461c8 | 3177 | \r |
22c4de1a HC |
3178 | def parameter_type_list(self):\r |
3179 | return self.getTypedRuleContext(CParser.Parameter_type_listContext,0)\r | |
f51461c8 LG |
3180 | \r |
3181 | \r | |
22c4de1a HC |
3182 | def getRuleIndex(self):\r |
3183 | return CParser.RULE_abstract_declarator_suffix\r | |
f51461c8 | 3184 | \r |
22c4de1a HC |
3185 | def enterRule(self, listener:ParseTreeListener):\r |
3186 | if hasattr( listener, "enterAbstract_declarator_suffix" ):\r | |
3187 | listener.enterAbstract_declarator_suffix(self)\r | |
f51461c8 | 3188 | \r |
22c4de1a HC |
3189 | def exitRule(self, listener:ParseTreeListener):\r |
3190 | if hasattr( listener, "exitAbstract_declarator_suffix" ):\r | |
3191 | listener.exitAbstract_declarator_suffix(self)\r | |
f51461c8 | 3192 | \r |
f51461c8 | 3193 | \r |
f51461c8 LG |
3194 | \r |
3195 | \r | |
22c4de1a | 3196 | def abstract_declarator_suffix(self):\r |
f51461c8 | 3197 | \r |
22c4de1a HC |
3198 | localctx = CParser.Abstract_declarator_suffixContext(self, self._ctx, self.state)\r |
3199 | self.enterRule(localctx, 64, self.RULE_abstract_declarator_suffix)\r | |
3200 | try:\r | |
3201 | self.state = 488\r | |
3202 | self._errHandler.sync(self)\r | |
3203 | la_ = self._interp.adaptivePredict(self._input,59,self._ctx)\r | |
3204 | if la_ == 1:\r | |
3205 | self.enterOuterAlt(localctx, 1)\r | |
3206 | self.state = 476\r | |
3207 | self.match(CParser.T__39)\r | |
3208 | self.state = 477\r | |
3209 | self.match(CParser.T__40)\r | |
3210 | pass\r | |
3211 | \r | |
3212 | elif la_ == 2:\r | |
3213 | self.enterOuterAlt(localctx, 2)\r | |
3214 | self.state = 478\r | |
3215 | self.match(CParser.T__39)\r | |
3216 | self.state = 479\r | |
3217 | self.constant_expression()\r | |
3218 | self.state = 480\r | |
3219 | self.match(CParser.T__40)\r | |
3220 | pass\r | |
3221 | \r | |
3222 | elif la_ == 3:\r | |
3223 | self.enterOuterAlt(localctx, 3)\r | |
3224 | self.state = 482\r | |
3225 | self.match(CParser.T__37)\r | |
3226 | self.state = 483\r | |
3227 | self.match(CParser.T__38)\r | |
3228 | pass\r | |
3229 | \r | |
3230 | elif la_ == 4:\r | |
3231 | self.enterOuterAlt(localctx, 4)\r | |
3232 | self.state = 484\r | |
3233 | self.match(CParser.T__37)\r | |
3234 | self.state = 485\r | |
3235 | self.parameter_type_list()\r | |
3236 | self.state = 486\r | |
3237 | self.match(CParser.T__38)\r | |
3238 | pass\r | |
3239 | \r | |
3240 | \r | |
3241 | except RecognitionException as re:\r | |
3242 | localctx.exception = re\r | |
3243 | self._errHandler.reportError(self, re)\r | |
3244 | self._errHandler.recover(self, re)\r | |
3245 | finally:\r | |
3246 | self.exitRule()\r | |
3247 | return localctx\r | |
f51461c8 | 3248 | \r |
22c4de1a | 3249 | class InitializerContext(ParserRuleContext):\r |
f51461c8 | 3250 | \r |
22c4de1a HC |
3251 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
3252 | super().__init__(parent, invokingState)\r | |
3253 | self.parser = parser\r | |
f51461c8 | 3254 | \r |
22c4de1a HC |
3255 | def assignment_expression(self):\r |
3256 | return self.getTypedRuleContext(CParser.Assignment_expressionContext,0)\r | |
f51461c8 LG |
3257 | \r |
3258 | \r | |
22c4de1a HC |
3259 | def initializer_list(self):\r |
3260 | return self.getTypedRuleContext(CParser.Initializer_listContext,0)\r | |
f51461c8 | 3261 | \r |
f51461c8 | 3262 | \r |
22c4de1a HC |
3263 | def getRuleIndex(self):\r |
3264 | return CParser.RULE_initializer\r | |
f51461c8 | 3265 | \r |
22c4de1a HC |
3266 | def enterRule(self, listener:ParseTreeListener):\r |
3267 | if hasattr( listener, "enterInitializer" ):\r | |
3268 | listener.enterInitializer(self)\r | |
f51461c8 | 3269 | \r |
22c4de1a HC |
3270 | def exitRule(self, listener:ParseTreeListener):\r |
3271 | if hasattr( listener, "exitInitializer" ):\r | |
3272 | listener.exitInitializer(self)\r | |
f51461c8 LG |
3273 | \r |
3274 | \r | |
f51461c8 | 3275 | \r |
f51461c8 | 3276 | \r |
22c4de1a | 3277 | def initializer(self):\r |
f51461c8 | 3278 | \r |
22c4de1a HC |
3279 | localctx = CParser.InitializerContext(self, self._ctx, self.state)\r |
3280 | self.enterRule(localctx, 66, self.RULE_initializer)\r | |
3281 | self._la = 0 # Token type\r | |
3282 | try:\r | |
3283 | self.state = 498\r | |
3284 | self._errHandler.sync(self)\r | |
3285 | token = self._input.LA(1)\r | |
3286 | if token in [CParser.T__37, CParser.T__41, CParser.T__43, CParser.T__44, CParser.T__47, CParser.T__48, CParser.T__49, CParser.T__52, CParser.T__53, CParser.T__54, CParser.IDENTIFIER, CParser.CHARACTER_LITERAL, CParser.STRING_LITERAL, CParser.HEX_LITERAL, CParser.DECIMAL_LITERAL, CParser.OCTAL_LITERAL, CParser.FLOATING_POINT_LITERAL]:\r | |
3287 | self.enterOuterAlt(localctx, 1)\r | |
3288 | self.state = 490\r | |
3289 | self.assignment_expression()\r | |
3290 | pass\r | |
3291 | elif token in [CParser.T__0]:\r | |
3292 | self.enterOuterAlt(localctx, 2)\r | |
3293 | self.state = 491\r | |
3294 | self.match(CParser.T__0)\r | |
3295 | self.state = 492\r | |
3296 | self.initializer_list()\r | |
3297 | self.state = 494\r | |
3298 | self._errHandler.sync(self)\r | |
3299 | _la = self._input.LA(1)\r | |
3300 | if _la==CParser.T__3:\r | |
3301 | self.state = 493\r | |
3302 | self.match(CParser.T__3)\r | |
3303 | \r | |
3304 | \r | |
3305 | self.state = 496\r | |
3306 | self.match(CParser.T__19)\r | |
3307 | pass\r | |
3308 | else:\r | |
3309 | raise NoViableAltException(self)\r | |
f51461c8 | 3310 | \r |
22c4de1a HC |
3311 | except RecognitionException as re:\r |
3312 | localctx.exception = re\r | |
3313 | self._errHandler.reportError(self, re)\r | |
3314 | self._errHandler.recover(self, re)\r | |
3315 | finally:\r | |
3316 | self.exitRule()\r | |
3317 | return localctx\r | |
f51461c8 | 3318 | \r |
22c4de1a | 3319 | class Initializer_listContext(ParserRuleContext):\r |
f51461c8 | 3320 | \r |
22c4de1a HC |
3321 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
3322 | super().__init__(parent, invokingState)\r | |
3323 | self.parser = parser\r | |
f51461c8 | 3324 | \r |
22c4de1a HC |
3325 | def initializer(self, i:int=None):\r |
3326 | if i is None:\r | |
3327 | return self.getTypedRuleContexts(CParser.InitializerContext)\r | |
3328 | else:\r | |
3329 | return self.getTypedRuleContext(CParser.InitializerContext,i)\r | |
f51461c8 LG |
3330 | \r |
3331 | \r | |
22c4de1a HC |
3332 | def getRuleIndex(self):\r |
3333 | return CParser.RULE_initializer_list\r | |
f51461c8 | 3334 | \r |
22c4de1a HC |
3335 | def enterRule(self, listener:ParseTreeListener):\r |
3336 | if hasattr( listener, "enterInitializer_list" ):\r | |
3337 | listener.enterInitializer_list(self)\r | |
f51461c8 | 3338 | \r |
22c4de1a HC |
3339 | def exitRule(self, listener:ParseTreeListener):\r |
3340 | if hasattr( listener, "exitInitializer_list" ):\r | |
3341 | listener.exitInitializer_list(self)\r | |
f51461c8 | 3342 | \r |
f51461c8 | 3343 | \r |
f51461c8 LG |
3344 | \r |
3345 | \r | |
22c4de1a | 3346 | def initializer_list(self):\r |
f51461c8 | 3347 | \r |
22c4de1a HC |
3348 | localctx = CParser.Initializer_listContext(self, self._ctx, self.state)\r |
3349 | self.enterRule(localctx, 68, self.RULE_initializer_list)\r | |
3350 | try:\r | |
3351 | self.enterOuterAlt(localctx, 1)\r | |
3352 | self.state = 500\r | |
3353 | self.initializer()\r | |
3354 | self.state = 505\r | |
3355 | self._errHandler.sync(self)\r | |
3356 | _alt = self._interp.adaptivePredict(self._input,62,self._ctx)\r | |
3357 | while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:\r | |
3358 | if _alt==1:\r | |
3359 | self.state = 501\r | |
3360 | self.match(CParser.T__3)\r | |
3361 | self.state = 502\r | |
3362 | self.initializer() \r | |
3363 | self.state = 507\r | |
3364 | self._errHandler.sync(self)\r | |
3365 | _alt = self._interp.adaptivePredict(self._input,62,self._ctx)\r | |
3366 | \r | |
3367 | except RecognitionException as re:\r | |
3368 | localctx.exception = re\r | |
3369 | self._errHandler.reportError(self, re)\r | |
3370 | self._errHandler.recover(self, re)\r | |
3371 | finally:\r | |
3372 | self.exitRule()\r | |
3373 | return localctx\r | |
f51461c8 | 3374 | \r |
22c4de1a | 3375 | class Argument_expression_listContext(ParserRuleContext):\r |
f51461c8 | 3376 | \r |
22c4de1a HC |
3377 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
3378 | super().__init__(parent, invokingState)\r | |
3379 | self.parser = parser\r | |
f51461c8 | 3380 | \r |
22c4de1a HC |
3381 | def assignment_expression(self, i:int=None):\r |
3382 | if i is None:\r | |
3383 | return self.getTypedRuleContexts(CParser.Assignment_expressionContext)\r | |
3384 | else:\r | |
3385 | return self.getTypedRuleContext(CParser.Assignment_expressionContext,i)\r | |
f51461c8 | 3386 | \r |
f51461c8 | 3387 | \r |
22c4de1a HC |
3388 | def getRuleIndex(self):\r |
3389 | return CParser.RULE_argument_expression_list\r | |
f51461c8 | 3390 | \r |
22c4de1a HC |
3391 | def enterRule(self, listener:ParseTreeListener):\r |
3392 | if hasattr( listener, "enterArgument_expression_list" ):\r | |
3393 | listener.enterArgument_expression_list(self)\r | |
f51461c8 | 3394 | \r |
22c4de1a HC |
3395 | def exitRule(self, listener:ParseTreeListener):\r |
3396 | if hasattr( listener, "exitArgument_expression_list" ):\r | |
3397 | listener.exitArgument_expression_list(self)\r | |
f51461c8 LG |
3398 | \r |
3399 | \r | |
f51461c8 | 3400 | \r |
f51461c8 | 3401 | \r |
22c4de1a | 3402 | def argument_expression_list(self):\r |
f51461c8 | 3403 | \r |
22c4de1a HC |
3404 | localctx = CParser.Argument_expression_listContext(self, self._ctx, self.state)\r |
3405 | self.enterRule(localctx, 70, self.RULE_argument_expression_list)\r | |
3406 | self._la = 0 # Token type\r | |
3407 | try:\r | |
3408 | self.enterOuterAlt(localctx, 1)\r | |
3409 | self.state = 508\r | |
3410 | self.assignment_expression()\r | |
3411 | self.state = 510\r | |
3412 | self._errHandler.sync(self)\r | |
3413 | _la = self._input.LA(1)\r | |
3414 | if _la==CParser.T__28:\r | |
3415 | self.state = 509\r | |
3416 | self.match(CParser.T__28)\r | |
3417 | \r | |
3418 | \r | |
3419 | self.state = 519\r | |
3420 | self._errHandler.sync(self)\r | |
3421 | _la = self._input.LA(1)\r | |
3422 | while _la==CParser.T__3:\r | |
3423 | self.state = 512\r | |
3424 | self.match(CParser.T__3)\r | |
3425 | self.state = 513\r | |
3426 | self.assignment_expression()\r | |
3427 | self.state = 515\r | |
3428 | self._errHandler.sync(self)\r | |
3429 | _la = self._input.LA(1)\r | |
3430 | if _la==CParser.T__28:\r | |
3431 | self.state = 514\r | |
3432 | self.match(CParser.T__28)\r | |
3433 | \r | |
3434 | \r | |
3435 | self.state = 521\r | |
3436 | self._errHandler.sync(self)\r | |
3437 | _la = self._input.LA(1)\r | |
3438 | \r | |
3439 | except RecognitionException as re:\r | |
3440 | localctx.exception = re\r | |
3441 | self._errHandler.reportError(self, re)\r | |
3442 | self._errHandler.recover(self, re)\r | |
3443 | finally:\r | |
3444 | self.exitRule()\r | |
3445 | return localctx\r | |
f51461c8 | 3446 | \r |
22c4de1a | 3447 | class Additive_expressionContext(ParserRuleContext):\r |
f51461c8 | 3448 | \r |
22c4de1a HC |
3449 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
3450 | super().__init__(parent, invokingState)\r | |
3451 | self.parser = parser\r | |
f51461c8 | 3452 | \r |
22c4de1a HC |
3453 | def multiplicative_expression(self, i:int=None):\r |
3454 | if i is None:\r | |
3455 | return self.getTypedRuleContexts(CParser.Multiplicative_expressionContext)\r | |
3456 | else:\r | |
3457 | return self.getTypedRuleContext(CParser.Multiplicative_expressionContext,i)\r | |
f51461c8 | 3458 | \r |
f51461c8 | 3459 | \r |
22c4de1a HC |
3460 | def getRuleIndex(self):\r |
3461 | return CParser.RULE_additive_expression\r | |
f51461c8 | 3462 | \r |
22c4de1a HC |
3463 | def enterRule(self, listener:ParseTreeListener):\r |
3464 | if hasattr( listener, "enterAdditive_expression" ):\r | |
3465 | listener.enterAdditive_expression(self)\r | |
f51461c8 | 3466 | \r |
22c4de1a HC |
3467 | def exitRule(self, listener:ParseTreeListener):\r |
3468 | if hasattr( listener, "exitAdditive_expression" ):\r | |
3469 | listener.exitAdditive_expression(self)\r | |
f51461c8 LG |
3470 | \r |
3471 | \r | |
f51461c8 | 3472 | \r |
f51461c8 | 3473 | \r |
22c4de1a | 3474 | def additive_expression(self):\r |
f51461c8 | 3475 | \r |
22c4de1a HC |
3476 | localctx = CParser.Additive_expressionContext(self, self._ctx, self.state)\r |
3477 | self.enterRule(localctx, 72, self.RULE_additive_expression)\r | |
3478 | self._la = 0 # Token type\r | |
3479 | try:\r | |
3480 | self.enterOuterAlt(localctx, 1)\r | |
3481 | self.state = 522\r | |
3482 | self.multiplicative_expression()\r | |
3483 | self.state = 529\r | |
3484 | self._errHandler.sync(self)\r | |
3485 | _la = self._input.LA(1)\r | |
3486 | while _la==CParser.T__43 or _la==CParser.T__44:\r | |
3487 | self.state = 527\r | |
3488 | self._errHandler.sync(self)\r | |
3489 | token = self._input.LA(1)\r | |
3490 | if token in [CParser.T__43]:\r | |
3491 | self.state = 523\r | |
3492 | self.match(CParser.T__43)\r | |
3493 | self.state = 524\r | |
3494 | self.multiplicative_expression()\r | |
3495 | pass\r | |
3496 | elif token in [CParser.T__44]:\r | |
3497 | self.state = 525\r | |
3498 | self.match(CParser.T__44)\r | |
3499 | self.state = 526\r | |
3500 | self.multiplicative_expression()\r | |
3501 | pass\r | |
3502 | else:\r | |
3503 | raise NoViableAltException(self)\r | |
f51461c8 | 3504 | \r |
22c4de1a HC |
3505 | self.state = 531\r |
3506 | self._errHandler.sync(self)\r | |
3507 | _la = self._input.LA(1)\r | |
f51461c8 | 3508 | \r |
22c4de1a HC |
3509 | except RecognitionException as re:\r |
3510 | localctx.exception = re\r | |
3511 | self._errHandler.reportError(self, re)\r | |
3512 | self._errHandler.recover(self, re)\r | |
3513 | finally:\r | |
3514 | self.exitRule()\r | |
3515 | return localctx\r | |
f51461c8 | 3516 | \r |
22c4de1a | 3517 | class Multiplicative_expressionContext(ParserRuleContext):\r |
f51461c8 | 3518 | \r |
22c4de1a HC |
3519 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
3520 | super().__init__(parent, invokingState)\r | |
3521 | self.parser = parser\r | |
f51461c8 | 3522 | \r |
22c4de1a HC |
3523 | def cast_expression(self, i:int=None):\r |
3524 | if i is None:\r | |
3525 | return self.getTypedRuleContexts(CParser.Cast_expressionContext)\r | |
3526 | else:\r | |
3527 | return self.getTypedRuleContext(CParser.Cast_expressionContext,i)\r | |
f51461c8 | 3528 | \r |
f51461c8 | 3529 | \r |
22c4de1a HC |
3530 | def getRuleIndex(self):\r |
3531 | return CParser.RULE_multiplicative_expression\r | |
f51461c8 | 3532 | \r |
22c4de1a HC |
3533 | def enterRule(self, listener:ParseTreeListener):\r |
3534 | if hasattr( listener, "enterMultiplicative_expression" ):\r | |
3535 | listener.enterMultiplicative_expression(self)\r | |
f51461c8 | 3536 | \r |
22c4de1a HC |
3537 | def exitRule(self, listener:ParseTreeListener):\r |
3538 | if hasattr( listener, "exitMultiplicative_expression" ):\r | |
3539 | listener.exitMultiplicative_expression(self)\r | |
f51461c8 | 3540 | \r |
f51461c8 LG |
3541 | \r |
3542 | \r | |
f51461c8 | 3543 | \r |
22c4de1a | 3544 | def multiplicative_expression(self):\r |
f51461c8 | 3545 | \r |
22c4de1a HC |
3546 | localctx = CParser.Multiplicative_expressionContext(self, self._ctx, self.state)\r |
3547 | self.enterRule(localctx, 74, self.RULE_multiplicative_expression)\r | |
3548 | self._la = 0 # Token type\r | |
3549 | try:\r | |
3550 | self.enterOuterAlt(localctx, 1)\r | |
3551 | self.state = 532\r | |
3552 | self.cast_expression()\r | |
3553 | self.state = 541\r | |
3554 | self._errHandler.sync(self)\r | |
3555 | _la = self._input.LA(1)\r | |
3556 | while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__41) | (1 << CParser.T__45) | (1 << CParser.T__46))) != 0):\r | |
3557 | self.state = 539\r | |
3558 | self._errHandler.sync(self)\r | |
3559 | token = self._input.LA(1)\r | |
3560 | if token in [CParser.T__41]:\r | |
3561 | self.state = 533\r | |
3562 | self.match(CParser.T__41)\r | |
3563 | self.state = 534\r | |
3564 | self.cast_expression()\r | |
3565 | pass\r | |
3566 | elif token in [CParser.T__45]:\r | |
3567 | self.state = 535\r | |
3568 | self.match(CParser.T__45)\r | |
3569 | self.state = 536\r | |
3570 | self.cast_expression()\r | |
3571 | pass\r | |
3572 | elif token in [CParser.T__46]:\r | |
3573 | self.state = 537\r | |
3574 | self.match(CParser.T__46)\r | |
3575 | self.state = 538\r | |
3576 | self.cast_expression()\r | |
3577 | pass\r | |
3578 | else:\r | |
3579 | raise NoViableAltException(self)\r | |
f51461c8 | 3580 | \r |
22c4de1a HC |
3581 | self.state = 543\r |
3582 | self._errHandler.sync(self)\r | |
3583 | _la = self._input.LA(1)\r | |
f51461c8 | 3584 | \r |
22c4de1a HC |
3585 | except RecognitionException as re:\r |
3586 | localctx.exception = re\r | |
3587 | self._errHandler.reportError(self, re)\r | |
3588 | self._errHandler.recover(self, re)\r | |
3589 | finally:\r | |
3590 | self.exitRule()\r | |
3591 | return localctx\r | |
f51461c8 | 3592 | \r |
22c4de1a | 3593 | class Cast_expressionContext(ParserRuleContext):\r |
f51461c8 | 3594 | \r |
22c4de1a HC |
3595 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
3596 | super().__init__(parent, invokingState)\r | |
3597 | self.parser = parser\r | |
f51461c8 | 3598 | \r |
22c4de1a HC |
3599 | def type_name(self):\r |
3600 | return self.getTypedRuleContext(CParser.Type_nameContext,0)\r | |
f51461c8 | 3601 | \r |
f51461c8 | 3602 | \r |
22c4de1a HC |
3603 | def cast_expression(self):\r |
3604 | return self.getTypedRuleContext(CParser.Cast_expressionContext,0)\r | |
f51461c8 | 3605 | \r |
f51461c8 | 3606 | \r |
22c4de1a HC |
3607 | def unary_expression(self):\r |
3608 | return self.getTypedRuleContext(CParser.Unary_expressionContext,0)\r | |
f51461c8 LG |
3609 | \r |
3610 | \r | |
22c4de1a HC |
3611 | def getRuleIndex(self):\r |
3612 | return CParser.RULE_cast_expression\r | |
f51461c8 | 3613 | \r |
22c4de1a HC |
3614 | def enterRule(self, listener:ParseTreeListener):\r |
3615 | if hasattr( listener, "enterCast_expression" ):\r | |
3616 | listener.enterCast_expression(self)\r | |
f51461c8 | 3617 | \r |
22c4de1a HC |
3618 | def exitRule(self, listener:ParseTreeListener):\r |
3619 | if hasattr( listener, "exitCast_expression" ):\r | |
3620 | listener.exitCast_expression(self)\r | |
f51461c8 | 3621 | \r |
f51461c8 | 3622 | \r |
f51461c8 LG |
3623 | \r |
3624 | \r | |
22c4de1a | 3625 | def cast_expression(self):\r |
f51461c8 | 3626 | \r |
22c4de1a HC |
3627 | localctx = CParser.Cast_expressionContext(self, self._ctx, self.state)\r |
3628 | self.enterRule(localctx, 76, self.RULE_cast_expression)\r | |
3629 | try:\r | |
3630 | self.state = 550\r | |
3631 | self._errHandler.sync(self)\r | |
3632 | la_ = self._interp.adaptivePredict(self._input,70,self._ctx)\r | |
3633 | if la_ == 1:\r | |
3634 | self.enterOuterAlt(localctx, 1)\r | |
3635 | self.state = 544\r | |
3636 | self.match(CParser.T__37)\r | |
3637 | self.state = 545\r | |
3638 | self.type_name()\r | |
3639 | self.state = 546\r | |
3640 | self.match(CParser.T__38)\r | |
3641 | self.state = 547\r | |
3642 | self.cast_expression()\r | |
3643 | pass\r | |
f51461c8 | 3644 | \r |
22c4de1a HC |
3645 | elif la_ == 2:\r |
3646 | self.enterOuterAlt(localctx, 2)\r | |
3647 | self.state = 549\r | |
3648 | self.unary_expression()\r | |
3649 | pass\r | |
f51461c8 | 3650 | \r |
f51461c8 | 3651 | \r |
22c4de1a HC |
3652 | except RecognitionException as re:\r |
3653 | localctx.exception = re\r | |
3654 | self._errHandler.reportError(self, re)\r | |
3655 | self._errHandler.recover(self, re)\r | |
3656 | finally:\r | |
3657 | self.exitRule()\r | |
3658 | return localctx\r | |
f51461c8 | 3659 | \r |
22c4de1a | 3660 | class Unary_expressionContext(ParserRuleContext):\r |
f51461c8 | 3661 | \r |
22c4de1a HC |
3662 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
3663 | super().__init__(parent, invokingState)\r | |
3664 | self.parser = parser\r | |
f51461c8 | 3665 | \r |
22c4de1a HC |
3666 | def postfix_expression(self):\r |
3667 | return self.getTypedRuleContext(CParser.Postfix_expressionContext,0)\r | |
f51461c8 LG |
3668 | \r |
3669 | \r | |
22c4de1a HC |
3670 | def unary_expression(self):\r |
3671 | return self.getTypedRuleContext(CParser.Unary_expressionContext,0)\r | |
f51461c8 | 3672 | \r |
f51461c8 | 3673 | \r |
22c4de1a HC |
3674 | def unary_operator(self):\r |
3675 | return self.getTypedRuleContext(CParser.Unary_operatorContext,0)\r | |
f51461c8 | 3676 | \r |
f51461c8 | 3677 | \r |
22c4de1a HC |
3678 | def cast_expression(self):\r |
3679 | return self.getTypedRuleContext(CParser.Cast_expressionContext,0)\r | |
f51461c8 LG |
3680 | \r |
3681 | \r | |
22c4de1a HC |
3682 | def type_name(self):\r |
3683 | return self.getTypedRuleContext(CParser.Type_nameContext,0)\r | |
f51461c8 | 3684 | \r |
f51461c8 | 3685 | \r |
22c4de1a HC |
3686 | def getRuleIndex(self):\r |
3687 | return CParser.RULE_unary_expression\r | |
f51461c8 | 3688 | \r |
22c4de1a HC |
3689 | def enterRule(self, listener:ParseTreeListener):\r |
3690 | if hasattr( listener, "enterUnary_expression" ):\r | |
3691 | listener.enterUnary_expression(self)\r | |
f51461c8 | 3692 | \r |
22c4de1a HC |
3693 | def exitRule(self, listener:ParseTreeListener):\r |
3694 | if hasattr( listener, "exitUnary_expression" ):\r | |
3695 | listener.exitUnary_expression(self)\r | |
f51461c8 LG |
3696 | \r |
3697 | \r | |
3698 | \r | |
f51461c8 | 3699 | \r |
22c4de1a | 3700 | def unary_expression(self):\r |
f51461c8 | 3701 | \r |
22c4de1a HC |
3702 | localctx = CParser.Unary_expressionContext(self, self._ctx, self.state)\r |
3703 | self.enterRule(localctx, 78, self.RULE_unary_expression)\r | |
3704 | try:\r | |
3705 | self.state = 567\r | |
3706 | self._errHandler.sync(self)\r | |
3707 | la_ = self._interp.adaptivePredict(self._input,71,self._ctx)\r | |
3708 | if la_ == 1:\r | |
3709 | self.enterOuterAlt(localctx, 1)\r | |
3710 | self.state = 552\r | |
3711 | self.postfix_expression()\r | |
3712 | pass\r | |
3713 | \r | |
3714 | elif la_ == 2:\r | |
3715 | self.enterOuterAlt(localctx, 2)\r | |
3716 | self.state = 553\r | |
3717 | self.match(CParser.T__47)\r | |
3718 | self.state = 554\r | |
3719 | self.unary_expression()\r | |
3720 | pass\r | |
f51461c8 | 3721 | \r |
22c4de1a HC |
3722 | elif la_ == 3:\r |
3723 | self.enterOuterAlt(localctx, 3)\r | |
3724 | self.state = 555\r | |
3725 | self.match(CParser.T__48)\r | |
3726 | self.state = 556\r | |
3727 | self.unary_expression()\r | |
3728 | pass\r | |
f51461c8 | 3729 | \r |
22c4de1a HC |
3730 | elif la_ == 4:\r |
3731 | self.enterOuterAlt(localctx, 4)\r | |
3732 | self.state = 557\r | |
3733 | self.unary_operator()\r | |
3734 | self.state = 558\r | |
3735 | self.cast_expression()\r | |
3736 | pass\r | |
f51461c8 | 3737 | \r |
22c4de1a HC |
3738 | elif la_ == 5:\r |
3739 | self.enterOuterAlt(localctx, 5)\r | |
3740 | self.state = 560\r | |
3741 | self.match(CParser.T__49)\r | |
3742 | self.state = 561\r | |
3743 | self.unary_expression()\r | |
3744 | pass\r | |
3745 | \r | |
3746 | elif la_ == 6:\r | |
3747 | self.enterOuterAlt(localctx, 6)\r | |
3748 | self.state = 562\r | |
3749 | self.match(CParser.T__49)\r | |
3750 | self.state = 563\r | |
3751 | self.match(CParser.T__37)\r | |
3752 | self.state = 564\r | |
3753 | self.type_name()\r | |
3754 | self.state = 565\r | |
3755 | self.match(CParser.T__38)\r | |
3756 | pass\r | |
3757 | \r | |
3758 | \r | |
3759 | except RecognitionException as re:\r | |
3760 | localctx.exception = re\r | |
3761 | self._errHandler.reportError(self, re)\r | |
3762 | self._errHandler.recover(self, re)\r | |
3763 | finally:\r | |
3764 | self.exitRule()\r | |
3765 | return localctx\r | |
3766 | \r | |
3767 | class Postfix_expressionContext(ParserRuleContext):\r | |
3768 | \r | |
3769 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r | |
3770 | super().__init__(parent, invokingState)\r | |
3771 | self.parser = parser\r | |
3772 | self.FuncCallText = ''\r | |
3773 | self.p = None # Primary_expressionContext\r | |
3774 | self.a = None # Token\r | |
3775 | self.c = None # Argument_expression_listContext\r | |
3776 | self.b = None # Token\r | |
3777 | self.x = None # Token\r | |
3778 | self.y = None # Token\r | |
3779 | self.z = None # Token\r | |
3780 | \r | |
3781 | def primary_expression(self):\r | |
3782 | return self.getTypedRuleContext(CParser.Primary_expressionContext,0)\r | |
3783 | \r | |
3784 | \r | |
3785 | def expression(self, i:int=None):\r | |
3786 | if i is None:\r | |
3787 | return self.getTypedRuleContexts(CParser.ExpressionContext)\r | |
3788 | else:\r | |
3789 | return self.getTypedRuleContext(CParser.ExpressionContext,i)\r | |
f51461c8 | 3790 | \r |
f51461c8 | 3791 | \r |
22c4de1a HC |
3792 | def macro_parameter_list(self, i:int=None):\r |
3793 | if i is None:\r | |
3794 | return self.getTypedRuleContexts(CParser.Macro_parameter_listContext)\r | |
3795 | else:\r | |
3796 | return self.getTypedRuleContext(CParser.Macro_parameter_listContext,i)\r | |
f51461c8 LG |
3797 | \r |
3798 | \r | |
22c4de1a HC |
3799 | def argument_expression_list(self, i:int=None):\r |
3800 | if i is None:\r | |
3801 | return self.getTypedRuleContexts(CParser.Argument_expression_listContext)\r | |
3802 | else:\r | |
3803 | return self.getTypedRuleContext(CParser.Argument_expression_listContext,i)\r | |
f51461c8 | 3804 | \r |
f51461c8 | 3805 | \r |
22c4de1a HC |
3806 | def IDENTIFIER(self, i:int=None):\r |
3807 | if i is None:\r | |
3808 | return self.getTokens(CParser.IDENTIFIER)\r | |
3809 | else:\r | |
3810 | return self.getToken(CParser.IDENTIFIER, i)\r | |
f51461c8 | 3811 | \r |
22c4de1a HC |
3812 | def getRuleIndex(self):\r |
3813 | return CParser.RULE_postfix_expression\r | |
f51461c8 | 3814 | \r |
22c4de1a HC |
3815 | def enterRule(self, listener:ParseTreeListener):\r |
3816 | if hasattr( listener, "enterPostfix_expression" ):\r | |
3817 | listener.enterPostfix_expression(self)\r | |
f51461c8 | 3818 | \r |
22c4de1a HC |
3819 | def exitRule(self, listener:ParseTreeListener):\r |
3820 | if hasattr( listener, "exitPostfix_expression" ):\r | |
3821 | listener.exitPostfix_expression(self)\r | |
f51461c8 | 3822 | \r |
f51461c8 | 3823 | \r |
f51461c8 LG |
3824 | \r |
3825 | \r | |
22c4de1a | 3826 | def postfix_expression(self):\r |
f51461c8 | 3827 | \r |
22c4de1a HC |
3828 | localctx = CParser.Postfix_expressionContext(self, self._ctx, self.state)\r |
3829 | self.enterRule(localctx, 80, self.RULE_postfix_expression)\r | |
f51461c8 | 3830 | \r |
22c4de1a HC |
3831 | self.FuncCallText=''\r |
3832 | \r | |
3833 | try:\r | |
3834 | self.enterOuterAlt(localctx, 1)\r | |
3835 | self.state = 569\r | |
3836 | localctx.p = self.primary_expression()\r | |
3837 | self.FuncCallText += (None if localctx.p is None else self._input.getText((localctx.p.start,localctx.p.stop)))\r | |
3838 | self.state = 600\r | |
3839 | self._errHandler.sync(self)\r | |
3840 | _alt = self._interp.adaptivePredict(self._input,73,self._ctx)\r | |
3841 | while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:\r | |
3842 | if _alt==1:\r | |
3843 | self.state = 598\r | |
3844 | self._errHandler.sync(self)\r | |
3845 | la_ = self._interp.adaptivePredict(self._input,72,self._ctx)\r | |
3846 | if la_ == 1:\r | |
3847 | self.state = 571\r | |
3848 | self.match(CParser.T__39)\r | |
3849 | self.state = 572\r | |
3850 | self.expression()\r | |
3851 | self.state = 573\r | |
3852 | self.match(CParser.T__40)\r | |
3853 | pass\r | |
3854 | \r | |
3855 | elif la_ == 2:\r | |
3856 | self.state = 575\r | |
3857 | self.match(CParser.T__37)\r | |
3858 | self.state = 576\r | |
3859 | localctx.a = self.match(CParser.T__38)\r | |
3860 | self.StoreFunctionCalling((None if localctx.p is None else localctx.p.start).line, (None if localctx.p is None else localctx.p.start).column, (0 if localctx.a is None else localctx.a.line), localctx.a.column, self.FuncCallText, '')\r | |
3861 | pass\r | |
3862 | \r | |
3863 | elif la_ == 3:\r | |
3864 | self.state = 578\r | |
3865 | self.match(CParser.T__37)\r | |
3866 | self.state = 579\r | |
3867 | localctx.c = self.argument_expression_list()\r | |
3868 | self.state = 580\r | |
3869 | localctx.b = self.match(CParser.T__38)\r | |
3870 | self.StoreFunctionCalling((None if localctx.p is None else localctx.p.start).line, (None if localctx.p is None else localctx.p.start).column, (0 if localctx.b is None else localctx.b.line), localctx.b.column, self.FuncCallText, (None if localctx.c is None else self._input.getText((localctx.c.start,localctx.c.stop))))\r | |
3871 | pass\r | |
3872 | \r | |
3873 | elif la_ == 4:\r | |
3874 | self.state = 583\r | |
3875 | self.match(CParser.T__37)\r | |
3876 | self.state = 584\r | |
3877 | self.macro_parameter_list()\r | |
3878 | self.state = 585\r | |
3879 | self.match(CParser.T__38)\r | |
3880 | pass\r | |
3881 | \r | |
3882 | elif la_ == 5:\r | |
3883 | self.state = 587\r | |
3884 | self.match(CParser.T__50)\r | |
3885 | self.state = 588\r | |
3886 | localctx.x = self.match(CParser.IDENTIFIER)\r | |
3887 | self.FuncCallText += '.' + (None if localctx.x is None else localctx.x.text)\r | |
3888 | pass\r | |
3889 | \r | |
3890 | elif la_ == 6:\r | |
3891 | self.state = 590\r | |
3892 | self.match(CParser.T__41)\r | |
3893 | self.state = 591\r | |
3894 | localctx.y = self.match(CParser.IDENTIFIER)\r | |
3895 | self.FuncCallText = (None if localctx.y is None else localctx.y.text)\r | |
3896 | pass\r | |
3897 | \r | |
3898 | elif la_ == 7:\r | |
3899 | self.state = 593\r | |
3900 | self.match(CParser.T__51)\r | |
3901 | self.state = 594\r | |
3902 | localctx.z = self.match(CParser.IDENTIFIER)\r | |
3903 | self.FuncCallText += '->' + (None if localctx.z is None else localctx.z.text)\r | |
3904 | pass\r | |
3905 | \r | |
3906 | elif la_ == 8:\r | |
3907 | self.state = 596\r | |
3908 | self.match(CParser.T__47)\r | |
3909 | pass\r | |
3910 | \r | |
3911 | elif la_ == 9:\r | |
3912 | self.state = 597\r | |
3913 | self.match(CParser.T__48)\r | |
3914 | pass\r | |
3915 | \r | |
3916 | \r | |
3917 | self.state = 602\r | |
3918 | self._errHandler.sync(self)\r | |
3919 | _alt = self._interp.adaptivePredict(self._input,73,self._ctx)\r | |
3920 | \r | |
3921 | except RecognitionException as re:\r | |
3922 | localctx.exception = re\r | |
3923 | self._errHandler.reportError(self, re)\r | |
3924 | self._errHandler.recover(self, re)\r | |
3925 | finally:\r | |
3926 | self.exitRule()\r | |
3927 | return localctx\r | |
f51461c8 | 3928 | \r |
22c4de1a | 3929 | class Macro_parameter_listContext(ParserRuleContext):\r |
f51461c8 | 3930 | \r |
22c4de1a HC |
3931 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
3932 | super().__init__(parent, invokingState)\r | |
3933 | self.parser = parser\r | |
f51461c8 | 3934 | \r |
22c4de1a HC |
3935 | def parameter_declaration(self, i:int=None):\r |
3936 | if i is None:\r | |
3937 | return self.getTypedRuleContexts(CParser.Parameter_declarationContext)\r | |
3938 | else:\r | |
3939 | return self.getTypedRuleContext(CParser.Parameter_declarationContext,i)\r | |
f51461c8 | 3940 | \r |
f51461c8 | 3941 | \r |
22c4de1a HC |
3942 | def getRuleIndex(self):\r |
3943 | return CParser.RULE_macro_parameter_list\r | |
f51461c8 | 3944 | \r |
22c4de1a HC |
3945 | def enterRule(self, listener:ParseTreeListener):\r |
3946 | if hasattr( listener, "enterMacro_parameter_list" ):\r | |
3947 | listener.enterMacro_parameter_list(self)\r | |
f51461c8 | 3948 | \r |
22c4de1a HC |
3949 | def exitRule(self, listener:ParseTreeListener):\r |
3950 | if hasattr( listener, "exitMacro_parameter_list" ):\r | |
3951 | listener.exitMacro_parameter_list(self)\r | |
f51461c8 | 3952 | \r |
f51461c8 LG |
3953 | \r |
3954 | \r | |
f51461c8 | 3955 | \r |
22c4de1a | 3956 | def macro_parameter_list(self):\r |
f51461c8 | 3957 | \r |
22c4de1a HC |
3958 | localctx = CParser.Macro_parameter_listContext(self, self._ctx, self.state)\r |
3959 | self.enterRule(localctx, 82, self.RULE_macro_parameter_list)\r | |
3960 | self._la = 0 # Token type\r | |
3961 | try:\r | |
3962 | self.enterOuterAlt(localctx, 1)\r | |
3963 | self.state = 603\r | |
3964 | self.parameter_declaration()\r | |
3965 | self.state = 608\r | |
3966 | self._errHandler.sync(self)\r | |
3967 | _la = self._input.LA(1)\r | |
3968 | while _la==CParser.T__3:\r | |
3969 | self.state = 604\r | |
3970 | self.match(CParser.T__3)\r | |
3971 | self.state = 605\r | |
3972 | self.parameter_declaration()\r | |
3973 | self.state = 610\r | |
3974 | self._errHandler.sync(self)\r | |
3975 | _la = self._input.LA(1)\r | |
3976 | \r | |
3977 | except RecognitionException as re:\r | |
3978 | localctx.exception = re\r | |
3979 | self._errHandler.reportError(self, re)\r | |
3980 | self._errHandler.recover(self, re)\r | |
3981 | finally:\r | |
3982 | self.exitRule()\r | |
3983 | return localctx\r | |
f51461c8 | 3984 | \r |
22c4de1a | 3985 | class Unary_operatorContext(ParserRuleContext):\r |
f51461c8 | 3986 | \r |
22c4de1a HC |
3987 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
3988 | super().__init__(parent, invokingState)\r | |
3989 | self.parser = parser\r | |
f51461c8 LG |
3990 | \r |
3991 | \r | |
22c4de1a HC |
3992 | def getRuleIndex(self):\r |
3993 | return CParser.RULE_unary_operator\r | |
f51461c8 | 3994 | \r |
22c4de1a HC |
3995 | def enterRule(self, listener:ParseTreeListener):\r |
3996 | if hasattr( listener, "enterUnary_operator" ):\r | |
3997 | listener.enterUnary_operator(self)\r | |
f51461c8 | 3998 | \r |
22c4de1a HC |
3999 | def exitRule(self, listener:ParseTreeListener):\r |
4000 | if hasattr( listener, "exitUnary_operator" ):\r | |
4001 | listener.exitUnary_operator(self)\r | |
f51461c8 LG |
4002 | \r |
4003 | \r | |
f51461c8 | 4004 | \r |
f51461c8 | 4005 | \r |
22c4de1a | 4006 | def unary_operator(self):\r |
f51461c8 | 4007 | \r |
22c4de1a HC |
4008 | localctx = CParser.Unary_operatorContext(self, self._ctx, self.state)\r |
4009 | self.enterRule(localctx, 84, self.RULE_unary_operator)\r | |
4010 | self._la = 0 # Token type\r | |
4011 | try:\r | |
4012 | self.enterOuterAlt(localctx, 1)\r | |
4013 | self.state = 611\r | |
4014 | _la = self._input.LA(1)\r | |
4015 | if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__41) | (1 << CParser.T__43) | (1 << CParser.T__44) | (1 << CParser.T__52) | (1 << CParser.T__53) | (1 << CParser.T__54))) != 0)):\r | |
4016 | self._errHandler.recoverInline(self)\r | |
4017 | else:\r | |
4018 | self._errHandler.reportMatch(self)\r | |
4019 | self.consume()\r | |
4020 | except RecognitionException as re:\r | |
4021 | localctx.exception = re\r | |
4022 | self._errHandler.reportError(self, re)\r | |
4023 | self._errHandler.recover(self, re)\r | |
4024 | finally:\r | |
4025 | self.exitRule()\r | |
4026 | return localctx\r | |
f51461c8 | 4027 | \r |
22c4de1a | 4028 | class Primary_expressionContext(ParserRuleContext):\r |
f51461c8 | 4029 | \r |
22c4de1a HC |
4030 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
4031 | super().__init__(parent, invokingState)\r | |
4032 | self.parser = parser\r | |
f51461c8 | 4033 | \r |
22c4de1a HC |
4034 | def IDENTIFIER(self):\r |
4035 | return self.getToken(CParser.IDENTIFIER, 0)\r | |
f51461c8 | 4036 | \r |
22c4de1a HC |
4037 | def constant(self):\r |
4038 | return self.getTypedRuleContext(CParser.ConstantContext,0)\r | |
f51461c8 LG |
4039 | \r |
4040 | \r | |
22c4de1a HC |
4041 | def expression(self):\r |
4042 | return self.getTypedRuleContext(CParser.ExpressionContext,0)\r | |
f51461c8 | 4043 | \r |
f51461c8 | 4044 | \r |
22c4de1a HC |
4045 | def getRuleIndex(self):\r |
4046 | return CParser.RULE_primary_expression\r | |
f51461c8 | 4047 | \r |
22c4de1a HC |
4048 | def enterRule(self, listener:ParseTreeListener):\r |
4049 | if hasattr( listener, "enterPrimary_expression" ):\r | |
4050 | listener.enterPrimary_expression(self)\r | |
f51461c8 | 4051 | \r |
22c4de1a HC |
4052 | def exitRule(self, listener:ParseTreeListener):\r |
4053 | if hasattr( listener, "exitPrimary_expression" ):\r | |
4054 | listener.exitPrimary_expression(self)\r | |
f51461c8 LG |
4055 | \r |
4056 | \r | |
f51461c8 | 4057 | \r |
f51461c8 | 4058 | \r |
22c4de1a | 4059 | def primary_expression(self):\r |
f51461c8 | 4060 | \r |
22c4de1a HC |
4061 | localctx = CParser.Primary_expressionContext(self, self._ctx, self.state)\r |
4062 | self.enterRule(localctx, 86, self.RULE_primary_expression)\r | |
4063 | try:\r | |
4064 | self.state = 619\r | |
4065 | self._errHandler.sync(self)\r | |
4066 | la_ = self._interp.adaptivePredict(self._input,75,self._ctx)\r | |
4067 | if la_ == 1:\r | |
4068 | self.enterOuterAlt(localctx, 1)\r | |
4069 | self.state = 613\r | |
4070 | self.match(CParser.IDENTIFIER)\r | |
4071 | pass\r | |
4072 | \r | |
4073 | elif la_ == 2:\r | |
4074 | self.enterOuterAlt(localctx, 2)\r | |
4075 | self.state = 614\r | |
4076 | self.constant()\r | |
4077 | pass\r | |
4078 | \r | |
4079 | elif la_ == 3:\r | |
4080 | self.enterOuterAlt(localctx, 3)\r | |
4081 | self.state = 615\r | |
4082 | self.match(CParser.T__37)\r | |
4083 | self.state = 616\r | |
4084 | self.expression()\r | |
4085 | self.state = 617\r | |
4086 | self.match(CParser.T__38)\r | |
4087 | pass\r | |
4088 | \r | |
4089 | \r | |
4090 | except RecognitionException as re:\r | |
4091 | localctx.exception = re\r | |
4092 | self._errHandler.reportError(self, re)\r | |
4093 | self._errHandler.recover(self, re)\r | |
4094 | finally:\r | |
4095 | self.exitRule()\r | |
4096 | return localctx\r | |
f51461c8 | 4097 | \r |
22c4de1a | 4098 | class ConstantContext(ParserRuleContext):\r |
f51461c8 | 4099 | \r |
22c4de1a HC |
4100 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
4101 | super().__init__(parent, invokingState)\r | |
4102 | self.parser = parser\r | |
f51461c8 | 4103 | \r |
22c4de1a HC |
4104 | def HEX_LITERAL(self):\r |
4105 | return self.getToken(CParser.HEX_LITERAL, 0)\r | |
f51461c8 | 4106 | \r |
22c4de1a HC |
4107 | def OCTAL_LITERAL(self):\r |
4108 | return self.getToken(CParser.OCTAL_LITERAL, 0)\r | |
f51461c8 | 4109 | \r |
22c4de1a HC |
4110 | def DECIMAL_LITERAL(self):\r |
4111 | return self.getToken(CParser.DECIMAL_LITERAL, 0)\r | |
f51461c8 | 4112 | \r |
22c4de1a HC |
4113 | def CHARACTER_LITERAL(self):\r |
4114 | return self.getToken(CParser.CHARACTER_LITERAL, 0)\r | |
f51461c8 | 4115 | \r |
22c4de1a HC |
4116 | def IDENTIFIER(self, i:int=None):\r |
4117 | if i is None:\r | |
4118 | return self.getTokens(CParser.IDENTIFIER)\r | |
4119 | else:\r | |
4120 | return self.getToken(CParser.IDENTIFIER, i)\r | |
f51461c8 | 4121 | \r |
22c4de1a HC |
4122 | def STRING_LITERAL(self, i:int=None):\r |
4123 | if i is None:\r | |
4124 | return self.getTokens(CParser.STRING_LITERAL)\r | |
4125 | else:\r | |
4126 | return self.getToken(CParser.STRING_LITERAL, i)\r | |
f51461c8 | 4127 | \r |
22c4de1a HC |
4128 | def FLOATING_POINT_LITERAL(self):\r |
4129 | return self.getToken(CParser.FLOATING_POINT_LITERAL, 0)\r | |
f51461c8 | 4130 | \r |
22c4de1a HC |
4131 | def getRuleIndex(self):\r |
4132 | return CParser.RULE_constant\r | |
f51461c8 | 4133 | \r |
22c4de1a HC |
4134 | def enterRule(self, listener:ParseTreeListener):\r |
4135 | if hasattr( listener, "enterConstant" ):\r | |
4136 | listener.enterConstant(self)\r | |
f51461c8 | 4137 | \r |
22c4de1a HC |
4138 | def exitRule(self, listener:ParseTreeListener):\r |
4139 | if hasattr( listener, "exitConstant" ):\r | |
4140 | listener.exitConstant(self)\r | |
f51461c8 | 4141 | \r |
f51461c8 LG |
4142 | \r |
4143 | \r | |
4144 | \r | |
22c4de1a | 4145 | def constant(self):\r |
f51461c8 | 4146 | \r |
22c4de1a HC |
4147 | localctx = CParser.ConstantContext(self, self._ctx, self.state)\r |
4148 | self.enterRule(localctx, 88, self.RULE_constant)\r | |
4149 | self._la = 0 # Token type\r | |
4150 | try:\r | |
4151 | self.state = 647\r | |
4152 | self._errHandler.sync(self)\r | |
4153 | token = self._input.LA(1)\r | |
4154 | if token in [CParser.HEX_LITERAL]:\r | |
4155 | self.enterOuterAlt(localctx, 1)\r | |
4156 | self.state = 621\r | |
4157 | self.match(CParser.HEX_LITERAL)\r | |
4158 | pass\r | |
4159 | elif token in [CParser.OCTAL_LITERAL]:\r | |
4160 | self.enterOuterAlt(localctx, 2)\r | |
4161 | self.state = 622\r | |
4162 | self.match(CParser.OCTAL_LITERAL)\r | |
4163 | pass\r | |
4164 | elif token in [CParser.DECIMAL_LITERAL]:\r | |
4165 | self.enterOuterAlt(localctx, 3)\r | |
4166 | self.state = 623\r | |
4167 | self.match(CParser.DECIMAL_LITERAL)\r | |
4168 | pass\r | |
4169 | elif token in [CParser.CHARACTER_LITERAL]:\r | |
4170 | self.enterOuterAlt(localctx, 4)\r | |
4171 | self.state = 624\r | |
4172 | self.match(CParser.CHARACTER_LITERAL)\r | |
4173 | pass\r | |
4174 | elif token in [CParser.IDENTIFIER, CParser.STRING_LITERAL]:\r | |
4175 | self.enterOuterAlt(localctx, 5)\r | |
4176 | self.state = 636 \r | |
4177 | self._errHandler.sync(self)\r | |
4178 | _alt = 1\r | |
4179 | while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:\r | |
4180 | if _alt == 1:\r | |
4181 | self.state = 628\r | |
4182 | self._errHandler.sync(self)\r | |
4183 | _la = self._input.LA(1)\r | |
4184 | while _la==CParser.IDENTIFIER:\r | |
4185 | self.state = 625\r | |
4186 | self.match(CParser.IDENTIFIER)\r | |
4187 | self.state = 630\r | |
4188 | self._errHandler.sync(self)\r | |
4189 | _la = self._input.LA(1)\r | |
4190 | \r | |
4191 | self.state = 632 \r | |
4192 | self._errHandler.sync(self)\r | |
4193 | _alt = 1\r | |
4194 | while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:\r | |
4195 | if _alt == 1:\r | |
4196 | self.state = 631\r | |
4197 | self.match(CParser.STRING_LITERAL)\r | |
4198 | \r | |
4199 | else:\r | |
4200 | raise NoViableAltException(self)\r | |
4201 | self.state = 634 \r | |
4202 | self._errHandler.sync(self)\r | |
4203 | _alt = self._interp.adaptivePredict(self._input,77,self._ctx)\r | |
f51461c8 LG |
4204 | \r |
4205 | \r | |
4206 | else:\r | |
22c4de1a HC |
4207 | raise NoViableAltException(self)\r |
4208 | self.state = 638 \r | |
4209 | self._errHandler.sync(self)\r | |
4210 | _alt = self._interp.adaptivePredict(self._input,78,self._ctx)\r | |
4211 | \r | |
4212 | self.state = 643\r | |
4213 | self._errHandler.sync(self)\r | |
4214 | _la = self._input.LA(1)\r | |
4215 | while _la==CParser.IDENTIFIER:\r | |
4216 | self.state = 640\r | |
4217 | self.match(CParser.IDENTIFIER)\r | |
4218 | self.state = 645\r | |
4219 | self._errHandler.sync(self)\r | |
4220 | _la = self._input.LA(1)\r | |
4221 | \r | |
4222 | pass\r | |
4223 | elif token in [CParser.FLOATING_POINT_LITERAL]:\r | |
4224 | self.enterOuterAlt(localctx, 6)\r | |
4225 | self.state = 646\r | |
4226 | self.match(CParser.FLOATING_POINT_LITERAL)\r | |
4227 | pass\r | |
4228 | else:\r | |
4229 | raise NoViableAltException(self)\r | |
f51461c8 | 4230 | \r |
22c4de1a HC |
4231 | except RecognitionException as re:\r |
4232 | localctx.exception = re\r | |
4233 | self._errHandler.reportError(self, re)\r | |
4234 | self._errHandler.recover(self, re)\r | |
4235 | finally:\r | |
4236 | self.exitRule()\r | |
4237 | return localctx\r | |
f51461c8 | 4238 | \r |
22c4de1a | 4239 | class ExpressionContext(ParserRuleContext):\r |
f51461c8 | 4240 | \r |
22c4de1a HC |
4241 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
4242 | super().__init__(parent, invokingState)\r | |
4243 | self.parser = parser\r | |
f51461c8 | 4244 | \r |
22c4de1a HC |
4245 | def assignment_expression(self, i:int=None):\r |
4246 | if i is None:\r | |
4247 | return self.getTypedRuleContexts(CParser.Assignment_expressionContext)\r | |
4248 | else:\r | |
4249 | return self.getTypedRuleContext(CParser.Assignment_expressionContext,i)\r | |
f51461c8 LG |
4250 | \r |
4251 | \r | |
22c4de1a HC |
4252 | def getRuleIndex(self):\r |
4253 | return CParser.RULE_expression\r | |
f51461c8 | 4254 | \r |
22c4de1a HC |
4255 | def enterRule(self, listener:ParseTreeListener):\r |
4256 | if hasattr( listener, "enterExpression" ):\r | |
4257 | listener.enterExpression(self)\r | |
f51461c8 | 4258 | \r |
22c4de1a HC |
4259 | def exitRule(self, listener:ParseTreeListener):\r |
4260 | if hasattr( listener, "exitExpression" ):\r | |
4261 | listener.exitExpression(self)\r | |
f51461c8 | 4262 | \r |
f51461c8 | 4263 | \r |
f51461c8 | 4264 | \r |
f51461c8 | 4265 | \r |
22c4de1a | 4266 | def expression(self):\r |
f51461c8 | 4267 | \r |
22c4de1a HC |
4268 | localctx = CParser.ExpressionContext(self, self._ctx, self.state)\r |
4269 | self.enterRule(localctx, 90, self.RULE_expression)\r | |
4270 | self._la = 0 # Token type\r | |
4271 | try:\r | |
4272 | self.enterOuterAlt(localctx, 1)\r | |
4273 | self.state = 649\r | |
4274 | self.assignment_expression()\r | |
4275 | self.state = 654\r | |
4276 | self._errHandler.sync(self)\r | |
4277 | _la = self._input.LA(1)\r | |
4278 | while _la==CParser.T__3:\r | |
4279 | self.state = 650\r | |
4280 | self.match(CParser.T__3)\r | |
4281 | self.state = 651\r | |
4282 | self.assignment_expression()\r | |
4283 | self.state = 656\r | |
4284 | self._errHandler.sync(self)\r | |
4285 | _la = self._input.LA(1)\r | |
4286 | \r | |
4287 | except RecognitionException as re:\r | |
4288 | localctx.exception = re\r | |
4289 | self._errHandler.reportError(self, re)\r | |
4290 | self._errHandler.recover(self, re)\r | |
4291 | finally:\r | |
4292 | self.exitRule()\r | |
4293 | return localctx\r | |
f51461c8 | 4294 | \r |
22c4de1a | 4295 | class Constant_expressionContext(ParserRuleContext):\r |
f51461c8 | 4296 | \r |
22c4de1a HC |
4297 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
4298 | super().__init__(parent, invokingState)\r | |
4299 | self.parser = parser\r | |
f51461c8 | 4300 | \r |
22c4de1a HC |
4301 | def conditional_expression(self):\r |
4302 | return self.getTypedRuleContext(CParser.Conditional_expressionContext,0)\r | |
f51461c8 | 4303 | \r |
f51461c8 | 4304 | \r |
22c4de1a HC |
4305 | def getRuleIndex(self):\r |
4306 | return CParser.RULE_constant_expression\r | |
f51461c8 | 4307 | \r |
22c4de1a HC |
4308 | def enterRule(self, listener:ParseTreeListener):\r |
4309 | if hasattr( listener, "enterConstant_expression" ):\r | |
4310 | listener.enterConstant_expression(self)\r | |
f51461c8 | 4311 | \r |
22c4de1a HC |
4312 | def exitRule(self, listener:ParseTreeListener):\r |
4313 | if hasattr( listener, "exitConstant_expression" ):\r | |
4314 | listener.exitConstant_expression(self)\r | |
f51461c8 | 4315 | \r |
f51461c8 LG |
4316 | \r |
4317 | \r | |
f51461c8 | 4318 | \r |
22c4de1a | 4319 | def constant_expression(self):\r |
f51461c8 | 4320 | \r |
22c4de1a HC |
4321 | localctx = CParser.Constant_expressionContext(self, self._ctx, self.state)\r |
4322 | self.enterRule(localctx, 92, self.RULE_constant_expression)\r | |
4323 | try:\r | |
4324 | self.enterOuterAlt(localctx, 1)\r | |
4325 | self.state = 657\r | |
4326 | self.conditional_expression()\r | |
4327 | except RecognitionException as re:\r | |
4328 | localctx.exception = re\r | |
4329 | self._errHandler.reportError(self, re)\r | |
4330 | self._errHandler.recover(self, re)\r | |
f51461c8 | 4331 | finally:\r |
22c4de1a HC |
4332 | self.exitRule()\r |
4333 | return localctx\r | |
f51461c8 | 4334 | \r |
22c4de1a | 4335 | class Assignment_expressionContext(ParserRuleContext):\r |
f51461c8 | 4336 | \r |
22c4de1a HC |
4337 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
4338 | super().__init__(parent, invokingState)\r | |
4339 | self.parser = parser\r | |
f51461c8 | 4340 | \r |
22c4de1a HC |
4341 | def lvalue(self):\r |
4342 | return self.getTypedRuleContext(CParser.LvalueContext,0)\r | |
f51461c8 LG |
4343 | \r |
4344 | \r | |
22c4de1a HC |
4345 | def assignment_operator(self):\r |
4346 | return self.getTypedRuleContext(CParser.Assignment_operatorContext,0)\r | |
f51461c8 | 4347 | \r |
f51461c8 | 4348 | \r |
22c4de1a HC |
4349 | def assignment_expression(self):\r |
4350 | return self.getTypedRuleContext(CParser.Assignment_expressionContext,0)\r | |
f51461c8 LG |
4351 | \r |
4352 | \r | |
22c4de1a HC |
4353 | def conditional_expression(self):\r |
4354 | return self.getTypedRuleContext(CParser.Conditional_expressionContext,0)\r | |
f51461c8 | 4355 | \r |
f51461c8 | 4356 | \r |
22c4de1a HC |
4357 | def getRuleIndex(self):\r |
4358 | return CParser.RULE_assignment_expression\r | |
f51461c8 | 4359 | \r |
22c4de1a HC |
4360 | def enterRule(self, listener:ParseTreeListener):\r |
4361 | if hasattr( listener, "enterAssignment_expression" ):\r | |
4362 | listener.enterAssignment_expression(self)\r | |
f51461c8 | 4363 | \r |
22c4de1a HC |
4364 | def exitRule(self, listener:ParseTreeListener):\r |
4365 | if hasattr( listener, "exitAssignment_expression" ):\r | |
4366 | listener.exitAssignment_expression(self)\r | |
f51461c8 LG |
4367 | \r |
4368 | \r | |
f51461c8 | 4369 | \r |
f51461c8 | 4370 | \r |
22c4de1a | 4371 | def assignment_expression(self):\r |
f51461c8 | 4372 | \r |
22c4de1a HC |
4373 | localctx = CParser.Assignment_expressionContext(self, self._ctx, self.state)\r |
4374 | self.enterRule(localctx, 94, self.RULE_assignment_expression)\r | |
f51461c8 | 4375 | try:\r |
22c4de1a HC |
4376 | self.state = 664\r |
4377 | self._errHandler.sync(self)\r | |
4378 | la_ = self._interp.adaptivePredict(self._input,82,self._ctx)\r | |
4379 | if la_ == 1:\r | |
4380 | self.enterOuterAlt(localctx, 1)\r | |
4381 | self.state = 659\r | |
4382 | self.lvalue()\r | |
4383 | self.state = 660\r | |
4384 | self.assignment_operator()\r | |
4385 | self.state = 661\r | |
4386 | self.assignment_expression()\r | |
4387 | pass\r | |
f51461c8 | 4388 | \r |
22c4de1a HC |
4389 | elif la_ == 2:\r |
4390 | self.enterOuterAlt(localctx, 2)\r | |
4391 | self.state = 663\r | |
4392 | self.conditional_expression()\r | |
4393 | pass\r | |
f51461c8 | 4394 | \r |
f51461c8 | 4395 | \r |
22c4de1a HC |
4396 | except RecognitionException as re:\r |
4397 | localctx.exception = re\r | |
4398 | self._errHandler.reportError(self, re)\r | |
4399 | self._errHandler.recover(self, re)\r | |
4400 | finally:\r | |
4401 | self.exitRule()\r | |
4402 | return localctx\r | |
f51461c8 | 4403 | \r |
22c4de1a | 4404 | class LvalueContext(ParserRuleContext):\r |
f51461c8 | 4405 | \r |
22c4de1a HC |
4406 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
4407 | super().__init__(parent, invokingState)\r | |
4408 | self.parser = parser\r | |
f51461c8 | 4409 | \r |
22c4de1a HC |
4410 | def unary_expression(self):\r |
4411 | return self.getTypedRuleContext(CParser.Unary_expressionContext,0)\r | |
f51461c8 LG |
4412 | \r |
4413 | \r | |
22c4de1a HC |
4414 | def getRuleIndex(self):\r |
4415 | return CParser.RULE_lvalue\r | |
f51461c8 | 4416 | \r |
22c4de1a HC |
4417 | def enterRule(self, listener:ParseTreeListener):\r |
4418 | if hasattr( listener, "enterLvalue" ):\r | |
4419 | listener.enterLvalue(self)\r | |
f51461c8 | 4420 | \r |
22c4de1a HC |
4421 | def exitRule(self, listener:ParseTreeListener):\r |
4422 | if hasattr( listener, "exitLvalue" ):\r | |
4423 | listener.exitLvalue(self)\r | |
f51461c8 | 4424 | \r |
f51461c8 | 4425 | \r |
f51461c8 LG |
4426 | \r |
4427 | \r | |
22c4de1a | 4428 | def lvalue(self):\r |
f51461c8 | 4429 | \r |
22c4de1a HC |
4430 | localctx = CParser.LvalueContext(self, self._ctx, self.state)\r |
4431 | self.enterRule(localctx, 96, self.RULE_lvalue)\r | |
f51461c8 | 4432 | try:\r |
22c4de1a HC |
4433 | self.enterOuterAlt(localctx, 1)\r |
4434 | self.state = 666\r | |
4435 | self.unary_expression()\r | |
4436 | except RecognitionException as re:\r | |
4437 | localctx.exception = re\r | |
4438 | self._errHandler.reportError(self, re)\r | |
4439 | self._errHandler.recover(self, re)\r | |
f51461c8 | 4440 | finally:\r |
22c4de1a HC |
4441 | self.exitRule()\r |
4442 | return localctx\r | |
f51461c8 | 4443 | \r |
22c4de1a | 4444 | class Assignment_operatorContext(ParserRuleContext):\r |
f51461c8 | 4445 | \r |
22c4de1a HC |
4446 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
4447 | super().__init__(parent, invokingState)\r | |
4448 | self.parser = parser\r | |
f51461c8 LG |
4449 | \r |
4450 | \r | |
22c4de1a HC |
4451 | def getRuleIndex(self):\r |
4452 | return CParser.RULE_assignment_operator\r | |
f51461c8 | 4453 | \r |
22c4de1a HC |
4454 | def enterRule(self, listener:ParseTreeListener):\r |
4455 | if hasattr( listener, "enterAssignment_operator" ):\r | |
4456 | listener.enterAssignment_operator(self)\r | |
f51461c8 | 4457 | \r |
22c4de1a HC |
4458 | def exitRule(self, listener:ParseTreeListener):\r |
4459 | if hasattr( listener, "exitAssignment_operator" ):\r | |
4460 | listener.exitAssignment_operator(self)\r | |
f51461c8 LG |
4461 | \r |
4462 | \r | |
4463 | \r | |
f51461c8 | 4464 | \r |
22c4de1a | 4465 | def assignment_operator(self):\r |
f51461c8 | 4466 | \r |
22c4de1a HC |
4467 | localctx = CParser.Assignment_operatorContext(self, self._ctx, self.state)\r |
4468 | self.enterRule(localctx, 98, self.RULE_assignment_operator)\r | |
4469 | self._la = 0 # Token type\r | |
4470 | try:\r | |
4471 | self.enterOuterAlt(localctx, 1)\r | |
4472 | self.state = 668\r | |
4473 | _la = self._input.LA(1)\r | |
4474 | if not(((((_la - 5)) & ~0x3f) == 0 and ((1 << (_la - 5)) & ((1 << (CParser.T__4 - 5)) | (1 << (CParser.T__55 - 5)) | (1 << (CParser.T__56 - 5)) | (1 << (CParser.T__57 - 5)) | (1 << (CParser.T__58 - 5)) | (1 << (CParser.T__59 - 5)) | (1 << (CParser.T__60 - 5)) | (1 << (CParser.T__61 - 5)) | (1 << (CParser.T__62 - 5)) | (1 << (CParser.T__63 - 5)) | (1 << (CParser.T__64 - 5)))) != 0)):\r | |
4475 | self._errHandler.recoverInline(self)\r | |
4476 | else:\r | |
4477 | self._errHandler.reportMatch(self)\r | |
4478 | self.consume()\r | |
4479 | except RecognitionException as re:\r | |
4480 | localctx.exception = re\r | |
4481 | self._errHandler.reportError(self, re)\r | |
4482 | self._errHandler.recover(self, re)\r | |
4483 | finally:\r | |
4484 | self.exitRule()\r | |
4485 | return localctx\r | |
f51461c8 | 4486 | \r |
22c4de1a | 4487 | class Conditional_expressionContext(ParserRuleContext):\r |
f51461c8 | 4488 | \r |
22c4de1a HC |
4489 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
4490 | super().__init__(parent, invokingState)\r | |
4491 | self.parser = parser\r | |
4492 | self.e = None # Logical_or_expressionContext\r | |
f51461c8 | 4493 | \r |
22c4de1a HC |
4494 | def logical_or_expression(self):\r |
4495 | return self.getTypedRuleContext(CParser.Logical_or_expressionContext,0)\r | |
f51461c8 LG |
4496 | \r |
4497 | \r | |
22c4de1a HC |
4498 | def expression(self):\r |
4499 | return self.getTypedRuleContext(CParser.ExpressionContext,0)\r | |
f51461c8 LG |
4500 | \r |
4501 | \r | |
22c4de1a HC |
4502 | def conditional_expression(self):\r |
4503 | return self.getTypedRuleContext(CParser.Conditional_expressionContext,0)\r | |
f51461c8 | 4504 | \r |
f51461c8 | 4505 | \r |
22c4de1a HC |
4506 | def getRuleIndex(self):\r |
4507 | return CParser.RULE_conditional_expression\r | |
f51461c8 | 4508 | \r |
22c4de1a HC |
4509 | def enterRule(self, listener:ParseTreeListener):\r |
4510 | if hasattr( listener, "enterConditional_expression" ):\r | |
4511 | listener.enterConditional_expression(self)\r | |
f51461c8 | 4512 | \r |
22c4de1a HC |
4513 | def exitRule(self, listener:ParseTreeListener):\r |
4514 | if hasattr( listener, "exitConditional_expression" ):\r | |
4515 | listener.exitConditional_expression(self)\r | |
f51461c8 LG |
4516 | \r |
4517 | \r | |
f51461c8 LG |
4518 | \r |
4519 | \r | |
22c4de1a | 4520 | def conditional_expression(self):\r |
f51461c8 | 4521 | \r |
22c4de1a HC |
4522 | localctx = CParser.Conditional_expressionContext(self, self._ctx, self.state)\r |
4523 | self.enterRule(localctx, 100, self.RULE_conditional_expression)\r | |
4524 | self._la = 0 # Token type\r | |
4525 | try:\r | |
4526 | self.enterOuterAlt(localctx, 1)\r | |
4527 | self.state = 670\r | |
4528 | localctx.e = self.logical_or_expression()\r | |
4529 | self.state = 677\r | |
4530 | self._errHandler.sync(self)\r | |
4531 | _la = self._input.LA(1)\r | |
4532 | if _la==CParser.T__65:\r | |
4533 | self.state = 671\r | |
4534 | self.match(CParser.T__65)\r | |
4535 | self.state = 672\r | |
4536 | self.expression()\r | |
4537 | self.state = 673\r | |
4538 | self.match(CParser.T__22)\r | |
4539 | self.state = 674\r | |
4540 | self.conditional_expression()\r | |
4541 | self.StorePredicateExpression((None if localctx.e is None else localctx.e.start).line, (None if localctx.e is None else localctx.e.start).column, (None if localctx.e is None else localctx.e.stop).line, (None if localctx.e is None else localctx.e.stop).column, (None if localctx.e is None else self._input.getText((localctx.e.start,localctx.e.stop))))\r | |
f51461c8 LG |
4542 | \r |
4543 | \r | |
22c4de1a HC |
4544 | except RecognitionException as re:\r |
4545 | localctx.exception = re\r | |
4546 | self._errHandler.reportError(self, re)\r | |
4547 | self._errHandler.recover(self, re)\r | |
4548 | finally:\r | |
4549 | self.exitRule()\r | |
4550 | return localctx\r | |
f51461c8 | 4551 | \r |
22c4de1a | 4552 | class Logical_or_expressionContext(ParserRuleContext):\r |
f51461c8 | 4553 | \r |
22c4de1a HC |
4554 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
4555 | super().__init__(parent, invokingState)\r | |
4556 | self.parser = parser\r | |
f51461c8 | 4557 | \r |
22c4de1a HC |
4558 | def logical_and_expression(self, i:int=None):\r |
4559 | if i is None:\r | |
4560 | return self.getTypedRuleContexts(CParser.Logical_and_expressionContext)\r | |
4561 | else:\r | |
4562 | return self.getTypedRuleContext(CParser.Logical_and_expressionContext,i)\r | |
f51461c8 LG |
4563 | \r |
4564 | \r | |
22c4de1a HC |
4565 | def getRuleIndex(self):\r |
4566 | return CParser.RULE_logical_or_expression\r | |
f51461c8 | 4567 | \r |
22c4de1a HC |
4568 | def enterRule(self, listener:ParseTreeListener):\r |
4569 | if hasattr( listener, "enterLogical_or_expression" ):\r | |
4570 | listener.enterLogical_or_expression(self)\r | |
f51461c8 | 4571 | \r |
22c4de1a HC |
4572 | def exitRule(self, listener:ParseTreeListener):\r |
4573 | if hasattr( listener, "exitLogical_or_expression" ):\r | |
4574 | listener.exitLogical_or_expression(self)\r | |
f51461c8 LG |
4575 | \r |
4576 | \r | |
4577 | \r | |
f51461c8 | 4578 | \r |
22c4de1a | 4579 | def logical_or_expression(self):\r |
f51461c8 | 4580 | \r |
22c4de1a HC |
4581 | localctx = CParser.Logical_or_expressionContext(self, self._ctx, self.state)\r |
4582 | self.enterRule(localctx, 102, self.RULE_logical_or_expression)\r | |
4583 | self._la = 0 # Token type\r | |
4584 | try:\r | |
4585 | self.enterOuterAlt(localctx, 1)\r | |
4586 | self.state = 679\r | |
4587 | self.logical_and_expression()\r | |
4588 | self.state = 684\r | |
4589 | self._errHandler.sync(self)\r | |
4590 | _la = self._input.LA(1)\r | |
4591 | while _la==CParser.T__66:\r | |
4592 | self.state = 680\r | |
4593 | self.match(CParser.T__66)\r | |
4594 | self.state = 681\r | |
4595 | self.logical_and_expression()\r | |
4596 | self.state = 686\r | |
4597 | self._errHandler.sync(self)\r | |
4598 | _la = self._input.LA(1)\r | |
4599 | \r | |
4600 | except RecognitionException as re:\r | |
4601 | localctx.exception = re\r | |
4602 | self._errHandler.reportError(self, re)\r | |
4603 | self._errHandler.recover(self, re)\r | |
4604 | finally:\r | |
4605 | self.exitRule()\r | |
4606 | return localctx\r | |
f51461c8 | 4607 | \r |
22c4de1a | 4608 | class Logical_and_expressionContext(ParserRuleContext):\r |
f51461c8 | 4609 | \r |
22c4de1a HC |
4610 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
4611 | super().__init__(parent, invokingState)\r | |
4612 | self.parser = parser\r | |
f51461c8 | 4613 | \r |
22c4de1a HC |
4614 | def inclusive_or_expression(self, i:int=None):\r |
4615 | if i is None:\r | |
4616 | return self.getTypedRuleContexts(CParser.Inclusive_or_expressionContext)\r | |
4617 | else:\r | |
4618 | return self.getTypedRuleContext(CParser.Inclusive_or_expressionContext,i)\r | |
f51461c8 | 4619 | \r |
f51461c8 | 4620 | \r |
22c4de1a HC |
4621 | def getRuleIndex(self):\r |
4622 | return CParser.RULE_logical_and_expression\r | |
f51461c8 | 4623 | \r |
22c4de1a HC |
4624 | def enterRule(self, listener:ParseTreeListener):\r |
4625 | if hasattr( listener, "enterLogical_and_expression" ):\r | |
4626 | listener.enterLogical_and_expression(self)\r | |
f51461c8 | 4627 | \r |
22c4de1a HC |
4628 | def exitRule(self, listener:ParseTreeListener):\r |
4629 | if hasattr( listener, "exitLogical_and_expression" ):\r | |
4630 | listener.exitLogical_and_expression(self)\r | |
f51461c8 | 4631 | \r |
f51461c8 LG |
4632 | \r |
4633 | \r | |
f51461c8 | 4634 | \r |
22c4de1a | 4635 | def logical_and_expression(self):\r |
f51461c8 | 4636 | \r |
22c4de1a HC |
4637 | localctx = CParser.Logical_and_expressionContext(self, self._ctx, self.state)\r |
4638 | self.enterRule(localctx, 104, self.RULE_logical_and_expression)\r | |
4639 | self._la = 0 # Token type\r | |
4640 | try:\r | |
4641 | self.enterOuterAlt(localctx, 1)\r | |
4642 | self.state = 687\r | |
4643 | self.inclusive_or_expression()\r | |
4644 | self.state = 692\r | |
4645 | self._errHandler.sync(self)\r | |
4646 | _la = self._input.LA(1)\r | |
4647 | while _la==CParser.T__67:\r | |
4648 | self.state = 688\r | |
4649 | self.match(CParser.T__67)\r | |
4650 | self.state = 689\r | |
4651 | self.inclusive_or_expression()\r | |
4652 | self.state = 694\r | |
4653 | self._errHandler.sync(self)\r | |
4654 | _la = self._input.LA(1)\r | |
4655 | \r | |
4656 | except RecognitionException as re:\r | |
4657 | localctx.exception = re\r | |
4658 | self._errHandler.reportError(self, re)\r | |
4659 | self._errHandler.recover(self, re)\r | |
4660 | finally:\r | |
4661 | self.exitRule()\r | |
4662 | return localctx\r | |
f51461c8 | 4663 | \r |
22c4de1a | 4664 | class Inclusive_or_expressionContext(ParserRuleContext):\r |
f51461c8 | 4665 | \r |
22c4de1a HC |
4666 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
4667 | super().__init__(parent, invokingState)\r | |
4668 | self.parser = parser\r | |
f51461c8 | 4669 | \r |
22c4de1a HC |
4670 | def exclusive_or_expression(self, i:int=None):\r |
4671 | if i is None:\r | |
4672 | return self.getTypedRuleContexts(CParser.Exclusive_or_expressionContext)\r | |
4673 | else:\r | |
4674 | return self.getTypedRuleContext(CParser.Exclusive_or_expressionContext,i)\r | |
f51461c8 LG |
4675 | \r |
4676 | \r | |
22c4de1a HC |
4677 | def getRuleIndex(self):\r |
4678 | return CParser.RULE_inclusive_or_expression\r | |
f51461c8 | 4679 | \r |
22c4de1a HC |
4680 | def enterRule(self, listener:ParseTreeListener):\r |
4681 | if hasattr( listener, "enterInclusive_or_expression" ):\r | |
4682 | listener.enterInclusive_or_expression(self)\r | |
f51461c8 | 4683 | \r |
22c4de1a HC |
4684 | def exitRule(self, listener:ParseTreeListener):\r |
4685 | if hasattr( listener, "exitInclusive_or_expression" ):\r | |
4686 | listener.exitInclusive_or_expression(self)\r | |
f51461c8 LG |
4687 | \r |
4688 | \r | |
4689 | \r | |
f51461c8 | 4690 | \r |
22c4de1a | 4691 | def inclusive_or_expression(self):\r |
f51461c8 | 4692 | \r |
22c4de1a HC |
4693 | localctx = CParser.Inclusive_or_expressionContext(self, self._ctx, self.state)\r |
4694 | self.enterRule(localctx, 106, self.RULE_inclusive_or_expression)\r | |
4695 | self._la = 0 # Token type\r | |
4696 | try:\r | |
4697 | self.enterOuterAlt(localctx, 1)\r | |
4698 | self.state = 695\r | |
4699 | self.exclusive_or_expression()\r | |
4700 | self.state = 700\r | |
4701 | self._errHandler.sync(self)\r | |
4702 | _la = self._input.LA(1)\r | |
4703 | while _la==CParser.T__68:\r | |
4704 | self.state = 696\r | |
4705 | self.match(CParser.T__68)\r | |
4706 | self.state = 697\r | |
4707 | self.exclusive_or_expression()\r | |
4708 | self.state = 702\r | |
4709 | self._errHandler.sync(self)\r | |
4710 | _la = self._input.LA(1)\r | |
4711 | \r | |
4712 | except RecognitionException as re:\r | |
4713 | localctx.exception = re\r | |
4714 | self._errHandler.reportError(self, re)\r | |
4715 | self._errHandler.recover(self, re)\r | |
4716 | finally:\r | |
4717 | self.exitRule()\r | |
4718 | return localctx\r | |
f51461c8 | 4719 | \r |
22c4de1a | 4720 | class Exclusive_or_expressionContext(ParserRuleContext):\r |
f51461c8 | 4721 | \r |
22c4de1a HC |
4722 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
4723 | super().__init__(parent, invokingState)\r | |
4724 | self.parser = parser\r | |
f51461c8 | 4725 | \r |
22c4de1a HC |
4726 | def and_expression(self, i:int=None):\r |
4727 | if i is None:\r | |
4728 | return self.getTypedRuleContexts(CParser.And_expressionContext)\r | |
4729 | else:\r | |
4730 | return self.getTypedRuleContext(CParser.And_expressionContext,i)\r | |
f51461c8 | 4731 | \r |
f51461c8 | 4732 | \r |
22c4de1a HC |
4733 | def getRuleIndex(self):\r |
4734 | return CParser.RULE_exclusive_or_expression\r | |
f51461c8 | 4735 | \r |
22c4de1a HC |
4736 | def enterRule(self, listener:ParseTreeListener):\r |
4737 | if hasattr( listener, "enterExclusive_or_expression" ):\r | |
4738 | listener.enterExclusive_or_expression(self)\r | |
f51461c8 | 4739 | \r |
22c4de1a HC |
4740 | def exitRule(self, listener:ParseTreeListener):\r |
4741 | if hasattr( listener, "exitExclusive_or_expression" ):\r | |
4742 | listener.exitExclusive_or_expression(self)\r | |
f51461c8 | 4743 | \r |
f51461c8 LG |
4744 | \r |
4745 | \r | |
4746 | \r | |
22c4de1a | 4747 | def exclusive_or_expression(self):\r |
f51461c8 | 4748 | \r |
22c4de1a HC |
4749 | localctx = CParser.Exclusive_or_expressionContext(self, self._ctx, self.state)\r |
4750 | self.enterRule(localctx, 108, self.RULE_exclusive_or_expression)\r | |
4751 | self._la = 0 # Token type\r | |
4752 | try:\r | |
4753 | self.enterOuterAlt(localctx, 1)\r | |
4754 | self.state = 703\r | |
4755 | self.and_expression()\r | |
4756 | self.state = 708\r | |
4757 | self._errHandler.sync(self)\r | |
4758 | _la = self._input.LA(1)\r | |
4759 | while _la==CParser.T__69:\r | |
4760 | self.state = 704\r | |
4761 | self.match(CParser.T__69)\r | |
4762 | self.state = 705\r | |
4763 | self.and_expression()\r | |
4764 | self.state = 710\r | |
4765 | self._errHandler.sync(self)\r | |
4766 | _la = self._input.LA(1)\r | |
4767 | \r | |
4768 | except RecognitionException as re:\r | |
4769 | localctx.exception = re\r | |
4770 | self._errHandler.reportError(self, re)\r | |
4771 | self._errHandler.recover(self, re)\r | |
4772 | finally:\r | |
4773 | self.exitRule()\r | |
4774 | return localctx\r | |
f51461c8 | 4775 | \r |
22c4de1a | 4776 | class And_expressionContext(ParserRuleContext):\r |
f51461c8 | 4777 | \r |
22c4de1a HC |
4778 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
4779 | super().__init__(parent, invokingState)\r | |
4780 | self.parser = parser\r | |
f51461c8 | 4781 | \r |
22c4de1a HC |
4782 | def equality_expression(self, i:int=None):\r |
4783 | if i is None:\r | |
4784 | return self.getTypedRuleContexts(CParser.Equality_expressionContext)\r | |
4785 | else:\r | |
4786 | return self.getTypedRuleContext(CParser.Equality_expressionContext,i)\r | |
f51461c8 | 4787 | \r |
f51461c8 | 4788 | \r |
22c4de1a HC |
4789 | def getRuleIndex(self):\r |
4790 | return CParser.RULE_and_expression\r | |
f51461c8 | 4791 | \r |
22c4de1a HC |
4792 | def enterRule(self, listener:ParseTreeListener):\r |
4793 | if hasattr( listener, "enterAnd_expression" ):\r | |
4794 | listener.enterAnd_expression(self)\r | |
f51461c8 | 4795 | \r |
22c4de1a HC |
4796 | def exitRule(self, listener:ParseTreeListener):\r |
4797 | if hasattr( listener, "exitAnd_expression" ):\r | |
4798 | listener.exitAnd_expression(self)\r | |
f51461c8 LG |
4799 | \r |
4800 | \r | |
f51461c8 LG |
4801 | \r |
4802 | \r | |
22c4de1a | 4803 | def and_expression(self):\r |
f51461c8 | 4804 | \r |
22c4de1a HC |
4805 | localctx = CParser.And_expressionContext(self, self._ctx, self.state)\r |
4806 | self.enterRule(localctx, 110, self.RULE_and_expression)\r | |
4807 | self._la = 0 # Token type\r | |
4808 | try:\r | |
4809 | self.enterOuterAlt(localctx, 1)\r | |
4810 | self.state = 711\r | |
4811 | self.equality_expression()\r | |
4812 | self.state = 716\r | |
4813 | self._errHandler.sync(self)\r | |
4814 | _la = self._input.LA(1)\r | |
4815 | while _la==CParser.T__52:\r | |
4816 | self.state = 712\r | |
4817 | self.match(CParser.T__52)\r | |
4818 | self.state = 713\r | |
4819 | self.equality_expression()\r | |
4820 | self.state = 718\r | |
4821 | self._errHandler.sync(self)\r | |
4822 | _la = self._input.LA(1)\r | |
4823 | \r | |
4824 | except RecognitionException as re:\r | |
4825 | localctx.exception = re\r | |
4826 | self._errHandler.reportError(self, re)\r | |
4827 | self._errHandler.recover(self, re)\r | |
4828 | finally:\r | |
4829 | self.exitRule()\r | |
4830 | return localctx\r | |
f51461c8 | 4831 | \r |
22c4de1a | 4832 | class Equality_expressionContext(ParserRuleContext):\r |
f51461c8 | 4833 | \r |
22c4de1a HC |
4834 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
4835 | super().__init__(parent, invokingState)\r | |
4836 | self.parser = parser\r | |
f51461c8 | 4837 | \r |
22c4de1a HC |
4838 | def relational_expression(self, i:int=None):\r |
4839 | if i is None:\r | |
4840 | return self.getTypedRuleContexts(CParser.Relational_expressionContext)\r | |
4841 | else:\r | |
4842 | return self.getTypedRuleContext(CParser.Relational_expressionContext,i)\r | |
f51461c8 LG |
4843 | \r |
4844 | \r | |
22c4de1a HC |
4845 | def getRuleIndex(self):\r |
4846 | return CParser.RULE_equality_expression\r | |
f51461c8 | 4847 | \r |
22c4de1a HC |
4848 | def enterRule(self, listener:ParseTreeListener):\r |
4849 | if hasattr( listener, "enterEquality_expression" ):\r | |
4850 | listener.enterEquality_expression(self)\r | |
f51461c8 | 4851 | \r |
22c4de1a HC |
4852 | def exitRule(self, listener:ParseTreeListener):\r |
4853 | if hasattr( listener, "exitEquality_expression" ):\r | |
4854 | listener.exitEquality_expression(self)\r | |
f51461c8 LG |
4855 | \r |
4856 | \r | |
4857 | \r | |
f51461c8 | 4858 | \r |
22c4de1a | 4859 | def equality_expression(self):\r |
f51461c8 | 4860 | \r |
22c4de1a HC |
4861 | localctx = CParser.Equality_expressionContext(self, self._ctx, self.state)\r |
4862 | self.enterRule(localctx, 112, self.RULE_equality_expression)\r | |
4863 | self._la = 0 # Token type\r | |
4864 | try:\r | |
4865 | self.enterOuterAlt(localctx, 1)\r | |
4866 | self.state = 719\r | |
4867 | self.relational_expression()\r | |
4868 | self.state = 724\r | |
4869 | self._errHandler.sync(self)\r | |
4870 | _la = self._input.LA(1)\r | |
4871 | while _la==CParser.T__70 or _la==CParser.T__71:\r | |
4872 | self.state = 720\r | |
4873 | _la = self._input.LA(1)\r | |
4874 | if not(_la==CParser.T__70 or _la==CParser.T__71):\r | |
4875 | self._errHandler.recoverInline(self)\r | |
4876 | else:\r | |
4877 | self._errHandler.reportMatch(self)\r | |
4878 | self.consume()\r | |
4879 | self.state = 721\r | |
4880 | self.relational_expression()\r | |
4881 | self.state = 726\r | |
4882 | self._errHandler.sync(self)\r | |
4883 | _la = self._input.LA(1)\r | |
4884 | \r | |
4885 | except RecognitionException as re:\r | |
4886 | localctx.exception = re\r | |
4887 | self._errHandler.reportError(self, re)\r | |
4888 | self._errHandler.recover(self, re)\r | |
4889 | finally:\r | |
4890 | self.exitRule()\r | |
4891 | return localctx\r | |
f51461c8 | 4892 | \r |
22c4de1a | 4893 | class Relational_expressionContext(ParserRuleContext):\r |
f51461c8 | 4894 | \r |
22c4de1a HC |
4895 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
4896 | super().__init__(parent, invokingState)\r | |
4897 | self.parser = parser\r | |
f51461c8 | 4898 | \r |
22c4de1a HC |
4899 | def shift_expression(self, i:int=None):\r |
4900 | if i is None:\r | |
4901 | return self.getTypedRuleContexts(CParser.Shift_expressionContext)\r | |
4902 | else:\r | |
4903 | return self.getTypedRuleContext(CParser.Shift_expressionContext,i)\r | |
f51461c8 LG |
4904 | \r |
4905 | \r | |
22c4de1a HC |
4906 | def getRuleIndex(self):\r |
4907 | return CParser.RULE_relational_expression\r | |
f51461c8 | 4908 | \r |
22c4de1a HC |
4909 | def enterRule(self, listener:ParseTreeListener):\r |
4910 | if hasattr( listener, "enterRelational_expression" ):\r | |
4911 | listener.enterRelational_expression(self)\r | |
f51461c8 | 4912 | \r |
22c4de1a HC |
4913 | def exitRule(self, listener:ParseTreeListener):\r |
4914 | if hasattr( listener, "exitRelational_expression" ):\r | |
4915 | listener.exitRelational_expression(self)\r | |
f51461c8 | 4916 | \r |
f51461c8 LG |
4917 | \r |
4918 | \r | |
f51461c8 | 4919 | \r |
22c4de1a | 4920 | def relational_expression(self):\r |
f51461c8 | 4921 | \r |
22c4de1a HC |
4922 | localctx = CParser.Relational_expressionContext(self, self._ctx, self.state)\r |
4923 | self.enterRule(localctx, 114, self.RULE_relational_expression)\r | |
4924 | self._la = 0 # Token type\r | |
4925 | try:\r | |
4926 | self.enterOuterAlt(localctx, 1)\r | |
4927 | self.state = 727\r | |
4928 | self.shift_expression()\r | |
4929 | self.state = 732\r | |
4930 | self._errHandler.sync(self)\r | |
4931 | _la = self._input.LA(1)\r | |
4932 | while ((((_la - 73)) & ~0x3f) == 0 and ((1 << (_la - 73)) & ((1 << (CParser.T__72 - 73)) | (1 << (CParser.T__73 - 73)) | (1 << (CParser.T__74 - 73)) | (1 << (CParser.T__75 - 73)))) != 0):\r | |
4933 | self.state = 728\r | |
4934 | _la = self._input.LA(1)\r | |
4935 | if not(((((_la - 73)) & ~0x3f) == 0 and ((1 << (_la - 73)) & ((1 << (CParser.T__72 - 73)) | (1 << (CParser.T__73 - 73)) | (1 << (CParser.T__74 - 73)) | (1 << (CParser.T__75 - 73)))) != 0)):\r | |
4936 | self._errHandler.recoverInline(self)\r | |
4937 | else:\r | |
4938 | self._errHandler.reportMatch(self)\r | |
4939 | self.consume()\r | |
4940 | self.state = 729\r | |
4941 | self.shift_expression()\r | |
4942 | self.state = 734\r | |
4943 | self._errHandler.sync(self)\r | |
4944 | _la = self._input.LA(1)\r | |
4945 | \r | |
4946 | except RecognitionException as re:\r | |
4947 | localctx.exception = re\r | |
4948 | self._errHandler.reportError(self, re)\r | |
4949 | self._errHandler.recover(self, re)\r | |
4950 | finally:\r | |
4951 | self.exitRule()\r | |
4952 | return localctx\r | |
f51461c8 | 4953 | \r |
22c4de1a | 4954 | class Shift_expressionContext(ParserRuleContext):\r |
f51461c8 | 4955 | \r |
22c4de1a HC |
4956 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
4957 | super().__init__(parent, invokingState)\r | |
4958 | self.parser = parser\r | |
f51461c8 | 4959 | \r |
22c4de1a HC |
4960 | def additive_expression(self, i:int=None):\r |
4961 | if i is None:\r | |
4962 | return self.getTypedRuleContexts(CParser.Additive_expressionContext)\r | |
4963 | else:\r | |
4964 | return self.getTypedRuleContext(CParser.Additive_expressionContext,i)\r | |
f51461c8 LG |
4965 | \r |
4966 | \r | |
22c4de1a HC |
4967 | def getRuleIndex(self):\r |
4968 | return CParser.RULE_shift_expression\r | |
f51461c8 | 4969 | \r |
22c4de1a HC |
4970 | def enterRule(self, listener:ParseTreeListener):\r |
4971 | if hasattr( listener, "enterShift_expression" ):\r | |
4972 | listener.enterShift_expression(self)\r | |
f51461c8 | 4973 | \r |
22c4de1a HC |
4974 | def exitRule(self, listener:ParseTreeListener):\r |
4975 | if hasattr( listener, "exitShift_expression" ):\r | |
4976 | listener.exitShift_expression(self)\r | |
f51461c8 | 4977 | \r |
f51461c8 LG |
4978 | \r |
4979 | \r | |
4980 | \r | |
22c4de1a | 4981 | def shift_expression(self):\r |
f51461c8 | 4982 | \r |
22c4de1a HC |
4983 | localctx = CParser.Shift_expressionContext(self, self._ctx, self.state)\r |
4984 | self.enterRule(localctx, 116, self.RULE_shift_expression)\r | |
4985 | self._la = 0 # Token type\r | |
4986 | try:\r | |
4987 | self.enterOuterAlt(localctx, 1)\r | |
4988 | self.state = 735\r | |
4989 | self.additive_expression()\r | |
4990 | self.state = 740\r | |
4991 | self._errHandler.sync(self)\r | |
4992 | _la = self._input.LA(1)\r | |
4993 | while _la==CParser.T__76 or _la==CParser.T__77:\r | |
4994 | self.state = 736\r | |
4995 | _la = self._input.LA(1)\r | |
4996 | if not(_la==CParser.T__76 or _la==CParser.T__77):\r | |
4997 | self._errHandler.recoverInline(self)\r | |
4998 | else:\r | |
4999 | self._errHandler.reportMatch(self)\r | |
5000 | self.consume()\r | |
5001 | self.state = 737\r | |
5002 | self.additive_expression()\r | |
5003 | self.state = 742\r | |
5004 | self._errHandler.sync(self)\r | |
5005 | _la = self._input.LA(1)\r | |
5006 | \r | |
5007 | except RecognitionException as re:\r | |
5008 | localctx.exception = re\r | |
5009 | self._errHandler.reportError(self, re)\r | |
5010 | self._errHandler.recover(self, re)\r | |
5011 | finally:\r | |
5012 | self.exitRule()\r | |
5013 | return localctx\r | |
f51461c8 | 5014 | \r |
22c4de1a | 5015 | class StatementContext(ParserRuleContext):\r |
f51461c8 | 5016 | \r |
22c4de1a HC |
5017 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
5018 | super().__init__(parent, invokingState)\r | |
5019 | self.parser = parser\r | |
f51461c8 | 5020 | \r |
22c4de1a HC |
5021 | def labeled_statement(self):\r |
5022 | return self.getTypedRuleContext(CParser.Labeled_statementContext,0)\r | |
f51461c8 | 5023 | \r |
f51461c8 | 5024 | \r |
22c4de1a HC |
5025 | def compound_statement(self):\r |
5026 | return self.getTypedRuleContext(CParser.Compound_statementContext,0)\r | |
f51461c8 | 5027 | \r |
f51461c8 | 5028 | \r |
22c4de1a HC |
5029 | def expression_statement(self):\r |
5030 | return self.getTypedRuleContext(CParser.Expression_statementContext,0)\r | |
f51461c8 LG |
5031 | \r |
5032 | \r | |
22c4de1a HC |
5033 | def selection_statement(self):\r |
5034 | return self.getTypedRuleContext(CParser.Selection_statementContext,0)\r | |
f51461c8 | 5035 | \r |
f51461c8 | 5036 | \r |
22c4de1a HC |
5037 | def iteration_statement(self):\r |
5038 | return self.getTypedRuleContext(CParser.Iteration_statementContext,0)\r | |
f51461c8 LG |
5039 | \r |
5040 | \r | |
22c4de1a HC |
5041 | def jump_statement(self):\r |
5042 | return self.getTypedRuleContext(CParser.Jump_statementContext,0)\r | |
f51461c8 LG |
5043 | \r |
5044 | \r | |
22c4de1a HC |
5045 | def macro_statement(self):\r |
5046 | return self.getTypedRuleContext(CParser.Macro_statementContext,0)\r | |
f51461c8 LG |
5047 | \r |
5048 | \r | |
22c4de1a HC |
5049 | def asm2_statement(self):\r |
5050 | return self.getTypedRuleContext(CParser.Asm2_statementContext,0)\r | |
f51461c8 | 5051 | \r |
f51461c8 | 5052 | \r |
22c4de1a HC |
5053 | def asm1_statement(self):\r |
5054 | return self.getTypedRuleContext(CParser.Asm1_statementContext,0)\r | |
f51461c8 | 5055 | \r |
f51461c8 | 5056 | \r |
22c4de1a HC |
5057 | def asm_statement(self):\r |
5058 | return self.getTypedRuleContext(CParser.Asm_statementContext,0)\r | |
f51461c8 LG |
5059 | \r |
5060 | \r | |
22c4de1a HC |
5061 | def declaration(self):\r |
5062 | return self.getTypedRuleContext(CParser.DeclarationContext,0)\r | |
f51461c8 LG |
5063 | \r |
5064 | \r | |
22c4de1a HC |
5065 | def getRuleIndex(self):\r |
5066 | return CParser.RULE_statement\r | |
f51461c8 | 5067 | \r |
22c4de1a HC |
5068 | def enterRule(self, listener:ParseTreeListener):\r |
5069 | if hasattr( listener, "enterStatement" ):\r | |
5070 | listener.enterStatement(self)\r | |
f51461c8 | 5071 | \r |
22c4de1a HC |
5072 | def exitRule(self, listener:ParseTreeListener):\r |
5073 | if hasattr( listener, "exitStatement" ):\r | |
5074 | listener.exitStatement(self)\r | |
f51461c8 | 5075 | \r |
f51461c8 | 5076 | \r |
f51461c8 | 5077 | \r |
f51461c8 | 5078 | \r |
22c4de1a | 5079 | def statement(self):\r |
f51461c8 | 5080 | \r |
22c4de1a HC |
5081 | localctx = CParser.StatementContext(self, self._ctx, self.state)\r |
5082 | self.enterRule(localctx, 118, self.RULE_statement)\r | |
5083 | try:\r | |
5084 | self.state = 754\r | |
5085 | self._errHandler.sync(self)\r | |
5086 | la_ = self._interp.adaptivePredict(self._input,92,self._ctx)\r | |
5087 | if la_ == 1:\r | |
5088 | self.enterOuterAlt(localctx, 1)\r | |
5089 | self.state = 743\r | |
5090 | self.labeled_statement()\r | |
5091 | pass\r | |
5092 | \r | |
5093 | elif la_ == 2:\r | |
5094 | self.enterOuterAlt(localctx, 2)\r | |
5095 | self.state = 744\r | |
5096 | self.compound_statement()\r | |
5097 | pass\r | |
5098 | \r | |
5099 | elif la_ == 3:\r | |
5100 | self.enterOuterAlt(localctx, 3)\r | |
5101 | self.state = 745\r | |
5102 | self.expression_statement()\r | |
5103 | pass\r | |
5104 | \r | |
5105 | elif la_ == 4:\r | |
5106 | self.enterOuterAlt(localctx, 4)\r | |
5107 | self.state = 746\r | |
5108 | self.selection_statement()\r | |
5109 | pass\r | |
5110 | \r | |
5111 | elif la_ == 5:\r | |
5112 | self.enterOuterAlt(localctx, 5)\r | |
5113 | self.state = 747\r | |
5114 | self.iteration_statement()\r | |
5115 | pass\r | |
5116 | \r | |
5117 | elif la_ == 6:\r | |
5118 | self.enterOuterAlt(localctx, 6)\r | |
5119 | self.state = 748\r | |
5120 | self.jump_statement()\r | |
5121 | pass\r | |
5122 | \r | |
5123 | elif la_ == 7:\r | |
5124 | self.enterOuterAlt(localctx, 7)\r | |
5125 | self.state = 749\r | |
5126 | self.macro_statement()\r | |
5127 | pass\r | |
5128 | \r | |
5129 | elif la_ == 8:\r | |
5130 | self.enterOuterAlt(localctx, 8)\r | |
5131 | self.state = 750\r | |
5132 | self.asm2_statement()\r | |
5133 | pass\r | |
5134 | \r | |
5135 | elif la_ == 9:\r | |
5136 | self.enterOuterAlt(localctx, 9)\r | |
5137 | self.state = 751\r | |
5138 | self.asm1_statement()\r | |
5139 | pass\r | |
5140 | \r | |
5141 | elif la_ == 10:\r | |
5142 | self.enterOuterAlt(localctx, 10)\r | |
5143 | self.state = 752\r | |
5144 | self.asm_statement()\r | |
5145 | pass\r | |
5146 | \r | |
5147 | elif la_ == 11:\r | |
5148 | self.enterOuterAlt(localctx, 11)\r | |
5149 | self.state = 753\r | |
5150 | self.declaration()\r | |
5151 | pass\r | |
f51461c8 | 5152 | \r |
f51461c8 | 5153 | \r |
22c4de1a HC |
5154 | except RecognitionException as re:\r |
5155 | localctx.exception = re\r | |
5156 | self._errHandler.reportError(self, re)\r | |
5157 | self._errHandler.recover(self, re)\r | |
5158 | finally:\r | |
5159 | self.exitRule()\r | |
5160 | return localctx\r | |
f51461c8 | 5161 | \r |
22c4de1a | 5162 | class Asm2_statementContext(ParserRuleContext):\r |
f51461c8 | 5163 | \r |
22c4de1a HC |
5164 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
5165 | super().__init__(parent, invokingState)\r | |
5166 | self.parser = parser\r | |
f51461c8 | 5167 | \r |
22c4de1a HC |
5168 | def IDENTIFIER(self):\r |
5169 | return self.getToken(CParser.IDENTIFIER, 0)\r | |
f51461c8 | 5170 | \r |
22c4de1a HC |
5171 | def getRuleIndex(self):\r |
5172 | return CParser.RULE_asm2_statement\r | |
f51461c8 | 5173 | \r |
22c4de1a HC |
5174 | def enterRule(self, listener:ParseTreeListener):\r |
5175 | if hasattr( listener, "enterAsm2_statement" ):\r | |
5176 | listener.enterAsm2_statement(self)\r | |
f51461c8 | 5177 | \r |
22c4de1a HC |
5178 | def exitRule(self, listener:ParseTreeListener):\r |
5179 | if hasattr( listener, "exitAsm2_statement" ):\r | |
5180 | listener.exitAsm2_statement(self)\r | |
f51461c8 LG |
5181 | \r |
5182 | \r | |
5183 | \r | |
f51461c8 | 5184 | \r |
22c4de1a | 5185 | def asm2_statement(self):\r |
f51461c8 | 5186 | \r |
22c4de1a HC |
5187 | localctx = CParser.Asm2_statementContext(self, self._ctx, self.state)\r |
5188 | self.enterRule(localctx, 120, self.RULE_asm2_statement)\r | |
5189 | self._la = 0 # Token type\r | |
5190 | try:\r | |
5191 | self.enterOuterAlt(localctx, 1)\r | |
5192 | self.state = 757\r | |
5193 | self._errHandler.sync(self)\r | |
5194 | _la = self._input.LA(1)\r | |
5195 | if _la==CParser.T__78:\r | |
5196 | self.state = 756\r | |
5197 | self.match(CParser.T__78)\r | |
5198 | \r | |
5199 | \r | |
5200 | self.state = 759\r | |
5201 | self.match(CParser.IDENTIFIER)\r | |
5202 | self.state = 760\r | |
5203 | self.match(CParser.T__37)\r | |
5204 | self.state = 764\r | |
5205 | self._errHandler.sync(self)\r | |
5206 | _alt = self._interp.adaptivePredict(self._input,94,self._ctx)\r | |
5207 | while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:\r | |
5208 | if _alt==1:\r | |
5209 | self.state = 761\r | |
5210 | _la = self._input.LA(1)\r | |
5211 | if _la <= 0 or _la==CParser.T__1:\r | |
5212 | self._errHandler.recoverInline(self)\r | |
5213 | else:\r | |
5214 | self._errHandler.reportMatch(self)\r | |
5215 | self.consume() \r | |
5216 | self.state = 766\r | |
5217 | self._errHandler.sync(self)\r | |
5218 | _alt = self._interp.adaptivePredict(self._input,94,self._ctx)\r | |
5219 | \r | |
5220 | self.state = 767\r | |
5221 | self.match(CParser.T__38)\r | |
5222 | self.state = 768\r | |
5223 | self.match(CParser.T__1)\r | |
5224 | except RecognitionException as re:\r | |
5225 | localctx.exception = re\r | |
5226 | self._errHandler.reportError(self, re)\r | |
5227 | self._errHandler.recover(self, re)\r | |
5228 | finally:\r | |
5229 | self.exitRule()\r | |
5230 | return localctx\r | |
f51461c8 | 5231 | \r |
22c4de1a | 5232 | class Asm1_statementContext(ParserRuleContext):\r |
f51461c8 | 5233 | \r |
22c4de1a HC |
5234 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
5235 | super().__init__(parent, invokingState)\r | |
5236 | self.parser = parser\r | |
f51461c8 | 5237 | \r |
f51461c8 | 5238 | \r |
22c4de1a HC |
5239 | def getRuleIndex(self):\r |
5240 | return CParser.RULE_asm1_statement\r | |
f51461c8 | 5241 | \r |
22c4de1a HC |
5242 | def enterRule(self, listener:ParseTreeListener):\r |
5243 | if hasattr( listener, "enterAsm1_statement" ):\r | |
5244 | listener.enterAsm1_statement(self)\r | |
f51461c8 | 5245 | \r |
22c4de1a HC |
5246 | def exitRule(self, listener:ParseTreeListener):\r |
5247 | if hasattr( listener, "exitAsm1_statement" ):\r | |
5248 | listener.exitAsm1_statement(self)\r | |
f51461c8 | 5249 | \r |
f51461c8 LG |
5250 | \r |
5251 | \r | |
f51461c8 | 5252 | \r |
22c4de1a | 5253 | def asm1_statement(self):\r |
f51461c8 | 5254 | \r |
22c4de1a HC |
5255 | localctx = CParser.Asm1_statementContext(self, self._ctx, self.state)\r |
5256 | self.enterRule(localctx, 122, self.RULE_asm1_statement)\r | |
5257 | self._la = 0 # Token type\r | |
5258 | try:\r | |
5259 | self.enterOuterAlt(localctx, 1)\r | |
5260 | self.state = 770\r | |
5261 | self.match(CParser.T__79)\r | |
5262 | self.state = 771\r | |
5263 | self.match(CParser.T__0)\r | |
5264 | self.state = 775\r | |
5265 | self._errHandler.sync(self)\r | |
5266 | _la = self._input.LA(1)\r | |
5267 | while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__0) | (1 << CParser.T__1) | (1 << CParser.T__2) | (1 << CParser.T__3) | (1 << CParser.T__4) | (1 << CParser.T__5) | (1 << CParser.T__6) | (1 << CParser.T__7) | (1 << CParser.T__8) | (1 << CParser.T__9) | (1 << CParser.T__10) | (1 << CParser.T__11) | (1 << CParser.T__12) | (1 << CParser.T__13) | (1 << CParser.T__14) | (1 << CParser.T__15) | (1 << CParser.T__16) | (1 << CParser.T__17) | (1 << CParser.T__18) | (1 << CParser.T__20) | (1 << CParser.T__21) | (1 << CParser.T__22) | (1 << CParser.T__23) | (1 << CParser.T__24) | (1 << CParser.T__25) | (1 << CParser.T__26) | (1 << CParser.T__27) | (1 << CParser.T__28) | (1 << CParser.T__29) | (1 << CParser.T__30) | (1 << CParser.T__31) | (1 << CParser.T__32) | (1 << CParser.T__33) | (1 << CParser.T__34) | (1 << CParser.T__35) | (1 << CParser.T__36) | (1 << CParser.T__37) | (1 << CParser.T__38) | (1 << CParser.T__39) | (1 << CParser.T__40) | (1 << CParser.T__41) | (1 << CParser.T__42) | (1 << CParser.T__43) | (1 << CParser.T__44) | (1 << CParser.T__45) | (1 << CParser.T__46) | (1 << CParser.T__47) | (1 << CParser.T__48) | (1 << CParser.T__49) | (1 << CParser.T__50) | (1 << CParser.T__51) | (1 << CParser.T__52) | (1 << CParser.T__53) | (1 << CParser.T__54) | (1 << CParser.T__55) | (1 << CParser.T__56) | (1 << CParser.T__57) | (1 << CParser.T__58) | (1 << CParser.T__59) | (1 << CParser.T__60) | (1 << CParser.T__61) | (1 << CParser.T__62))) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & ((1 << (CParser.T__63 - 64)) | (1 << (CParser.T__64 - 64)) | (1 << (CParser.T__65 - 64)) | (1 << (CParser.T__66 - 64)) | (1 << (CParser.T__67 - 64)) | (1 << (CParser.T__68 - 64)) | (1 << (CParser.T__69 - 64)) | (1 << (CParser.T__70 - 64)) | (1 << (CParser.T__71 - 64)) | (1 << (CParser.T__72 - 64)) | (1 << (CParser.T__73 - 64)) | (1 << (CParser.T__74 - 64)) | (1 << (CParser.T__75 - 64)) | (1 << (CParser.T__76 - 64)) | (1 << (CParser.T__77 - 64)) | (1 << (CParser.T__78 - 64)) | (1 << (CParser.T__79 - 64)) | (1 << (CParser.T__80 - 64)) | (1 << (CParser.T__81 - 64)) | (1 << (CParser.T__82 - 64)) | (1 << (CParser.T__83 - 64)) | (1 << (CParser.T__84 - 64)) | (1 << (CParser.T__85 - 64)) | (1 << (CParser.T__86 - 64)) | (1 << (CParser.T__87 - 64)) | (1 << (CParser.T__88 - 64)) | (1 << (CParser.T__89 - 64)) | (1 << (CParser.T__90 - 64)) | (1 << (CParser.T__91 - 64)) | (1 << (CParser.IDENTIFIER - 64)) | (1 << (CParser.CHARACTER_LITERAL - 64)) | (1 << (CParser.STRING_LITERAL - 64)) | (1 << (CParser.HEX_LITERAL - 64)) | (1 << (CParser.DECIMAL_LITERAL - 64)) | (1 << (CParser.OCTAL_LITERAL - 64)) | (1 << (CParser.FLOATING_POINT_LITERAL - 64)) | (1 << (CParser.WS - 64)) | (1 << (CParser.BS - 64)) | (1 << (CParser.UnicodeVocabulary - 64)) | (1 << (CParser.COMMENT - 64)) | (1 << (CParser.LINE_COMMENT - 64)) | (1 << (CParser.LINE_COMMAND - 64)))) != 0):\r | |
5268 | self.state = 772\r | |
5269 | _la = self._input.LA(1)\r | |
5270 | if _la <= 0 or _la==CParser.T__19:\r | |
5271 | self._errHandler.recoverInline(self)\r | |
5272 | else:\r | |
5273 | self._errHandler.reportMatch(self)\r | |
5274 | self.consume()\r | |
5275 | self.state = 777\r | |
5276 | self._errHandler.sync(self)\r | |
5277 | _la = self._input.LA(1)\r | |
5278 | \r | |
5279 | self.state = 778\r | |
5280 | self.match(CParser.T__19)\r | |
5281 | except RecognitionException as re:\r | |
5282 | localctx.exception = re\r | |
5283 | self._errHandler.reportError(self, re)\r | |
5284 | self._errHandler.recover(self, re)\r | |
5285 | finally:\r | |
5286 | self.exitRule()\r | |
5287 | return localctx\r | |
f51461c8 | 5288 | \r |
22c4de1a | 5289 | class Asm_statementContext(ParserRuleContext):\r |
f51461c8 | 5290 | \r |
22c4de1a HC |
5291 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
5292 | super().__init__(parent, invokingState)\r | |
5293 | self.parser = parser\r | |
f51461c8 LG |
5294 | \r |
5295 | \r | |
22c4de1a HC |
5296 | def getRuleIndex(self):\r |
5297 | return CParser.RULE_asm_statement\r | |
f51461c8 | 5298 | \r |
22c4de1a HC |
5299 | def enterRule(self, listener:ParseTreeListener):\r |
5300 | if hasattr( listener, "enterAsm_statement" ):\r | |
5301 | listener.enterAsm_statement(self)\r | |
f51461c8 | 5302 | \r |
22c4de1a HC |
5303 | def exitRule(self, listener:ParseTreeListener):\r |
5304 | if hasattr( listener, "exitAsm_statement" ):\r | |
5305 | listener.exitAsm_statement(self)\r | |
f51461c8 | 5306 | \r |
f51461c8 | 5307 | \r |
f51461c8 LG |
5308 | \r |
5309 | \r | |
22c4de1a | 5310 | def asm_statement(self):\r |
f51461c8 | 5311 | \r |
22c4de1a HC |
5312 | localctx = CParser.Asm_statementContext(self, self._ctx, self.state)\r |
5313 | self.enterRule(localctx, 124, self.RULE_asm_statement)\r | |
5314 | self._la = 0 # Token type\r | |
5315 | try:\r | |
5316 | self.enterOuterAlt(localctx, 1)\r | |
5317 | self.state = 780\r | |
5318 | self.match(CParser.T__80)\r | |
5319 | self.state = 781\r | |
5320 | self.match(CParser.T__0)\r | |
5321 | self.state = 785\r | |
5322 | self._errHandler.sync(self)\r | |
5323 | _la = self._input.LA(1)\r | |
5324 | while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__0) | (1 << CParser.T__1) | (1 << CParser.T__2) | (1 << CParser.T__3) | (1 << CParser.T__4) | (1 << CParser.T__5) | (1 << CParser.T__6) | (1 << CParser.T__7) | (1 << CParser.T__8) | (1 << CParser.T__9) | (1 << CParser.T__10) | (1 << CParser.T__11) | (1 << CParser.T__12) | (1 << CParser.T__13) | (1 << CParser.T__14) | (1 << CParser.T__15) | (1 << CParser.T__16) | (1 << CParser.T__17) | (1 << CParser.T__18) | (1 << CParser.T__20) | (1 << CParser.T__21) | (1 << CParser.T__22) | (1 << CParser.T__23) | (1 << CParser.T__24) | (1 << CParser.T__25) | (1 << CParser.T__26) | (1 << CParser.T__27) | (1 << CParser.T__28) | (1 << CParser.T__29) | (1 << CParser.T__30) | (1 << CParser.T__31) | (1 << CParser.T__32) | (1 << CParser.T__33) | (1 << CParser.T__34) | (1 << CParser.T__35) | (1 << CParser.T__36) | (1 << CParser.T__37) | (1 << CParser.T__38) | (1 << CParser.T__39) | (1 << CParser.T__40) | (1 << CParser.T__41) | (1 << CParser.T__42) | (1 << CParser.T__43) | (1 << CParser.T__44) | (1 << CParser.T__45) | (1 << CParser.T__46) | (1 << CParser.T__47) | (1 << CParser.T__48) | (1 << CParser.T__49) | (1 << CParser.T__50) | (1 << CParser.T__51) | (1 << CParser.T__52) | (1 << CParser.T__53) | (1 << CParser.T__54) | (1 << CParser.T__55) | (1 << CParser.T__56) | (1 << CParser.T__57) | (1 << CParser.T__58) | (1 << CParser.T__59) | (1 << CParser.T__60) | (1 << CParser.T__61) | (1 << CParser.T__62))) != 0) or ((((_la - 64)) & ~0x3f) == 0 and ((1 << (_la - 64)) & ((1 << (CParser.T__63 - 64)) | (1 << (CParser.T__64 - 64)) | (1 << (CParser.T__65 - 64)) | (1 << (CParser.T__66 - 64)) | (1 << (CParser.T__67 - 64)) | (1 << (CParser.T__68 - 64)) | (1 << (CParser.T__69 - 64)) | (1 << (CParser.T__70 - 64)) | (1 << (CParser.T__71 - 64)) | (1 << (CParser.T__72 - 64)) | (1 << (CParser.T__73 - 64)) | (1 << (CParser.T__74 - 64)) | (1 << (CParser.T__75 - 64)) | (1 << (CParser.T__76 - 64)) | (1 << (CParser.T__77 - 64)) | (1 << (CParser.T__78 - 64)) | (1 << (CParser.T__79 - 64)) | (1 << (CParser.T__80 - 64)) | (1 << (CParser.T__81 - 64)) | (1 << (CParser.T__82 - 64)) | (1 << (CParser.T__83 - 64)) | (1 << (CParser.T__84 - 64)) | (1 << (CParser.T__85 - 64)) | (1 << (CParser.T__86 - 64)) | (1 << (CParser.T__87 - 64)) | (1 << (CParser.T__88 - 64)) | (1 << (CParser.T__89 - 64)) | (1 << (CParser.T__90 - 64)) | (1 << (CParser.T__91 - 64)) | (1 << (CParser.IDENTIFIER - 64)) | (1 << (CParser.CHARACTER_LITERAL - 64)) | (1 << (CParser.STRING_LITERAL - 64)) | (1 << (CParser.HEX_LITERAL - 64)) | (1 << (CParser.DECIMAL_LITERAL - 64)) | (1 << (CParser.OCTAL_LITERAL - 64)) | (1 << (CParser.FLOATING_POINT_LITERAL - 64)) | (1 << (CParser.WS - 64)) | (1 << (CParser.BS - 64)) | (1 << (CParser.UnicodeVocabulary - 64)) | (1 << (CParser.COMMENT - 64)) | (1 << (CParser.LINE_COMMENT - 64)) | (1 << (CParser.LINE_COMMAND - 64)))) != 0):\r | |
5325 | self.state = 782\r | |
5326 | _la = self._input.LA(1)\r | |
5327 | if _la <= 0 or _la==CParser.T__19:\r | |
5328 | self._errHandler.recoverInline(self)\r | |
5329 | else:\r | |
5330 | self._errHandler.reportMatch(self)\r | |
5331 | self.consume()\r | |
5332 | self.state = 787\r | |
5333 | self._errHandler.sync(self)\r | |
5334 | _la = self._input.LA(1)\r | |
5335 | \r | |
5336 | self.state = 788\r | |
5337 | self.match(CParser.T__19)\r | |
5338 | except RecognitionException as re:\r | |
5339 | localctx.exception = re\r | |
5340 | self._errHandler.reportError(self, re)\r | |
5341 | self._errHandler.recover(self, re)\r | |
5342 | finally:\r | |
5343 | self.exitRule()\r | |
5344 | return localctx\r | |
f51461c8 | 5345 | \r |
22c4de1a | 5346 | class Macro_statementContext(ParserRuleContext):\r |
f51461c8 | 5347 | \r |
22c4de1a HC |
5348 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
5349 | super().__init__(parent, invokingState)\r | |
5350 | self.parser = parser\r | |
f51461c8 | 5351 | \r |
22c4de1a HC |
5352 | def IDENTIFIER(self):\r |
5353 | return self.getToken(CParser.IDENTIFIER, 0)\r | |
f51461c8 | 5354 | \r |
22c4de1a HC |
5355 | def declaration(self, i:int=None):\r |
5356 | if i is None:\r | |
5357 | return self.getTypedRuleContexts(CParser.DeclarationContext)\r | |
5358 | else:\r | |
5359 | return self.getTypedRuleContext(CParser.DeclarationContext,i)\r | |
f51461c8 LG |
5360 | \r |
5361 | \r | |
22c4de1a HC |
5362 | def statement_list(self):\r |
5363 | return self.getTypedRuleContext(CParser.Statement_listContext,0)\r | |
f51461c8 LG |
5364 | \r |
5365 | \r | |
22c4de1a HC |
5366 | def expression(self):\r |
5367 | return self.getTypedRuleContext(CParser.ExpressionContext,0)\r | |
f51461c8 LG |
5368 | \r |
5369 | \r | |
22c4de1a HC |
5370 | def getRuleIndex(self):\r |
5371 | return CParser.RULE_macro_statement\r | |
f51461c8 | 5372 | \r |
22c4de1a HC |
5373 | def enterRule(self, listener:ParseTreeListener):\r |
5374 | if hasattr( listener, "enterMacro_statement" ):\r | |
5375 | listener.enterMacro_statement(self)\r | |
f51461c8 | 5376 | \r |
22c4de1a HC |
5377 | def exitRule(self, listener:ParseTreeListener):\r |
5378 | if hasattr( listener, "exitMacro_statement" ):\r | |
5379 | listener.exitMacro_statement(self)\r | |
f51461c8 LG |
5380 | \r |
5381 | \r | |
5382 | \r | |
5383 | \r | |
22c4de1a | 5384 | def macro_statement(self):\r |
f51461c8 | 5385 | \r |
22c4de1a HC |
5386 | localctx = CParser.Macro_statementContext(self, self._ctx, self.state)\r |
5387 | self.enterRule(localctx, 126, self.RULE_macro_statement)\r | |
5388 | self._la = 0 # Token type\r | |
5389 | try:\r | |
5390 | self.enterOuterAlt(localctx, 1)\r | |
5391 | self.state = 790\r | |
5392 | self.match(CParser.IDENTIFIER)\r | |
5393 | self.state = 791\r | |
5394 | self.match(CParser.T__37)\r | |
5395 | self.state = 795\r | |
5396 | self._errHandler.sync(self)\r | |
5397 | _alt = self._interp.adaptivePredict(self._input,97,self._ctx)\r | |
5398 | while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:\r | |
5399 | if _alt==1:\r | |
5400 | self.state = 792\r | |
5401 | self.declaration() \r | |
5402 | self.state = 797\r | |
5403 | self._errHandler.sync(self)\r | |
5404 | _alt = self._interp.adaptivePredict(self._input,97,self._ctx)\r | |
5405 | \r | |
5406 | self.state = 799\r | |
5407 | self._errHandler.sync(self)\r | |
5408 | la_ = self._interp.adaptivePredict(self._input,98,self._ctx)\r | |
5409 | if la_ == 1:\r | |
5410 | self.state = 798\r | |
5411 | self.statement_list()\r | |
5412 | \r | |
5413 | \r | |
5414 | self.state = 802\r | |
5415 | self._errHandler.sync(self)\r | |
5416 | _la = self._input.LA(1)\r | |
5417 | if ((((_la - 38)) & ~0x3f) == 0 and ((1 << (_la - 38)) & ((1 << (CParser.T__37 - 38)) | (1 << (CParser.T__41 - 38)) | (1 << (CParser.T__43 - 38)) | (1 << (CParser.T__44 - 38)) | (1 << (CParser.T__47 - 38)) | (1 << (CParser.T__48 - 38)) | (1 << (CParser.T__49 - 38)) | (1 << (CParser.T__52 - 38)) | (1 << (CParser.T__53 - 38)) | (1 << (CParser.T__54 - 38)) | (1 << (CParser.IDENTIFIER - 38)) | (1 << (CParser.CHARACTER_LITERAL - 38)) | (1 << (CParser.STRING_LITERAL - 38)) | (1 << (CParser.HEX_LITERAL - 38)) | (1 << (CParser.DECIMAL_LITERAL - 38)) | (1 << (CParser.OCTAL_LITERAL - 38)) | (1 << (CParser.FLOATING_POINT_LITERAL - 38)))) != 0):\r | |
5418 | self.state = 801\r | |
5419 | self.expression()\r | |
5420 | \r | |
5421 | \r | |
5422 | self.state = 804\r | |
5423 | self.match(CParser.T__38)\r | |
5424 | except RecognitionException as re:\r | |
5425 | localctx.exception = re\r | |
5426 | self._errHandler.reportError(self, re)\r | |
5427 | self._errHandler.recover(self, re)\r | |
5428 | finally:\r | |
5429 | self.exitRule()\r | |
5430 | return localctx\r | |
f51461c8 | 5431 | \r |
22c4de1a | 5432 | class Labeled_statementContext(ParserRuleContext):\r |
f51461c8 | 5433 | \r |
22c4de1a HC |
5434 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
5435 | super().__init__(parent, invokingState)\r | |
5436 | self.parser = parser\r | |
f51461c8 | 5437 | \r |
22c4de1a HC |
5438 | def IDENTIFIER(self):\r |
5439 | return self.getToken(CParser.IDENTIFIER, 0)\r | |
f51461c8 | 5440 | \r |
22c4de1a HC |
5441 | def statement(self):\r |
5442 | return self.getTypedRuleContext(CParser.StatementContext,0)\r | |
f51461c8 LG |
5443 | \r |
5444 | \r | |
22c4de1a HC |
5445 | def constant_expression(self):\r |
5446 | return self.getTypedRuleContext(CParser.Constant_expressionContext,0)\r | |
f51461c8 LG |
5447 | \r |
5448 | \r | |
22c4de1a HC |
5449 | def getRuleIndex(self):\r |
5450 | return CParser.RULE_labeled_statement\r | |
f51461c8 | 5451 | \r |
22c4de1a HC |
5452 | def enterRule(self, listener:ParseTreeListener):\r |
5453 | if hasattr( listener, "enterLabeled_statement" ):\r | |
5454 | listener.enterLabeled_statement(self)\r | |
f51461c8 | 5455 | \r |
22c4de1a HC |
5456 | def exitRule(self, listener:ParseTreeListener):\r |
5457 | if hasattr( listener, "exitLabeled_statement" ):\r | |
5458 | listener.exitLabeled_statement(self)\r | |
f51461c8 | 5459 | \r |
f51461c8 LG |
5460 | \r |
5461 | \r | |
f51461c8 | 5462 | \r |
22c4de1a | 5463 | def labeled_statement(self):\r |
f51461c8 | 5464 | \r |
22c4de1a HC |
5465 | localctx = CParser.Labeled_statementContext(self, self._ctx, self.state)\r |
5466 | self.enterRule(localctx, 128, self.RULE_labeled_statement)\r | |
5467 | try:\r | |
5468 | self.state = 817\r | |
5469 | self._errHandler.sync(self)\r | |
5470 | token = self._input.LA(1)\r | |
5471 | if token in [CParser.IDENTIFIER]:\r | |
5472 | self.enterOuterAlt(localctx, 1)\r | |
5473 | self.state = 806\r | |
5474 | self.match(CParser.IDENTIFIER)\r | |
5475 | self.state = 807\r | |
5476 | self.match(CParser.T__22)\r | |
5477 | self.state = 808\r | |
5478 | self.statement()\r | |
5479 | pass\r | |
5480 | elif token in [CParser.T__81]:\r | |
5481 | self.enterOuterAlt(localctx, 2)\r | |
5482 | self.state = 809\r | |
5483 | self.match(CParser.T__81)\r | |
5484 | self.state = 810\r | |
5485 | self.constant_expression()\r | |
5486 | self.state = 811\r | |
5487 | self.match(CParser.T__22)\r | |
5488 | self.state = 812\r | |
5489 | self.statement()\r | |
5490 | pass\r | |
5491 | elif token in [CParser.T__82]:\r | |
5492 | self.enterOuterAlt(localctx, 3)\r | |
5493 | self.state = 814\r | |
5494 | self.match(CParser.T__82)\r | |
5495 | self.state = 815\r | |
5496 | self.match(CParser.T__22)\r | |
5497 | self.state = 816\r | |
5498 | self.statement()\r | |
5499 | pass\r | |
5500 | else:\r | |
5501 | raise NoViableAltException(self)\r | |
f51461c8 | 5502 | \r |
22c4de1a HC |
5503 | except RecognitionException as re:\r |
5504 | localctx.exception = re\r | |
5505 | self._errHandler.reportError(self, re)\r | |
5506 | self._errHandler.recover(self, re)\r | |
5507 | finally:\r | |
5508 | self.exitRule()\r | |
5509 | return localctx\r | |
f51461c8 | 5510 | \r |
22c4de1a | 5511 | class Compound_statementContext(ParserRuleContext):\r |
f51461c8 | 5512 | \r |
22c4de1a HC |
5513 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
5514 | super().__init__(parent, invokingState)\r | |
5515 | self.parser = parser\r | |
f51461c8 | 5516 | \r |
22c4de1a HC |
5517 | def declaration(self, i:int=None):\r |
5518 | if i is None:\r | |
5519 | return self.getTypedRuleContexts(CParser.DeclarationContext)\r | |
5520 | else:\r | |
5521 | return self.getTypedRuleContext(CParser.DeclarationContext,i)\r | |
f51461c8 LG |
5522 | \r |
5523 | \r | |
22c4de1a HC |
5524 | def statement_list(self):\r |
5525 | return self.getTypedRuleContext(CParser.Statement_listContext,0)\r | |
f51461c8 LG |
5526 | \r |
5527 | \r | |
22c4de1a HC |
5528 | def getRuleIndex(self):\r |
5529 | return CParser.RULE_compound_statement\r | |
f51461c8 | 5530 | \r |
22c4de1a HC |
5531 | def enterRule(self, listener:ParseTreeListener):\r |
5532 | if hasattr( listener, "enterCompound_statement" ):\r | |
5533 | listener.enterCompound_statement(self)\r | |
f51461c8 | 5534 | \r |
22c4de1a HC |
5535 | def exitRule(self, listener:ParseTreeListener):\r |
5536 | if hasattr( listener, "exitCompound_statement" ):\r | |
5537 | listener.exitCompound_statement(self)\r | |
f51461c8 | 5538 | \r |
f51461c8 LG |
5539 | \r |
5540 | \r | |
f51461c8 | 5541 | \r |
22c4de1a | 5542 | def compound_statement(self):\r |
f51461c8 | 5543 | \r |
22c4de1a HC |
5544 | localctx = CParser.Compound_statementContext(self, self._ctx, self.state)\r |
5545 | self.enterRule(localctx, 130, self.RULE_compound_statement)\r | |
5546 | self._la = 0 # Token type\r | |
5547 | try:\r | |
5548 | self.enterOuterAlt(localctx, 1)\r | |
5549 | self.state = 819\r | |
5550 | self.match(CParser.T__0)\r | |
5551 | self.state = 823\r | |
5552 | self._errHandler.sync(self)\r | |
5553 | _alt = self._interp.adaptivePredict(self._input,101,self._ctx)\r | |
5554 | while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:\r | |
5555 | if _alt==1:\r | |
5556 | self.state = 820\r | |
5557 | self.declaration() \r | |
5558 | self.state = 825\r | |
5559 | self._errHandler.sync(self)\r | |
5560 | _alt = self._interp.adaptivePredict(self._input,101,self._ctx)\r | |
5561 | \r | |
5562 | self.state = 827\r | |
5563 | self._errHandler.sync(self)\r | |
5564 | _la = self._input.LA(1)\r | |
5565 | if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CParser.T__0) | (1 << CParser.T__1) | (1 << CParser.T__2) | (1 << CParser.T__5) | (1 << CParser.T__6) | (1 << CParser.T__7) | (1 << CParser.T__8) | (1 << CParser.T__9) | (1 << CParser.T__10) | (1 << CParser.T__11) | (1 << CParser.T__12) | (1 << CParser.T__13) | (1 << CParser.T__14) | (1 << CParser.T__15) | (1 << CParser.T__16) | (1 << CParser.T__17) | (1 << CParser.T__18) | (1 << CParser.T__20) | (1 << CParser.T__21) | (1 << CParser.T__23) | (1 << CParser.T__24) | (1 << CParser.T__25) | (1 << CParser.T__26) | (1 << CParser.T__27) | (1 << CParser.T__28) | (1 << CParser.T__29) | (1 << CParser.T__30) | (1 << CParser.T__31) | (1 << CParser.T__32) | (1 << CParser.T__33) | (1 << CParser.T__34) | (1 << CParser.T__35) | (1 << CParser.T__36) | (1 << CParser.T__37) | (1 << CParser.T__41) | (1 << CParser.T__43) | (1 << CParser.T__44) | (1 << CParser.T__47) | (1 << CParser.T__48) | (1 << CParser.T__49) | (1 << CParser.T__52) | (1 << CParser.T__53) | (1 << CParser.T__54))) != 0) or ((((_la - 79)) & ~0x3f) == 0 and ((1 << (_la - 79)) & ((1 << (CParser.T__78 - 79)) | (1 << (CParser.T__79 - 79)) | (1 << (CParser.T__80 - 79)) | (1 << (CParser.T__81 - 79)) | (1 << (CParser.T__82 - 79)) | (1 << (CParser.T__83 - 79)) | (1 << (CParser.T__85 - 79)) | (1 << (CParser.T__86 - 79)) | (1 << (CParser.T__87 - 79)) | (1 << (CParser.T__88 - 79)) | (1 << (CParser.T__89 - 79)) | (1 << (CParser.T__90 - 79)) | (1 << (CParser.T__91 - 79)) | (1 << (CParser.IDENTIFIER - 79)) | (1 << (CParser.CHARACTER_LITERAL - 79)) | (1 << (CParser.STRING_LITERAL - 79)) | (1 << (CParser.HEX_LITERAL - 79)) | (1 << (CParser.DECIMAL_LITERAL - 79)) | (1 << (CParser.OCTAL_LITERAL - 79)) | (1 << (CParser.FLOATING_POINT_LITERAL - 79)))) != 0):\r | |
5566 | self.state = 826\r | |
5567 | self.statement_list()\r | |
5568 | \r | |
5569 | \r | |
5570 | self.state = 829\r | |
5571 | self.match(CParser.T__19)\r | |
5572 | except RecognitionException as re:\r | |
5573 | localctx.exception = re\r | |
5574 | self._errHandler.reportError(self, re)\r | |
5575 | self._errHandler.recover(self, re)\r | |
5576 | finally:\r | |
5577 | self.exitRule()\r | |
5578 | return localctx\r | |
f51461c8 | 5579 | \r |
22c4de1a | 5580 | class Statement_listContext(ParserRuleContext):\r |
f51461c8 | 5581 | \r |
22c4de1a HC |
5582 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
5583 | super().__init__(parent, invokingState)\r | |
5584 | self.parser = parser\r | |
f51461c8 | 5585 | \r |
22c4de1a HC |
5586 | def statement(self, i:int=None):\r |
5587 | if i is None:\r | |
5588 | return self.getTypedRuleContexts(CParser.StatementContext)\r | |
5589 | else:\r | |
5590 | return self.getTypedRuleContext(CParser.StatementContext,i)\r | |
f51461c8 LG |
5591 | \r |
5592 | \r | |
22c4de1a HC |
5593 | def getRuleIndex(self):\r |
5594 | return CParser.RULE_statement_list\r | |
f51461c8 | 5595 | \r |
22c4de1a HC |
5596 | def enterRule(self, listener:ParseTreeListener):\r |
5597 | if hasattr( listener, "enterStatement_list" ):\r | |
5598 | listener.enterStatement_list(self)\r | |
f51461c8 | 5599 | \r |
22c4de1a HC |
5600 | def exitRule(self, listener:ParseTreeListener):\r |
5601 | if hasattr( listener, "exitStatement_list" ):\r | |
5602 | listener.exitStatement_list(self)\r | |
f51461c8 | 5603 | \r |
f51461c8 LG |
5604 | \r |
5605 | \r | |
5606 | \r | |
22c4de1a | 5607 | def statement_list(self):\r |
f51461c8 | 5608 | \r |
22c4de1a HC |
5609 | localctx = CParser.Statement_listContext(self, self._ctx, self.state)\r |
5610 | self.enterRule(localctx, 132, self.RULE_statement_list)\r | |
5611 | try:\r | |
5612 | self.enterOuterAlt(localctx, 1)\r | |
5613 | self.state = 832 \r | |
5614 | self._errHandler.sync(self)\r | |
5615 | _alt = 1\r | |
5616 | while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER:\r | |
5617 | if _alt == 1:\r | |
5618 | self.state = 831\r | |
5619 | self.statement()\r | |
f51461c8 | 5620 | \r |
22c4de1a HC |
5621 | else:\r |
5622 | raise NoViableAltException(self)\r | |
5623 | self.state = 834 \r | |
5624 | self._errHandler.sync(self)\r | |
5625 | _alt = self._interp.adaptivePredict(self._input,103,self._ctx)\r | |
5626 | \r | |
5627 | except RecognitionException as re:\r | |
5628 | localctx.exception = re\r | |
5629 | self._errHandler.reportError(self, re)\r | |
5630 | self._errHandler.recover(self, re)\r | |
5631 | finally:\r | |
5632 | self.exitRule()\r | |
5633 | return localctx\r | |
f51461c8 | 5634 | \r |
22c4de1a | 5635 | class Expression_statementContext(ParserRuleContext):\r |
f51461c8 | 5636 | \r |
22c4de1a HC |
5637 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
5638 | super().__init__(parent, invokingState)\r | |
5639 | self.parser = parser\r | |
f51461c8 | 5640 | \r |
22c4de1a HC |
5641 | def expression(self):\r |
5642 | return self.getTypedRuleContext(CParser.ExpressionContext,0)\r | |
f51461c8 LG |
5643 | \r |
5644 | \r | |
22c4de1a HC |
5645 | def getRuleIndex(self):\r |
5646 | return CParser.RULE_expression_statement\r | |
f51461c8 | 5647 | \r |
22c4de1a HC |
5648 | def enterRule(self, listener:ParseTreeListener):\r |
5649 | if hasattr( listener, "enterExpression_statement" ):\r | |
5650 | listener.enterExpression_statement(self)\r | |
f51461c8 | 5651 | \r |
22c4de1a HC |
5652 | def exitRule(self, listener:ParseTreeListener):\r |
5653 | if hasattr( listener, "exitExpression_statement" ):\r | |
5654 | listener.exitExpression_statement(self)\r | |
f51461c8 | 5655 | \r |
f51461c8 LG |
5656 | \r |
5657 | \r | |
f51461c8 | 5658 | \r |
22c4de1a | 5659 | def expression_statement(self):\r |
f51461c8 | 5660 | \r |
22c4de1a HC |
5661 | localctx = CParser.Expression_statementContext(self, self._ctx, self.state)\r |
5662 | self.enterRule(localctx, 134, self.RULE_expression_statement)\r | |
5663 | try:\r | |
5664 | self.state = 840\r | |
5665 | self._errHandler.sync(self)\r | |
5666 | token = self._input.LA(1)\r | |
5667 | if token in [CParser.T__1]:\r | |
5668 | self.enterOuterAlt(localctx, 1)\r | |
5669 | self.state = 836\r | |
5670 | self.match(CParser.T__1)\r | |
5671 | pass\r | |
5672 | elif token in [CParser.T__37, CParser.T__41, CParser.T__43, CParser.T__44, CParser.T__47, CParser.T__48, CParser.T__49, CParser.T__52, CParser.T__53, CParser.T__54, CParser.IDENTIFIER, CParser.CHARACTER_LITERAL, CParser.STRING_LITERAL, CParser.HEX_LITERAL, CParser.DECIMAL_LITERAL, CParser.OCTAL_LITERAL, CParser.FLOATING_POINT_LITERAL]:\r | |
5673 | self.enterOuterAlt(localctx, 2)\r | |
5674 | self.state = 837\r | |
5675 | self.expression()\r | |
5676 | self.state = 838\r | |
5677 | self.match(CParser.T__1)\r | |
5678 | pass\r | |
5679 | else:\r | |
5680 | raise NoViableAltException(self)\r | |
f51461c8 | 5681 | \r |
22c4de1a HC |
5682 | except RecognitionException as re:\r |
5683 | localctx.exception = re\r | |
5684 | self._errHandler.reportError(self, re)\r | |
5685 | self._errHandler.recover(self, re)\r | |
5686 | finally:\r | |
5687 | self.exitRule()\r | |
5688 | return localctx\r | |
f51461c8 | 5689 | \r |
22c4de1a | 5690 | class Selection_statementContext(ParserRuleContext):\r |
f51461c8 | 5691 | \r |
22c4de1a HC |
5692 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
5693 | super().__init__(parent, invokingState)\r | |
5694 | self.parser = parser\r | |
5695 | self.e = None # ExpressionContext\r | |
f51461c8 | 5696 | \r |
22c4de1a HC |
5697 | def statement(self, i:int=None):\r |
5698 | if i is None:\r | |
5699 | return self.getTypedRuleContexts(CParser.StatementContext)\r | |
5700 | else:\r | |
5701 | return self.getTypedRuleContext(CParser.StatementContext,i)\r | |
f51461c8 LG |
5702 | \r |
5703 | \r | |
22c4de1a HC |
5704 | def expression(self):\r |
5705 | return self.getTypedRuleContext(CParser.ExpressionContext,0)\r | |
f51461c8 LG |
5706 | \r |
5707 | \r | |
22c4de1a HC |
5708 | def getRuleIndex(self):\r |
5709 | return CParser.RULE_selection_statement\r | |
f51461c8 | 5710 | \r |
22c4de1a HC |
5711 | def enterRule(self, listener:ParseTreeListener):\r |
5712 | if hasattr( listener, "enterSelection_statement" ):\r | |
5713 | listener.enterSelection_statement(self)\r | |
f51461c8 | 5714 | \r |
22c4de1a HC |
5715 | def exitRule(self, listener:ParseTreeListener):\r |
5716 | if hasattr( listener, "exitSelection_statement" ):\r | |
5717 | listener.exitSelection_statement(self)\r | |
f51461c8 | 5718 | \r |
f51461c8 LG |
5719 | \r |
5720 | \r | |
f51461c8 | 5721 | \r |
22c4de1a | 5722 | def selection_statement(self):\r |
f51461c8 | 5723 | \r |
22c4de1a HC |
5724 | localctx = CParser.Selection_statementContext(self, self._ctx, self.state)\r |
5725 | self.enterRule(localctx, 136, self.RULE_selection_statement)\r | |
5726 | try:\r | |
5727 | self.state = 858\r | |
5728 | self._errHandler.sync(self)\r | |
5729 | token = self._input.LA(1)\r | |
5730 | if token in [CParser.T__83]:\r | |
5731 | self.enterOuterAlt(localctx, 1)\r | |
5732 | self.state = 842\r | |
5733 | self.match(CParser.T__83)\r | |
5734 | self.state = 843\r | |
5735 | self.match(CParser.T__37)\r | |
5736 | self.state = 844\r | |
5737 | localctx.e = self.expression()\r | |
5738 | self.state = 845\r | |
5739 | self.match(CParser.T__38)\r | |
5740 | self.StorePredicateExpression((None if localctx.e is None else localctx.e.start).line, (None if localctx.e is None else localctx.e.start).column, (None if localctx.e is None else localctx.e.stop).line, (None if localctx.e is None else localctx.e.stop).column, (None if localctx.e is None else self._input.getText((localctx.e.start,localctx.e.stop))))\r | |
5741 | self.state = 847\r | |
5742 | self.statement()\r | |
5743 | self.state = 850\r | |
5744 | self._errHandler.sync(self)\r | |
5745 | la_ = self._interp.adaptivePredict(self._input,105,self._ctx)\r | |
5746 | if la_ == 1:\r | |
5747 | self.state = 848\r | |
5748 | self.match(CParser.T__84)\r | |
5749 | self.state = 849\r | |
5750 | self.statement()\r | |
f51461c8 | 5751 | \r |
f51461c8 | 5752 | \r |
22c4de1a HC |
5753 | pass\r |
5754 | elif token in [CParser.T__85]:\r | |
5755 | self.enterOuterAlt(localctx, 2)\r | |
5756 | self.state = 852\r | |
5757 | self.match(CParser.T__85)\r | |
5758 | self.state = 853\r | |
5759 | self.match(CParser.T__37)\r | |
5760 | self.state = 854\r | |
5761 | self.expression()\r | |
5762 | self.state = 855\r | |
5763 | self.match(CParser.T__38)\r | |
5764 | self.state = 856\r | |
5765 | self.statement()\r | |
5766 | pass\r | |
5767 | else:\r | |
5768 | raise NoViableAltException(self)\r | |
f51461c8 | 5769 | \r |
22c4de1a HC |
5770 | except RecognitionException as re:\r |
5771 | localctx.exception = re\r | |
5772 | self._errHandler.reportError(self, re)\r | |
5773 | self._errHandler.recover(self, re)\r | |
5774 | finally:\r | |
5775 | self.exitRule()\r | |
5776 | return localctx\r | |
f51461c8 | 5777 | \r |
22c4de1a | 5778 | class Iteration_statementContext(ParserRuleContext):\r |
f51461c8 | 5779 | \r |
22c4de1a HC |
5780 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
5781 | super().__init__(parent, invokingState)\r | |
5782 | self.parser = parser\r | |
5783 | self.e = None # ExpressionContext\r | |
f51461c8 | 5784 | \r |
22c4de1a HC |
5785 | def statement(self):\r |
5786 | return self.getTypedRuleContext(CParser.StatementContext,0)\r | |
f51461c8 LG |
5787 | \r |
5788 | \r | |
22c4de1a HC |
5789 | def expression(self):\r |
5790 | return self.getTypedRuleContext(CParser.ExpressionContext,0)\r | |
f51461c8 LG |
5791 | \r |
5792 | \r | |
22c4de1a HC |
5793 | def getRuleIndex(self):\r |
5794 | return CParser.RULE_iteration_statement\r | |
f51461c8 | 5795 | \r |
22c4de1a HC |
5796 | def enterRule(self, listener:ParseTreeListener):\r |
5797 | if hasattr( listener, "enterIteration_statement" ):\r | |
5798 | listener.enterIteration_statement(self)\r | |
f51461c8 | 5799 | \r |
22c4de1a HC |
5800 | def exitRule(self, listener:ParseTreeListener):\r |
5801 | if hasattr( listener, "exitIteration_statement" ):\r | |
5802 | listener.exitIteration_statement(self)\r | |
f51461c8 | 5803 | \r |
f51461c8 LG |
5804 | \r |
5805 | \r | |
f51461c8 | 5806 | \r |
22c4de1a | 5807 | def iteration_statement(self):\r |
f51461c8 | 5808 | \r |
22c4de1a HC |
5809 | localctx = CParser.Iteration_statementContext(self, self._ctx, self.state)\r |
5810 | self.enterRule(localctx, 138, self.RULE_iteration_statement)\r | |
5811 | try:\r | |
5812 | self.state = 876\r | |
5813 | self._errHandler.sync(self)\r | |
5814 | token = self._input.LA(1)\r | |
5815 | if token in [CParser.T__86]:\r | |
5816 | self.enterOuterAlt(localctx, 1)\r | |
5817 | self.state = 860\r | |
5818 | self.match(CParser.T__86)\r | |
5819 | self.state = 861\r | |
5820 | self.match(CParser.T__37)\r | |
5821 | self.state = 862\r | |
5822 | localctx.e = self.expression()\r | |
5823 | self.state = 863\r | |
5824 | self.match(CParser.T__38)\r | |
5825 | self.state = 864\r | |
5826 | self.statement()\r | |
5827 | self.StorePredicateExpression((None if localctx.e is None else localctx.e.start).line, (None if localctx.e is None else localctx.e.start).column, (None if localctx.e is None else localctx.e.stop).line, (None if localctx.e is None else localctx.e.stop).column, (None if localctx.e is None else self._input.getText((localctx.e.start,localctx.e.stop))))\r | |
5828 | pass\r | |
5829 | elif token in [CParser.T__87]:\r | |
5830 | self.enterOuterAlt(localctx, 2)\r | |
5831 | self.state = 867\r | |
5832 | self.match(CParser.T__87)\r | |
5833 | self.state = 868\r | |
5834 | self.statement()\r | |
5835 | self.state = 869\r | |
5836 | self.match(CParser.T__86)\r | |
5837 | self.state = 870\r | |
5838 | self.match(CParser.T__37)\r | |
5839 | self.state = 871\r | |
5840 | localctx.e = self.expression()\r | |
5841 | self.state = 872\r | |
5842 | self.match(CParser.T__38)\r | |
5843 | self.state = 873\r | |
5844 | self.match(CParser.T__1)\r | |
5845 | self.StorePredicateExpression((None if localctx.e is None else localctx.e.start).line, (None if localctx.e is None else localctx.e.start).column, (None if localctx.e is None else localctx.e.stop).line, (None if localctx.e is None else localctx.e.stop).column, (None if localctx.e is None else self._input.getText((localctx.e.start,localctx.e.stop))))\r | |
5846 | pass\r | |
5847 | else:\r | |
5848 | raise NoViableAltException(self)\r | |
f51461c8 | 5849 | \r |
22c4de1a HC |
5850 | except RecognitionException as re:\r |
5851 | localctx.exception = re\r | |
5852 | self._errHandler.reportError(self, re)\r | |
5853 | self._errHandler.recover(self, re)\r | |
5854 | finally:\r | |
5855 | self.exitRule()\r | |
5856 | return localctx\r | |
f51461c8 | 5857 | \r |
22c4de1a | 5858 | class Jump_statementContext(ParserRuleContext):\r |
f51461c8 | 5859 | \r |
22c4de1a HC |
5860 | def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):\r |
5861 | super().__init__(parent, invokingState)\r | |
5862 | self.parser = parser\r | |
f51461c8 | 5863 | \r |
22c4de1a HC |
5864 | def IDENTIFIER(self):\r |
5865 | return self.getToken(CParser.IDENTIFIER, 0)\r | |
f51461c8 | 5866 | \r |
22c4de1a HC |
5867 | def expression(self):\r |
5868 | return self.getTypedRuleContext(CParser.ExpressionContext,0)\r | |
f51461c8 | 5869 | \r |
f51461c8 | 5870 | \r |
22c4de1a HC |
5871 | def getRuleIndex(self):\r |
5872 | return CParser.RULE_jump_statement\r | |
f51461c8 | 5873 | \r |
22c4de1a HC |
5874 | def enterRule(self, listener:ParseTreeListener):\r |
5875 | if hasattr( listener, "enterJump_statement" ):\r | |
5876 | listener.enterJump_statement(self)\r | |
f51461c8 | 5877 | \r |
22c4de1a HC |
5878 | def exitRule(self, listener:ParseTreeListener):\r |
5879 | if hasattr( listener, "exitJump_statement" ):\r | |
5880 | listener.exitJump_statement(self)\r | |
f51461c8 LG |
5881 | \r |
5882 | \r | |
f51461c8 LG |
5883 | \r |
5884 | \r | |
22c4de1a | 5885 | def jump_statement(self):\r |
f51461c8 | 5886 | \r |
22c4de1a HC |
5887 | localctx = CParser.Jump_statementContext(self, self._ctx, self.state)\r |
5888 | self.enterRule(localctx, 140, self.RULE_jump_statement)\r | |
5889 | try:\r | |
5890 | self.state = 891\r | |
5891 | self._errHandler.sync(self)\r | |
5892 | la_ = self._interp.adaptivePredict(self._input,108,self._ctx)\r | |
5893 | if la_ == 1:\r | |
5894 | self.enterOuterAlt(localctx, 1)\r | |
5895 | self.state = 878\r | |
5896 | self.match(CParser.T__88)\r | |
5897 | self.state = 879\r | |
5898 | self.match(CParser.IDENTIFIER)\r | |
5899 | self.state = 880\r | |
5900 | self.match(CParser.T__1)\r | |
5901 | pass\r | |
5902 | \r | |
5903 | elif la_ == 2:\r | |
5904 | self.enterOuterAlt(localctx, 2)\r | |
5905 | self.state = 881\r | |
5906 | self.match(CParser.T__89)\r | |
5907 | self.state = 882\r | |
5908 | self.match(CParser.T__1)\r | |
5909 | pass\r | |
5910 | \r | |
5911 | elif la_ == 3:\r | |
5912 | self.enterOuterAlt(localctx, 3)\r | |
5913 | self.state = 883\r | |
5914 | self.match(CParser.T__90)\r | |
5915 | self.state = 884\r | |
5916 | self.match(CParser.T__1)\r | |
5917 | pass\r | |
5918 | \r | |
5919 | elif la_ == 4:\r | |
5920 | self.enterOuterAlt(localctx, 4)\r | |
5921 | self.state = 885\r | |
5922 | self.match(CParser.T__91)\r | |
5923 | self.state = 886\r | |
5924 | self.match(CParser.T__1)\r | |
5925 | pass\r | |
5926 | \r | |
5927 | elif la_ == 5:\r | |
5928 | self.enterOuterAlt(localctx, 5)\r | |
5929 | self.state = 887\r | |
5930 | self.match(CParser.T__91)\r | |
5931 | self.state = 888\r | |
5932 | self.expression()\r | |
5933 | self.state = 889\r | |
5934 | self.match(CParser.T__1)\r | |
5935 | pass\r | |
5936 | \r | |
5937 | \r | |
5938 | except RecognitionException as re:\r | |
5939 | localctx.exception = re\r | |
5940 | self._errHandler.reportError(self, re)\r | |
5941 | self._errHandler.recover(self, re)\r | |
5942 | finally:\r | |
5943 | self.exitRule()\r | |
5944 | return localctx\r | |
f51461c8 LG |
5945 | \r |
5946 | \r | |
f51461c8 LG |
5947 | \r |
5948 | \r | |
f51461c8 | 5949 | \r |