1module: 2 comment-line*: 3 comment-line: 4 Comment?: 5 Comment '# Copyright 2019 Google LLC' 1:1-1:28 6 "\n" '\n' 1:1-1:28 7 comment-line*: 8 comment-line: 9 Comment?: 10 Comment '#' 2:1-2:2 11 "\n" '\n' 2:1-2:2 12 comment-line*: 13 comment-line: 14 Comment?: 15 Comment '# Licensed under the Apache License, Version 2.0 (the "License");' 3:1-3:66 16 "\n" '\n' 3:1-3:66 17 comment-line*: 18 comment-line: 19 Comment?: 20 Comment '# you may not use this file except in compliance with the License.' 4:1-4:67 21 "\n" '\n' 4:1-4:67 22 comment-line*: 23 comment-line: 24 Comment?: 25 Comment '# You may obtain a copy of the License at' 5:1-5:42 26 "\n" '\n' 5:1-5:42 27 comment-line*: 28 comment-line: 29 Comment?: 30 Comment '#' 6:1-6:2 31 "\n" '\n' 6:1-6:2 32 comment-line*: 33 comment-line: 34 Comment?: 35 Comment '# https://www.apache.org/licenses/LICENSE-2.0' 7:1-7:50 36 "\n" '\n' 7:1-7:50 37 comment-line*: 38 comment-line: 39 Comment?: 40 Comment '#' 8:1-8:2 41 "\n" '\n' 8:1-8:2 42 comment-line*: 43 comment-line: 44 Comment?: 45 Comment '# Unless required by applicable law or agreed to in writing, software' 9:1-9:70 46 "\n" '\n' 9:1-9:70 47 comment-line*: 48 comment-line: 49 Comment?: 50 Comment '# distributed under the License is distributed on an "AS IS" BASIS,' 10:1-10:68 51 "\n" '\n' 10:1-10:68 52 comment-line*: 53 comment-line: 54 Comment?: 55 Comment '# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.' 11:1-11:75 56 "\n" '\n' 11:1-11:75 57 comment-line*: 58 comment-line: 59 Comment?: 60 Comment '# See the License for the specific language governing permissions and' 12:1-12:70 61 "\n" '\n' 12:1-12:70 62 comment-line*: 63 comment-line: 64 Comment?: 65 Comment '# limitations under the License.' 13:1-13:33 66 "\n" '\n' 13:1-13:33 67 comment-line*: 68 comment-line: 69 Comment? 70 "\n" '\n' 14:1-14:1 71 comment-line* 72 doc-line*: 73 doc-line: 74 doc: 75 Documentation '-- This is a simple, real-world example structure.' 15:1-15:51 76 Comment? 77 eol: 78 "\n" '\n' 15:51-16:1 79 comment-line*: 80 comment-line: 81 Comment? 82 "\n" '\n' 16:1-16:1 83 comment-line* 84 doc-line* 85 import-line* 86 attribute-line*: 87 attribute-line: 88 attribute: 89 "[" '[' 17:1-17:2 90 attribute-context? 91 "$default"?: 92 "$default" '$default' 17:2-17:10 93 snake-word: 94 SnakeWord 'byte_order' 17:11-17:21 95 ":" ':' 17:21-17:22 96 attribute-value: 97 string-constant: 98 String '"LittleEndian"' 17:23-17:37 99 "]" ']' 17:37-17:38 100 Comment? 101 eol: 102 "\n" '\n' 17:38-17:38 103 comment-line* 104 attribute-line*: 105 attribute-line: 106 attribute: 107 "[" '[' 18:1-18:2 108 attribute-context?: 109 attribute-context: 110 "(" '(' 18:2-18:3 111 snake-word: 112 SnakeWord 'cpp' 18:3-18:6 113 ")" ')' 18:6-18:7 114 "$default"? 115 snake-word: 116 SnakeWord 'namespace' 18:8-18:17 117 ":" ':' 18:17-18:18 118 attribute-value: 119 string-constant: 120 String '"emboss::test"' 18:19-18:33 121 "]" ']' 18:33-18:34 122 Comment? 123 eol: 124 "\n" '\n' 18:34-20:1 125 comment-line*: 126 comment-line: 127 Comment? 128 "\n" '\n' 19:1-19:1 129 comment-line*: 130 comment-line: 131 Comment? 132 "\n" '\n' 20:1-20:1 133 comment-line* 134 attribute-line* 135 type-definition*: 136 type-definition: 137 struct: 138 "struct" 'struct' 21:1-21:7 139 type-name: 140 type-word: 141 CamelWord 'LogFileStatus' 21:8-21:21 142 delimited-parameter-definition-list? 143 ":" ':' 21:21-21:22 144 Comment? 145 eol: 146 "\n" '\n' 21:22-21:22 147 comment-line* 148 struct-body: 149 Indent ' ' 22:1-22:3 150 doc-line* 151 attribute-line* 152 type-definition* 153 struct-field-block: 154 unconditional-struct-field: 155 field: 156 field-location: 157 expression: 158 choice-expression: 159 logical-expression: 160 comparison-expression: 161 additive-expression: 162 times-expression: 163 negation-expression: 164 bottom-expression: 165 numeric-constant: 166 Number '0' 22:3-22:4 167 times-expression-right* 168 additive-expression-right* 169 "[" '[' 22:6-22:7 170 "+" '+' 22:7-22:8 171 expression: 172 choice-expression: 173 logical-expression: 174 comparison-expression: 175 additive-expression: 176 times-expression: 177 negation-expression: 178 bottom-expression: 179 numeric-constant: 180 Number '4' 22:8-22:9 181 times-expression-right* 182 additive-expression-right* 183 "]" ']' 22:9-22:10 184 type: 185 type-reference: 186 type-reference-tail: 187 type-word: 188 CamelWord 'UInt' 22:13-22:17 189 delimited-argument-list? 190 type-size-specifier? 191 array-length-specifier* 192 snake-name: 193 snake-word: 194 SnakeWord 'file_state' 22:25-22:35 195 abbreviation? 196 attribute* 197 doc? 198 Comment? 199 eol: 200 "\n" '\n' 22:35-22:35 201 comment-line* 202 field-body? 203 struct-field-block: 204 unconditional-struct-field: 205 field: 206 field-location: 207 expression: 208 choice-expression: 209 logical-expression: 210 comparison-expression: 211 additive-expression: 212 times-expression: 213 negation-expression: 214 bottom-expression: 215 numeric-constant: 216 Number '4' 23:3-23:4 217 times-expression-right* 218 additive-expression-right* 219 "[" '[' 23:6-23:7 220 "+" '+' 23:7-23:8 221 expression: 222 choice-expression: 223 logical-expression: 224 comparison-expression: 225 additive-expression: 226 times-expression: 227 negation-expression: 228 bottom-expression: 229 numeric-constant: 230 Number '12' 23:8-23:10 231 times-expression-right* 232 additive-expression-right* 233 "]" ']' 23:10-23:11 234 type: 235 type-reference: 236 type-reference-tail: 237 type-word: 238 CamelWord 'UInt' 23:13-23:17 239 delimited-argument-list? 240 type-size-specifier?: 241 type-size-specifier: 242 ":" ':' 23:17-23:18 243 numeric-constant: 244 Number '8' 23:18-23:19 245 array-length-specifier*: 246 array-length-specifier: 247 "[" '[' 23:19-23:20 248 expression: 249 choice-expression: 250 logical-expression: 251 comparison-expression: 252 additive-expression: 253 times-expression: 254 negation-expression: 255 bottom-expression: 256 numeric-constant: 257 Number '12' 23:20-23:22 258 times-expression-right* 259 additive-expression-right* 260 "]" ']' 23:22-23:23 261 array-length-specifier* 262 snake-name: 263 snake-word: 264 SnakeWord 'file_name' 23:25-23:34 265 abbreviation? 266 attribute* 267 doc? 268 Comment? 269 eol: 270 "\n" '\n' 23:34-23:34 271 comment-line* 272 field-body? 273 struct-field-block: 274 unconditional-struct-field: 275 field: 276 field-location: 277 expression: 278 choice-expression: 279 logical-expression: 280 comparison-expression: 281 additive-expression: 282 times-expression: 283 negation-expression: 284 bottom-expression: 285 numeric-constant: 286 Number '16' 24:3-24:5 287 times-expression-right* 288 additive-expression-right* 289 "[" '[' 24:6-24:7 290 "+" '+' 24:7-24:8 291 expression: 292 choice-expression: 293 logical-expression: 294 comparison-expression: 295 additive-expression: 296 times-expression: 297 negation-expression: 298 bottom-expression: 299 numeric-constant: 300 Number '4' 24:8-24:9 301 times-expression-right* 302 additive-expression-right* 303 "]" ']' 24:9-24:10 304 type: 305 type-reference: 306 type-reference-tail: 307 type-word: 308 CamelWord 'UInt' 24:13-24:17 309 delimited-argument-list? 310 type-size-specifier? 311 array-length-specifier* 312 snake-name: 313 snake-word: 314 SnakeWord 'file_size_kb' 24:25-24:37 315 abbreviation? 316 attribute* 317 doc? 318 Comment? 319 eol: 320 "\n" '\n' 24:37-24:37 321 comment-line* 322 field-body? 323 struct-field-block: 324 unconditional-struct-field: 325 field: 326 field-location: 327 expression: 328 choice-expression: 329 logical-expression: 330 comparison-expression: 331 additive-expression: 332 times-expression: 333 negation-expression: 334 bottom-expression: 335 numeric-constant: 336 Number '20' 25:3-25:5 337 times-expression-right* 338 additive-expression-right* 339 "[" '[' 25:6-25:7 340 "+" '+' 25:7-25:8 341 expression: 342 choice-expression: 343 logical-expression: 344 comparison-expression: 345 additive-expression: 346 times-expression: 347 negation-expression: 348 bottom-expression: 349 numeric-constant: 350 Number '4' 25:8-25:9 351 times-expression-right* 352 additive-expression-right* 353 "]" ']' 25:9-25:10 354 type: 355 type-reference: 356 type-reference-tail: 357 type-word: 358 CamelWord 'UInt' 25:13-25:17 359 delimited-argument-list? 360 type-size-specifier? 361 array-length-specifier* 362 snake-name: 363 snake-word: 364 SnakeWord 'media' 25:25-25:30 365 abbreviation? 366 attribute* 367 doc? 368 Comment? 369 eol: 370 "\n" '\n' 25:30-25:30 371 comment-line* 372 field-body? 373 struct-field-block 374 Dedent '' 26:1-26:1 375 type-definition* 376 377