[
{
"type": "const",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "word",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "ident",
"named": true
},
{
"type": "int",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tc_infix",
"named": true
}
]
}
}
},
{
"type": "ident",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "meta_ident",
"named": true
},
{
"type": "reg",
"named": true
}
]
}
},
{
"type": "instruction",
"named": true,
"fields": {
"kind": {
"multiple": false,
"required": true,
"types": [
{
"type": "word",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "float",
"named": true
},
{
"type": "ident",
"named": true
},
{
"type": "int",
"named": true
},
{
"type": "ptr",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tc_infix",
"named": true
}
]
}
},
{
"type": "int",
"named": true,
"fields": {}
},
{
"type": "label",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "word",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "ident",
"named": true
},
{
"type": "meta_ident",
"named": true
}
]
}
},
{
"type": "line_comment",
"named": true,
"fields": {}
},
{
"type": "meta",
"named": true,
"fields": {
"kind": {
"multiple": false,
"required": true,
"types": [
{
"type": "meta_ident",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "float",
"named": true
},
{
"type": "ident",
"named": true
},
{
"type": "int",
"named": true
},
{
"type": "string",
"named": true
}
]
}
},
{
"type": "program",
"named": true,
"root": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "const",
"named": true
},
{
"type": "instruction",
"named": true
},
{
"type": "label",
"named": true
},
{
"type": "meta",
"named": true
}
]
}
},
{
"type": "ptr",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "ident",
"named": true
},
{
"type": "int",
"named": true
},
{
"type": "reg",
"named": true
}
]
}
},
{
"type": "reg",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "address",
"named": true
},
{
"type": "word",
"named": true
}
]
}
},
{
"type": "tc_infix",
"named": true,
"fields": {
"lhs": {
"multiple": false,
"required": true,
"types": [
{
"type": "ident",
"named": true
},
{
"type": "int",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tc_infix",
"named": true
}
]
},
"op": {
"multiple": false,
"required": true,
"types": [
{
"type": "%",
"named": false
},
{
"type": "&",
"named": false
},
{
"type": "*",
"named": false
},
{
"type": "+",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": "/",
"named": false
},
{
"type": "^",
"named": false
},
{
"type": "|",
"named": false
}
]
},
"rhs": {
"multiple": false,
"required": true,
"types": [
{
"type": "ident",
"named": true
},
{
"type": "int",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tc_infix",
"named": true
}
]
}
}
},
{
"type": "\n",
"named": false
},
{
"type": "!",
"named": false
},
{
"type": "#",
"named": false
},
{
"type": "%",
"named": false
},
{
"type": "&",
"named": false
},
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "*",
"named": false
},
{
"type": "+",
"named": false
},
{
"type": ",",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": "/",
"named": false
},
{
"type": ":",
"named": false
},
{
"type": "[",
"named": false
},
{
"type": "]",
"named": false
},
{
"type": "^",
"named": false
},
{
"type": "address",
"named": true
},
{
"type": "block_comment",
"named": true
},
{
"type": "byte",
"named": false
},
{
"type": "const",
"named": false
},
{
"type": "dword",
"named": false
},
{
"type": "float",
"named": true
},
{
"type": "label",
"named": false
},
{
"type": "meta_ident",
"named": true
},
{
"type": "ptr",
"named": false
},
{
"type": "qword",
"named": false
},
{
"type": "rel",
"named": false
},
{
"type": "string",
"named": true
},
{
"type": "word",
"named": false
},
{
"type": "word",
"named": true
},
{
"type": "|",
"named": false
}
]