[
{
"type": "axis_word",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "axis_identifier",
"named": true
},
{
"type": "expression",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parameter_word",
"named": true
}
]
}
},
{
"type": "binary_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "expression",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parameter_word",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "break_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "direct_label",
"named": true
},
{
"type": "indirect_label",
"named": true
}
]
}
},
{
"type": "checksum",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parameter_word",
"named": true
}
]
}
},
{
"type": "continue_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "direct_label",
"named": true
},
{
"type": "indirect_label",
"named": true
}
]
}
},
{
"type": "direct_label",
"named": true,
"fields": {
"subroutine_name": {
"multiple": false,
"required": false,
"types": [
{
"type": "property_name",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "number",
"named": true
}
]
}
},
{
"type": "else_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "direct_label",
"named": true
},
{
"type": "eol_comment",
"named": true
},
{
"type": "indirect_label",
"named": true
},
{
"type": "subroutine_block",
"named": true
}
]
}
},
{
"type": "elseif_clause",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "direct_label",
"named": true
},
{
"type": "eol_comment",
"named": true
},
{
"type": "indirect_label",
"named": true
},
{
"type": "subroutine_block",
"named": true
}
]
}
},
{
"type": "expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "expression",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parameter_word",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "f_word",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parameter_word",
"named": true
}
]
}
},
{
"type": "fanuc_if_statement",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "fanuc_unconditional",
"named": true
},
{
"type": "parameter_variable",
"named": true
}
]
}
},
{
"type": "fanuc_loop",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "eol_comment",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "line",
"named": true
}
]
}
},
{
"type": "fanuc_unconditional",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "integer",
"named": true
}
]
}
},
{
"type": "g_word",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parameter_word",
"named": true
}
]
}
},
{
"type": "if_statement",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "direct_label",
"named": true
},
{
"type": "else_clause",
"named": true
},
{
"type": "elseif_clause",
"named": true
},
{
"type": "eol_comment",
"named": true
},
{
"type": "indirect_label",
"named": true
},
{
"type": "subroutine_block",
"named": true
}
]
}
},
{
"type": "indexed_axis_word",
"named": true,
"fields": {
"index": {
"multiple": false,
"required": true,
"types": [
{
"type": "unsigned_integer",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "axis_identifier",
"named": true
},
{
"type": "expression",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parameter_word",
"named": true
}
]
}
},
{
"type": "indirect_label",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "integer",
"named": false,
"fields": {}
},
{
"type": "line",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "checksum",
"named": true
},
{
"type": "eol_comment",
"named": true
},
{
"type": "line_number",
"named": true
},
{
"type": "word",
"named": true
}
]
}
},
{
"type": "line_number",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "unsigned_integer",
"named": true
}
]
}
},
{
"type": "loop",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "direct_label",
"named": true
},
{
"type": "eol_comment",
"named": true
},
{
"type": "indirect_label",
"named": true
},
{
"type": "subroutine_block",
"named": true
}
]
}
},
{
"type": "m_word",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parameter_word",
"named": true
}
]
}
},
{
"type": "number",
"named": false,
"fields": {}
},
{
"type": "o_word",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "fanuc_if_statement",
"named": true
},
{
"type": "fanuc_loop",
"named": true
},
{
"type": "fanuc_unconditional",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "loop",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "subroutine_call",
"named": true
},
{
"type": "subroutine_definition",
"named": true
}
]
}
},
{
"type": "other_word",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parameter_word",
"named": true
}
]
}
},
{
"type": "parameter_variable",
"named": true,
"fields": {
"index": {
"multiple": false,
"required": false,
"types": [
{
"type": "unsigned_integer",
"named": true
}
]
},
"parameter_name": {
"multiple": false,
"required": false,
"types": [
{
"type": "property_name",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parameter_identifier",
"named": true
},
{
"type": "parameter_word",
"named": true
}
]
}
},
{
"type": "parameter_word",
"named": true,
"fields": {
"parameter_name": {
"multiple": false,
"required": false,
"types": [
{
"type": "property_name",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "number",
"named": true
},
{
"type": "parameter_identifier",
"named": true
}
]
}
},
{
"type": "polar_angle",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parameter_word",
"named": true
}
]
}
},
{
"type": "polar_distance",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parameter_word",
"named": true
}
]
}
},
{
"type": "return_statement",
"named": true,
"fields": {
"return_value": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "direct_label",
"named": true
},
{
"type": "indirect_label",
"named": true
}
]
}
},
{
"type": "s_word",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "parameter_word",
"named": true
},
{
"type": "unsigned_integer",
"named": true
}
]
}
},
{
"type": "source_file",
"named": true,
"root": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "eol_comment",
"named": true
},
{
"type": "line",
"named": true
},
{
"type": "unsigned_integer",
"named": true
}
]
}
},
{
"type": "spindle_select",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parameter_word",
"named": true
}
]
}
},
{
"type": "subroutine_block",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "break_statement",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "line",
"named": true
},
{
"type": "loop",
"named": true
},
{
"type": "return_statement",
"named": true
}
]
}
},
{
"type": "subroutine_call",
"named": true,
"fields": {
"arg": {
"multiple": true,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "direct_label",
"named": true
},
{
"type": "indirect_label",
"named": true
}
]
}
},
{
"type": "subroutine_definition",
"named": true,
"fields": {
"return_value": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "direct_label",
"named": true
},
{
"type": "eol_comment",
"named": true
},
{
"type": "indirect_label",
"named": true
},
{
"type": "subroutine_block",
"named": true
}
]
}
},
{
"type": "t_marlin_special",
"named": true,
"fields": {}
},
{
"type": "t_word",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "parameter_word",
"named": true
},
{
"type": "t_marlin_special",
"named": true
},
{
"type": "unsigned_integer",
"named": true
}
]
}
},
{
"type": "unary_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "expression",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parameter_word",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "unsigned_integer",
"named": true,
"fields": {}
},
{
"type": "word",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "axis_word",
"named": true
},
{
"type": "f_word",
"named": true
},
{
"type": "g_word",
"named": true
},
{
"type": "indexed_axis_word",
"named": true
},
{
"type": "m_word",
"named": true
},
{
"type": "o_word",
"named": true
},
{
"type": "other_word",
"named": true
},
{
"type": "parameter_variable",
"named": true
},
{
"type": "parameter_word",
"named": true
},
{
"type": "polar_angle",
"named": true
},
{
"type": "polar_distance",
"named": true
},
{
"type": "s_word",
"named": true
},
{
"type": "spindle_select",
"named": true
},
{
"type": "t_word",
"named": true
}
]
}
},
{
"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": "abs",
"named": false
},
{
"type": "acos",
"named": false
},
{
"type": "and",
"named": false
},
{
"type": "asin",
"named": false
},
{
"type": "atan",
"named": false
},
{
"type": "axis_identifier",
"named": true
},
{
"type": "bcd",
"named": false
},
{
"type": "bin",
"named": false
},
{
"type": "break",
"named": false
},
{
"type": "call",
"named": false
},
{
"type": "continue",
"named": false
},
{
"type": "cos",
"named": false
},
{
"type": "do",
"named": false
},
{
"type": "else",
"named": false
},
{
"type": "elseif",
"named": false
},
{
"type": "end",
"named": false
},
{
"type": "endif",
"named": false
},
{
"type": "endrepeat",
"named": false
},
{
"type": "endsub",
"named": false
},
{
"type": "endwhile",
"named": false
},
{
"type": "eol_comment",
"named": true
},
{
"type": "eq",
"named": false
},
{
"type": "exists",
"named": false
},
{
"type": "exp",
"named": false
},
{
"type": "f",
"named": false
},
{
"type": "fix",
"named": false
},
{
"type": "fup",
"named": false
},
{
"type": "g",
"named": false
},
{
"type": "ge",
"named": false
},
{
"type": "goto",
"named": false
},
{
"type": "gt",
"named": false
},
{
"type": "if",
"named": false
},
{
"type": "inline_comment",
"named": true,
"extra": true
},
{
"type": "integer",
"named": false
},
{
"type": "le",
"named": false
},
{
"type": "ln",
"named": false
},
{
"type": "lt",
"named": false
},
{
"type": "m",
"named": false
},
{
"type": "mod",
"named": false
},
{
"type": "n",
"named": false
},
{
"type": "ne",
"named": false
},
{
"type": "number",
"named": false
},
{
"type": "o",
"named": false
},
{
"type": "or",
"named": false
},
{
"type": "parameter_identifier",
"named": true
},
{
"type": "property_name",
"named": true
},
{
"type": "repeat",
"named": false
},
{
"type": "return",
"named": false
},
{
"type": "round",
"named": false
},
{
"type": "s",
"named": false
},
{
"type": "sin",
"named": false
},
{
"type": "sqrt",
"named": false
},
{
"type": "sub",
"named": false
},
{
"type": "t",
"named": false
},
{
"type": "tan",
"named": false
},
{
"type": "then",
"named": false
},
{
"type": "while",
"named": false
},
{
"type": "xor",
"named": false
}
]