This is a collection of Intel®’ IA32® Software Developer's Manuals (URL of the day) and AMD' AMD64 Architecture Programmer's Manual together with the related specifications, application notes, white papers, and change logs. The collection aims to keep all available revisions. It was originally created by Michal Necasek, see OS/2 Museum.

If you have a public document, related to the IA32® specifications and missing from the collection, please mail it to me. The content of this URL and all sub-ULRs is available for convenient bulk download by rsync x86docs password "" (empty).

Function - ARM Machine Readable Schema - 2.8

AARCHMRS Schema 2.8

↚ Home

AST.Function object

A model representing an arbitrary function call:

  • IsSecure()
  • HaveEL(EL2)
  • SomeFunction(SomeNestedFunction(EL1, 0x10), n > 5)

object

Properties Type Description
_meta Meta
See Meta for more information.
_type
Enum
AST.Function
arguments
array [
BinaryOp
]

The function's arguments.

Default
[]
name

The function name.

Pattern
/^[A-Za-z][A-Za-z0-9_]*(\.[A-Za-z][A-Za-z0-9_]*)*$/
parameters
array [
BinaryOp
]

The function's parameters.

Default
[]
Additional Properties
Not Allowed
◊ Required
Properties marked with ◊ are required properties.
Examples
{
    "_type": "AST.Function", 
    "name": "IsSecure"
}
{
    "_type": "AST.Function", 
    "name": "HaveEL", 
    "arguments": [
        {
            "_type": "AST.Identifier", 
            "value": "EL2"
        }
    ]
}
{
    "_type": "AST.Function", 
    "name": "HaveEL", 
    "arguments": [
        {
            "_type": "AST.Identifier", 
            "value": "EL2"
        }
    ]
}
{
    "_type": "AST.Function", 
    "name": "SomeFunction", 
    "arguments": [
        {
            "_type": "AST.Function", 
            "name": "SomeNestedFunction", 
            "arguments": [
                {
                    "_type": "AST.Identifier", 
                    "value": "EL1"
                }
            ]
        }, 
        {
            "_type": "AST.BinaryOp", 
            "left": {
                "_type": "AST.Identifier", 
                "value": "n"
            }, 
            "op": ">", 
            "right": {
                "_type": "AST.Integer", 
                "value": 5
            }
        }
    ], 
    "parameters": [
        {
            "_type": "AST.Integer", 
            "value": 64
        }
    ]
}

Schema http://json-schema.org/draft-04/schema#

{
  "additionalProperties": false,
  "examples": [
    {
      "_type": "AST.Function",
      "name": "IsSecure"
    },
    {
      "_type": "AST.Function",
      "name": "HaveEL",
      "arguments": [
        {
          "_type": "AST.Identifier",
          "value": "EL2"
        }
      ]
    },
    {
      "_type": "AST.Function",
      "name": "HaveEL",
      "arguments": [
        {
          "_type": "AST.Identifier",
          "value": "EL2"
        }
      ]
    },
    {
      "_type": "AST.Function",
      "name": "SomeFunction",
      "arguments": [
        {
          "_type": "AST.Function",
          "name": "SomeNestedFunction",
          "arguments": [
            {
              "_type": "AST.Identifier",
              "value": "EL1"
            }
          ]
        },
        {
          "_type": "AST.BinaryOp",
          "left": {
            "_type": "AST.Identifier",
            "value": "n"
          },
          "op": ">",
          "right": {
            "_type": "AST.Integer",
            "value": 5
          }
        }
      ],
      "parameters": [
        {
          "_type": "AST.Integer",
          "value": 64
        }
      ]
    }
  ],
  "info": [
    "A model representing an arbitrary function call:",
    [
      " - `IsSecure()`",
      " - `HaveEL(EL2)`",
      " - `SomeFunction(SomeNestedFunction(EL1, 0x10), n > 5)`"
    ]
  ],
  "properties": {
    "_meta": {
      "$ref": "../Meta.json"
    },
    "_type": {
      "enum": [
        "AST.Function"
      ]
    },
    "name": {
      "info": [
        "The function name."
      ],
      "pattern": "^[A-Za-z][A-Za-z0-9_]*(\\.[A-Za-z][A-Za-z0-9_]*)*$"
    },
    "arguments": {
      "info": [
        "The function's arguments."
      ],
      "default": [],
      "type": "array",
      "items": {
        "$ref": "BinaryOp.json#/definitions/expression"
      }
    },
    "parameters": {
      "info": [
        "The function's parameters."
      ],
      "default": [],
      "type": "array",
      "items": {
        "$ref": "BinaryOp.json#/definitions/expression"
      }
    }
  },
  "required": [
    "name"
  ],
  "title": "Function",
  "type": "object",
  "$schema": "http://json-schema.org/draft-04/schema#"
}