1{
2 "name": "context_predicate",
3 "rules": {
4 "source": {
5 "type": "SYMBOL",
6 "name": "_expression"
7 },
8 "_expression": {
9 "type": "CHOICE",
10 "members": [
11 {
12 "type": "SYMBOL",
13 "name": "identifier"
14 },
15 {
16 "type": "SYMBOL",
17 "name": "not"
18 },
19 {
20 "type": "SYMBOL",
21 "name": "and"
22 },
23 {
24 "type": "SYMBOL",
25 "name": "or"
26 },
27 {
28 "type": "SYMBOL",
29 "name": "equal"
30 },
31 {
32 "type": "SYMBOL",
33 "name": "not_equal"
34 },
35 {
36 "type": "SYMBOL",
37 "name": "parenthesized"
38 }
39 ]
40 },
41 "identifier": {
42 "type": "PATTERN",
43 "value": "[A-Za-z0-9_-]+"
44 },
45 "not": {
46 "type": "PREC",
47 "value": 3,
48 "content": {
49 "type": "SEQ",
50 "members": [
51 {
52 "type": "STRING",
53 "value": "!"
54 },
55 {
56 "type": "FIELD",
57 "name": "expression",
58 "content": {
59 "type": "SYMBOL",
60 "name": "_expression"
61 }
62 }
63 ]
64 }
65 },
66 "and": {
67 "type": "PREC_LEFT",
68 "value": 2,
69 "content": {
70 "type": "SEQ",
71 "members": [
72 {
73 "type": "FIELD",
74 "name": "left",
75 "content": {
76 "type": "SYMBOL",
77 "name": "_expression"
78 }
79 },
80 {
81 "type": "STRING",
82 "value": "&&"
83 },
84 {
85 "type": "FIELD",
86 "name": "right",
87 "content": {
88 "type": "SYMBOL",
89 "name": "_expression"
90 }
91 }
92 ]
93 }
94 },
95 "or": {
96 "type": "PREC_LEFT",
97 "value": 1,
98 "content": {
99 "type": "SEQ",
100 "members": [
101 {
102 "type": "FIELD",
103 "name": "left",
104 "content": {
105 "type": "SYMBOL",
106 "name": "_expression"
107 }
108 },
109 {
110 "type": "STRING",
111 "value": "||"
112 },
113 {
114 "type": "FIELD",
115 "name": "right",
116 "content": {
117 "type": "SYMBOL",
118 "name": "_expression"
119 }
120 }
121 ]
122 }
123 },
124 "equal": {
125 "type": "SEQ",
126 "members": [
127 {
128 "type": "FIELD",
129 "name": "left",
130 "content": {
131 "type": "SYMBOL",
132 "name": "identifier"
133 }
134 },
135 {
136 "type": "STRING",
137 "value": "=="
138 },
139 {
140 "type": "FIELD",
141 "name": "right",
142 "content": {
143 "type": "SYMBOL",
144 "name": "identifier"
145 }
146 }
147 ]
148 },
149 "not_equal": {
150 "type": "SEQ",
151 "members": [
152 {
153 "type": "FIELD",
154 "name": "left",
155 "content": {
156 "type": "SYMBOL",
157 "name": "identifier"
158 }
159 },
160 {
161 "type": "STRING",
162 "value": "!="
163 },
164 {
165 "type": "FIELD",
166 "name": "right",
167 "content": {
168 "type": "SYMBOL",
169 "name": "identifier"
170 }
171 }
172 ]
173 },
174 "parenthesized": {
175 "type": "SEQ",
176 "members": [
177 {
178 "type": "STRING",
179 "value": "("
180 },
181 {
182 "type": "FIELD",
183 "name": "expression",
184 "content": {
185 "type": "SYMBOL",
186 "name": "_expression"
187 }
188 },
189 {
190 "type": "STRING",
191 "value": ")"
192 }
193 ]
194 }
195 },
196 "extras": [
197 {
198 "type": "PATTERN",
199 "value": "\\s"
200 }
201 ],
202 "conflicts": [],
203 "precedences": [],
204 "externals": [],
205 "inline": [],
206 "supertypes": []
207}
208