{ "attribute": [ { "name": { "text": "byte_order", "source_location": { "start": { "line": 17, "column": 11 }, "end": { "line": 17, "column": 21 }, "is_synthetic": false } }, "value": { "string_constant": { "text": "LittleEndian", "source_location": { "start": { "line": 17, "column": 23 }, "end": { "line": 17, "column": 37 }, "is_synthetic": false } }, "source_location": { "start": { "line": 17, "column": 23 }, "end": { "line": 17, "column": 37 }, "is_synthetic": false } }, "is_default": true, "source_location": { "start": { "line": 17, "column": 1 }, "end": { "line": 17, "column": 38 }, "is_synthetic": false } }, { "name": { "text": "namespace", "source_location": { "start": { "line": 18, "column": 8 }, "end": { "line": 18, "column": 17 }, "is_synthetic": false } }, "value": { "string_constant": { "text": "emboss::test", "source_location": { "start": { "line": 18, "column": 19 }, "end": { "line": 18, "column": 33 }, "is_synthetic": false } }, "source_location": { "start": { "line": 18, "column": 19 }, "end": { "line": 18, "column": 33 }, "is_synthetic": false } }, "is_default": false, "back_end": { "text": "cpp", "source_location": { "start": { "line": 18, "column": 2 }, "end": { "line": 18, "column": 7 }, "is_synthetic": false } }, "source_location": { "start": { "line": 18, "column": 1 }, "end": { "line": 20, "column": 1 }, "is_synthetic": false } } ], "type": [ { "structure": { "field": [ { "location": { "start": { "constant": { "value": "0", "source_location": { "start": { "line": 22, "column": 3 }, "end": { "line": 22, "column": 4 }, "is_synthetic": false } }, "source_location": { "start": { "line": 22, "column": 3 }, "end": { "line": 22, "column": 4 }, "is_synthetic": false } }, "size": { "constant": { "value": "4", "source_location": { "start": { "line": 22, "column": 8 }, "end": { "line": 22, "column": 9 }, "is_synthetic": false } }, "source_location": { "start": { "line": 22, "column": 8 }, "end": { "line": 22, "column": 9 }, "is_synthetic": false } }, "source_location": { "start": { "line": 22, "column": 3 }, "end": { "line": 22, "column": 10 }, "is_synthetic": false } }, "type": { "atomic_type": { "reference": { "source_name": [ { "text": "UInt", "source_location": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 17 }, "is_synthetic": false } } ], "source_location": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 17 }, "is_synthetic": false } }, "source_location": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 17 }, "is_synthetic": false } }, "source_location": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 17 }, "is_synthetic": false } }, "name": { "name": { "text": "file_state", "source_location": { "start": { "line": 22, "column": 25 }, "end": { "line": 22, "column": 35 }, "is_synthetic": false } }, "source_location": { "start": { "line": 22, "column": 25 }, "end": { "line": 22, "column": 35 }, "is_synthetic": false } }, "source_location": { "start": { "line": 22, "column": 3 }, "end": { "line": 22, "column": 35 } }, "existence_condition": { "source_location": { "start": { "line": 22, "column": 3 }, "end": { "line": 22, "column": 35 }, "is_synthetic": false }, "boolean_constant": { "source_location": { "start": { "line": 22, "column": 3 }, "end": { "line": 22, "column": 35 }, "is_synthetic": false }, "value": true } } }, { "location": { "start": { "constant": { "value": "4", "source_location": { "start": { "line": 23, "column": 3 }, "end": { "line": 23, "column": 4 }, "is_synthetic": false } }, "source_location": { "start": { "line": 23, "column": 3 }, "end": { "line": 23, "column": 4 }, "is_synthetic": false } }, "size": { "constant": { "value": "12", "source_location": { "start": { "line": 23, "column": 8 }, "end": { "line": 23, "column": 10 }, "is_synthetic": false } }, "source_location": { "start": { "line": 23, "column": 8 }, "end": { "line": 23, "column": 10 }, "is_synthetic": false } }, "source_location": { "start": { "line": 23, "column": 3 }, "end": { "line": 23, "column": 11 }, "is_synthetic": false } }, "type": { "array_type": { "base_type": { "atomic_type": { "reference": { "source_name": [ { "text": "UInt", "source_location": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 17 }, "is_synthetic": false } } ], "source_location": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 17 }, "is_synthetic": false } }, "source_location": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 17 }, "is_synthetic": false } }, "size_in_bits": { "constant": { "value": "8", "source_location": { "start": { "line": 23, "column": 18 }, "end": { "line": 23, "column": 19 }, "is_synthetic": false } }, "source_location": { "start": { "line": 23, "column": 17 }, "end": { "line": 23, "column": 19 }, "is_synthetic": false } }, "source_location": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 19 }, "is_synthetic": false } }, "element_count": { "constant": { "value": "12", "source_location": { "start": { "line": 23, "column": 20 }, "end": { "line": 23, "column": 22 }, "is_synthetic": false } }, "source_location": { "start": { "line": 23, "column": 19 }, "end": { "line": 23, "column": 23 }, "is_synthetic": false } }, "source_location": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 23 }, "is_synthetic": false } }, "source_location": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 23 }, "is_synthetic": false } }, "name": { "name": { "text": "file_name", "source_location": { "start": { "line": 23, "column": 25 }, "end": { "line": 23, "column": 34 }, "is_synthetic": false } }, "source_location": { "start": { "line": 23, "column": 25 }, "end": { "line": 23, "column": 34 }, "is_synthetic": false } }, "source_location": { "start": { "line": 23, "column": 3 }, "end": { "line": 23, "column": 34 } }, "existence_condition": { "source_location": { "start": { "line": 23, "column": 3 }, "end": { "line": 23, "column": 34 }, "is_synthetic": false }, "boolean_constant": { "source_location": { "start": { "line": 23, "column": 3 }, "end": { "line": 23, "column": 34 }, "is_synthetic": false }, "value": true } } }, { "location": { "start": { "constant": { "value": "16", "source_location": { "start": { "line": 24, "column": 3 }, "end": { "line": 24, "column": 5 }, "is_synthetic": false } }, "source_location": { "start": { "line": 24, "column": 3 }, "end": { "line": 24, "column": 5 }, "is_synthetic": false } }, "size": { "constant": { "value": "4", "source_location": { "start": { "line": 24, "column": 8 }, "end": { "line": 24, "column": 9 }, "is_synthetic": false } }, "source_location": { "start": { "line": 24, "column": 8 }, "end": { "line": 24, "column": 9 }, "is_synthetic": false } }, "source_location": { "start": { "line": 24, "column": 3 }, "end": { "line": 24, "column": 10 }, "is_synthetic": false } }, "type": { "atomic_type": { "reference": { "source_name": [ { "text": "UInt", "source_location": { "start": { "line": 24, "column": 13 }, "end": { "line": 24, "column": 17 }, "is_synthetic": false } } ], "source_location": { "start": { "line": 24, "column": 13 }, "end": { "line": 24, "column": 17 }, "is_synthetic": false } }, "source_location": { "start": { "line": 24, "column": 13 }, "end": { "line": 24, "column": 17 }, "is_synthetic": false } }, "source_location": { "start": { "line": 24, "column": 13 }, "end": { "line": 24, "column": 17 }, "is_synthetic": false } }, "name": { "name": { "text": "file_size_kb", "source_location": { "start": { "line": 24, "column": 25 }, "end": { "line": 24, "column": 37 }, "is_synthetic": false } }, "source_location": { "start": { "line": 24, "column": 25 }, "end": { "line": 24, "column": 37 }, "is_synthetic": false } }, "source_location": { "start": { "line": 24, "column": 3 }, "end": { "line": 24, "column": 37 } }, "existence_condition": { "source_location": { "start": { "line": 24, "column": 3 }, "end": { "line": 24, "column": 37 }, "is_synthetic": false }, "boolean_constant": { "source_location": { "start": { "line": 24, "column": 3 }, "end": { "line": 24, "column": 37 }, "is_synthetic": false }, "value": true } } }, { "location": { "start": { "constant": { "value": "20", "source_location": { "start": { "line": 25, "column": 3 }, "end": { "line": 25, "column": 5 }, "is_synthetic": false } }, "source_location": { "start": { "line": 25, "column": 3 }, "end": { "line": 25, "column": 5 }, "is_synthetic": false } }, "size": { "constant": { "value": "4", "source_location": { "start": { "line": 25, "column": 8 }, "end": { "line": 25, "column": 9 }, "is_synthetic": false } }, "source_location": { "start": { "line": 25, "column": 8 }, "end": { "line": 25, "column": 9 }, "is_synthetic": false } }, "source_location": { "start": { "line": 25, "column": 3 }, "end": { "line": 25, "column": 10 }, "is_synthetic": false } }, "type": { "atomic_type": { "reference": { "source_name": [ { "text": "UInt", "source_location": { "start": { "line": 25, "column": 13 }, "end": { "line": 25, "column": 17 }, "is_synthetic": false } } ], "source_location": { "start": { "line": 25, "column": 13 }, "end": { "line": 25, "column": 17 }, "is_synthetic": false } }, "source_location": { "start": { "line": 25, "column": 13 }, "end": { "line": 25, "column": 17 }, "is_synthetic": false } }, "source_location": { "start": { "line": 25, "column": 13 }, "end": { "line": 25, "column": 17 }, "is_synthetic": false } }, "name": { "name": { "text": "media", "source_location": { "start": { "line": 25, "column": 25 }, "end": { "line": 25, "column": 30 }, "is_synthetic": false } }, "source_location": { "start": { "line": 25, "column": 25 }, "end": { "line": 25, "column": 30 }, "is_synthetic": false } }, "source_location": { "start": { "line": 25, "column": 3 }, "end": { "line": 25, "column": 30 } }, "existence_condition": { "source_location": { "start": { "line": 25, "column": 3 }, "end": { "line": 25, "column": 30 }, "is_synthetic": false }, "boolean_constant": { "source_location": { "start": { "line": 25, "column": 3 }, "end": { "line": 25, "column": 30 }, "is_synthetic": false }, "value": true } } } ], "source_location": { "start": { "line": 21, "column": 1 }, "end": { "line": 26, "column": 1 } } }, "addressable_unit": 8, "source_location": { "start": { "line": 21, "column": 1 }, "end": { "line": 26, "column": 1 }, "is_synthetic": false }, "name": { "name": { "text": "LogFileStatus", "source_location": { "start": { "line": 21, "column": 8 }, "end": { "line": 21, "column": 21 }, "is_synthetic": false } }, "source_location": { "start": { "line": 21, "column": 8 }, "end": { "line": 21, "column": 21 }, "is_synthetic": false } } } ], "documentation": [ { "text": "This is a simple, real-world example structure.", "source_location": { "start": { "line": 15, "column": 1 }, "end": { "line": 16, "column": 1 }, "is_synthetic": false } } ], "foreign_import": [ { "file_name": { "text": "", "source_location": { "start": { "line": 16, "column": 1 }, "end": { "line": 16, "column": 1 }, "is_synthetic": false } }, "local_name": { "text": "", "source_location": { "start": { "line": 16, "column": 1 }, "end": { "line": 16, "column": 1 }, "is_synthetic": false } }, "source_location": { "start": { "line": 16, "column": 1 }, "end": { "line": 16, "column": 1 }, "is_synthetic": false } } ], "source_location": { "start": { "line": 1, "column": 1 }, "end": { "line": 26, "column": 1 }, "is_synthetic": false }, "source_text": "# Copyright 2019 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# https://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n-- This is a simple, real-world example structure.\n\n[$default byte_order: \"LittleEndian\"]\n[(cpp) namespace: \"emboss::test\"]\n\n\nstruct LogFileStatus:\n 0 [+4] UInt file_state\n 4 [+12] UInt:8[12] file_name\n 16 [+4] UInt file_size_kb\n 20 [+4] UInt media\n" }