[
{
"type": "data_step",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "data_step_header",
"named": true
},
{
"type": "generic_statement",
"named": true
},
{
"type": "include_statement",
"named": true
},
{
"type": "line_comment",
"named": true
},
{
"type": "macro_call_statement",
"named": true
},
{
"type": "macro_definition",
"named": true
},
{
"type": "macro_do_statement",
"named": true
},
{
"type": "macro_if_statement",
"named": true
},
{
"type": "macro_variable_assignment",
"named": true
},
{
"type": "merge_statement",
"named": true
},
{
"type": "null_statement",
"named": true
},
{
"type": "output_statement",
"named": true
},
{
"type": "run_statement",
"named": true
},
{
"type": "set_statement",
"named": true
},
{
"type": "update_statement",
"named": true
}
]
}
},
{
"type": "data_step_header",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "dataset_name",
"named": true
}
]
}
},
{
"type": "dataset_name",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "macro_variable_ref",
"named": true
}
]
}
},
{
"type": "ds_options",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "macro_call",
"named": true
},
{
"type": "macro_do_statement",
"named": true
},
{
"type": "macro_variable_ref",
"named": true
},
{
"type": "numeric_literal",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "generic_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "macro_call",
"named": true
},
{
"type": "macro_variable_ref",
"named": true
},
{
"type": "numeric_literal",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "include_statement",
"named": true,
"fields": {
"source": {
"multiple": false,
"required": true,
"types": [
{
"type": "fileref_source",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "macro_variable_ref",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "libname_statement",
"named": true,
"fields": {
"libref": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "macro_variable_ref",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "macro_arguments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "macro_call",
"named": true
},
{
"type": "macro_do_statement",
"named": true
},
{
"type": "macro_variable_ref",
"named": true
},
{
"type": "numeric_literal",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "macro_call",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "macro_name",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "macro_arguments",
"named": true
}
]
}
},
{
"type": "macro_call_statement",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "macro_name",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "macro_arguments",
"named": true
},
{
"type": "macro_call",
"named": true
},
{
"type": "macro_do_statement",
"named": true
},
{
"type": "macro_variable_ref",
"named": true
},
{
"type": "numeric_literal",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "macro_definition",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "macro_name",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "data_step",
"named": true
},
{
"type": "generic_statement",
"named": true
},
{
"type": "include_statement",
"named": true
},
{
"type": "line_comment",
"named": true
},
{
"type": "macro_call",
"named": true
},
{
"type": "macro_call_statement",
"named": true
},
{
"type": "macro_definition",
"named": true
},
{
"type": "macro_do_statement",
"named": true
},
{
"type": "macro_end",
"named": true
},
{
"type": "macro_if_statement",
"named": true
},
{
"type": "macro_label",
"named": true
},
{
"type": "macro_options",
"named": true
},
{
"type": "macro_parameters",
"named": true
},
{
"type": "macro_variable_assignment",
"named": true
},
{
"type": "macro_variable_ref",
"named": true
},
{
"type": "null_statement",
"named": true
},
{
"type": "numeric_literal",
"named": true
},
{
"type": "proc_sql_step",
"named": true
},
{
"type": "proc_step",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "macro_do_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "data_step",
"named": true
},
{
"type": "generic_statement",
"named": true
},
{
"type": "include_statement",
"named": true
},
{
"type": "line_comment",
"named": true
},
{
"type": "macro_call",
"named": true
},
{
"type": "macro_call_statement",
"named": true
},
{
"type": "macro_definition",
"named": true
},
{
"type": "macro_do_statement",
"named": true
},
{
"type": "macro_if_statement",
"named": true
},
{
"type": "macro_label",
"named": true
},
{
"type": "macro_variable_assignment",
"named": true
},
{
"type": "macro_variable_ref",
"named": true
},
{
"type": "null_statement",
"named": true
},
{
"type": "numeric_literal",
"named": true
},
{
"type": "proc_sql_step",
"named": true
},
{
"type": "proc_step",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "macro_end",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "macro_name",
"named": true
}
]
}
},
{
"type": "macro_if_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "data_step",
"named": true
},
{
"type": "generic_statement",
"named": true
},
{
"type": "include_statement",
"named": true
},
{
"type": "line_comment",
"named": true
},
{
"type": "macro_call",
"named": true
},
{
"type": "macro_call_statement",
"named": true
},
{
"type": "macro_definition",
"named": true
},
{
"type": "macro_do_statement",
"named": true
},
{
"type": "macro_if_statement",
"named": true
},
{
"type": "macro_label",
"named": true
},
{
"type": "macro_variable_assignment",
"named": true
},
{
"type": "macro_variable_ref",
"named": true
},
{
"type": "null_statement",
"named": true
},
{
"type": "numeric_literal",
"named": true
},
{
"type": "proc_sql_step",
"named": true
},
{
"type": "proc_step",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "macro_label",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "macro_name",
"named": true
}
]
}
},
{
"type": "macro_name",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "macro_options",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "macro_parameters",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "macro_call",
"named": true
},
{
"type": "macro_do_statement",
"named": true
},
{
"type": "macro_variable_ref",
"named": true
},
{
"type": "numeric_literal",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "macro_variable_assignment",
"named": true,
"fields": {
"name": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "macro_variable_ref",
"named": true
}
]
},
"value": {
"multiple": true,
"required": false,
"types": [
{
"type": "macro_call",
"named": true
},
{
"type": "macro_variable_ref",
"named": true
},
{
"type": "numeric_literal",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
}
},
{
"type": "merge_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "dataset_name",
"named": true
},
{
"type": "ds_options",
"named": true
}
]
}
},
{
"type": "null_statement",
"named": true,
"fields": {}
},
{
"type": "options_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "macro_variable_ref",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "output_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "dataset_name",
"named": true
},
{
"type": "ds_options",
"named": true
}
]
}
},
{
"type": "proc_sql_header",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "macro_variable_ref",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "proc_sql_step",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "generic_statement",
"named": true
},
{
"type": "include_statement",
"named": true
},
{
"type": "line_comment",
"named": true
},
{
"type": "macro_call_statement",
"named": true
},
{
"type": "macro_definition",
"named": true
},
{
"type": "macro_do_statement",
"named": true
},
{
"type": "macro_if_statement",
"named": true
},
{
"type": "macro_variable_assignment",
"named": true
},
{
"type": "null_statement",
"named": true
},
{
"type": "proc_sql_header",
"named": true
},
{
"type": "run_or_quit_statement",
"named": true
},
{
"type": "sql_create_statement",
"named": true
},
{
"type": "sql_insert_statement",
"named": true
},
{
"type": "sql_select_statement",
"named": true
}
]
}
},
{
"type": "proc_step",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "generic_statement",
"named": true
},
{
"type": "include_statement",
"named": true
},
{
"type": "line_comment",
"named": true
},
{
"type": "macro_call_statement",
"named": true
},
{
"type": "macro_definition",
"named": true
},
{
"type": "macro_do_statement",
"named": true
},
{
"type": "macro_if_statement",
"named": true
},
{
"type": "macro_variable_assignment",
"named": true
},
{
"type": "null_statement",
"named": true
},
{
"type": "proc_step_header",
"named": true
},
{
"type": "run_or_quit_statement",
"named": true
}
]
}
},
{
"type": "proc_step_header",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "macro_variable_ref",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "program",
"named": true,
"root": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "data_step",
"named": true
},
{
"type": "generic_statement",
"named": true
},
{
"type": "include_statement",
"named": true
},
{
"type": "libname_statement",
"named": true
},
{
"type": "line_comment",
"named": true
},
{
"type": "macro_call_statement",
"named": true
},
{
"type": "macro_definition",
"named": true
},
{
"type": "macro_do_statement",
"named": true
},
{
"type": "macro_if_statement",
"named": true
},
{
"type": "macro_variable_assignment",
"named": true
},
{
"type": "options_statement",
"named": true
},
{
"type": "proc_sql_step",
"named": true
},
{
"type": "proc_step",
"named": true
}
]
}
},
{
"type": "run_or_quit_statement",
"named": true,
"fields": {}
},
{
"type": "run_statement",
"named": true,
"fields": {}
},
{
"type": "set_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "dataset_name",
"named": true
},
{
"type": "ds_options",
"named": true
}
]
}
},
{
"type": "sql_create_statement",
"named": true,
"fields": {
"output": {
"multiple": false,
"required": true,
"types": [
{
"type": "dataset_name",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "sql_select_statement",
"named": true
}
]
}
},
{
"type": "sql_insert_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "dataset_name",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "macro_call",
"named": true
},
{
"type": "macro_do_statement",
"named": true
},
{
"type": "macro_variable_ref",
"named": true
},
{
"type": "numeric_literal",
"named": true
},
{
"type": "sql_select_statement",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "sql_join_clause",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "table_reference",
"named": true
}
]
}
},
{
"type": "sql_select_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "macro_call",
"named": true
},
{
"type": "macro_do_statement",
"named": true
},
{
"type": "macro_variable_ref",
"named": true
},
{
"type": "numeric_literal",
"named": true
},
{
"type": "sql_join_clause",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "table_reference",
"named": true
}
]
}
},
{
"type": "string_literal",
"named": true,
"fields": {}
},
{
"type": "table_reference",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "dataset_name",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "update_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "dataset_name",
"named": true
},
{
"type": "ds_options",
"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": "block_comment",
"named": true
},
{
"type": "fileref_source",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "line_comment",
"named": true
},
{
"type": "macro_variable_ref",
"named": true
},
{
"type": "numeric_literal",
"named": true
},
{
"type": "percent_comment",
"named": true
}
]