blob: dd98521d53c1156134a35b9502ec234862813fec [file]
{
"license": {
"copyright": "Copyright (c) 2010-2026 Arm Limited or its affiliates. All rights reserved.",
"info": "This document is Non-confidential and licensed under the BSD 3-clause license."
},
"info": [
[
"An instance of $(~Instruction.Assembly) is a stream of symbols that",
"represents an $(Instruction.Rules.Rule) or an $(~Instruction.Instruction)."
],
[
"$(~Instruction.Assembly) contains an optional human-readable description and",
"a list of symbols (each symbol is an instance of $(Instruction.Symbols.Literal)",
"or $(Instruction.Symbols.RuleReference))."
],
"The example below is for the assembly stream `ADD Xd, Xs1, Xs2`."
],
"type": "object",
"examples": [
{
"_type": "Instruction.Assembly",
"symbols": [
{
"_type": "Instruction.Symbols.Literal",
"value": "ADD"
},
{
"_type": "Instruction.Symbols.RuleReference",
"rule_id": "SPACE"
},
{
"_type": "Instruction.Symbols.RuleReference",
"rule_id": "Xd"
},
{
"_type": "Instruction.Symbols.RuleReference",
"rule_id": "COMMA"
},
{
"_type": "Instruction.Symbols.RuleReference",
"rule_id": "Xs1"
},
{
"_type": "Instruction.Symbols.RuleReference",
"rule_id": "COMMA"
},
{
"_type": "Instruction.Symbols.RuleReference",
"rule_id": "Xs2"
}
]
}
],
"properties": {
"_meta": {
"$ref": "../Meta.json",
"info": [
"Metadata"
]
},
"_type": {
"enum": [
"Instruction.Assembly"
]
},
"description": {
"$ref": "../Description.json",
"info": [
"A human-readable description for this stream of symbols."
]
},
"symbols": {
"info": [
[
"A list of symbols, each of which is an instance of $(~Instruction.Symbols.Literal) or",
"$(~Instruction.Symbols.RuleReference)."
]
],
"type": "array",
"items": {
"type": "object",
"oneOf": [
{
"$ref": "Symbols/Literal.json"
},
{
"$ref": "Symbols/RuleReference.json"
}
]
}
}
},
"required": [
"symbols"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Instruction.Assembly"
}