[
{
"type": "action_block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "stmt",
"named": true
}
]
}
},
{
"type": "actiondef",
"named": true,
"fields": {
"variable_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "methodparamlist",
"named": true
},
{
"type": "port_modifier",
"named": true
}
]
}
},
{
"type": "actionvalue_block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "stmt",
"named": true
}
]
}
},
{
"type": "actionvaluedef",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_any",
"named": true
}
]
},
"variable_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "methodparamlist",
"named": true
},
{
"type": "port_modifier",
"named": true
}
]
}
},
{
"type": "assignment",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_any",
"named": true
}
]
},
"variable_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
}
]
}
},
{
"type": "assignrhs",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "action_block",
"named": true
},
{
"type": "actionvalue_block",
"named": true
},
{
"type": "assignrhs",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "concat",
"named": true
},
{
"type": "float_literal",
"named": true
},
{
"type": "functioncall",
"named": true
},
{
"type": "functiondef",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "interface_expr",
"named": true
},
{
"type": "macro_call",
"named": true
},
{
"type": "operation",
"named": true
},
{
"type": "par_block",
"named": true
},
{
"type": "paren_subscript",
"named": true
},
{
"type": "rules_block",
"named": true
},
{
"type": "seq_block",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "system_call",
"named": true
},
{
"type": "tagged_expr",
"named": true
},
{
"type": "ternary",
"named": true
},
{
"type": "typecast",
"named": true
},
{
"type": "unary_expr",
"named": true
},
{
"type": "varrhs",
"named": true
}
]
}
},
{
"type": "attributes",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "lcIdentifier",
"named": true
},
{
"type": "string",
"named": true
}
]
}
},
{
"type": "bdpi_import",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_any",
"named": true
}
]
},
"variable_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "methodparamlist",
"named": true
},
{
"type": "provisos",
"named": true
},
{
"type": "stringDQ",
"named": true
}
]
}
},
{
"type": "begin_block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "attributes",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "moduleinst",
"named": true
},
{
"type": "ruledef",
"named": true
},
{
"type": "stmt",
"named": true
}
]
}
},
{
"type": "bind",
"named": true,
"fields": {
"variable_name": {
"multiple": true,
"required": true,
"types": [
{
"type": "[",
"named": false
},
{
"type": "]",
"named": false
},
{
"type": "assignrhs",
"named": true
},
{
"type": "lcIdentifier",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
}
]
}
},
{
"type": "bvi_import",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "moduleDef",
"named": true
},
{
"type": "stringDQ",
"named": true
}
]
}
},
{
"type": "bvi_stmt",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "attributes",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
}
]
}
},
{
"type": "case",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "case_arm",
"named": true
}
]
}
},
{
"type": "case_arm",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "stmt",
"named": true
}
]
}
},
{
"type": "clock_reset_arg",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "member",
"named": true
}
]
}
},
{
"type": "concat",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
}
]
}
},
{
"type": "declr",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
},
"variable_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
}
},
{
"type": "deriving",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "ucIdentifier",
"named": true
}
]
}
},
{
"type": "direct_inst",
"named": true,
"fields": {
"variable_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "moduleinstRHS",
"named": true
}
]
}
},
{
"type": "enumItem",
"named": true,
"fields": {
"key": {
"multiple": false,
"required": true,
"types": [
{
"type": "ucIdentifier",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "value",
"named": true
}
]
}
}
},
{
"type": "export_decl",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "for_stmt",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type",
"named": true
}
]
},
"variable_name": {
"multiple": true,
"required": false,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "moduleinst",
"named": true
},
{
"type": "ruledef",
"named": true
},
{
"type": "stmt",
"named": true
}
]
}
},
{
"type": "formal_param",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type",
"named": true
},
{
"type": "type_any",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "methodparamlist",
"named": true
}
]
}
},
{
"type": "formal_params",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "formal_param",
"named": true
}
]
}
},
{
"type": "functionbody",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "stmt",
"named": true
}
]
}
},
{
"type": "functioncall",
"named": true,
"fields": {
"variable_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "clock_reset_arg",
"named": true
}
]
}
},
{
"type": "functioncall_stmt",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "functioncall",
"named": true
}
]
}
},
{
"type": "functiondef",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_any",
"named": true
}
]
},
"variable_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "functionbody",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "methodparamlist",
"named": true
},
{
"type": "provisos",
"named": true
}
]
}
},
{
"type": "functionproto",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_any",
"named": true
}
]
},
"variable_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "methodparamlist",
"named": true
},
{
"type": "provisos",
"named": true
}
]
}
},
{
"type": "identifier",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "lcIdentifier",
"named": true
},
{
"type": "ucIdentifier",
"named": true
}
]
}
},
{
"type": "if_stmt",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "match_pattern",
"named": true
},
{
"type": "stmt",
"named": true
}
]
}
},
{
"type": "impl_paramlist",
"named": true,
"fields": {
"type": {
"multiple": true,
"required": false,
"types": [
{
"type": "type_any",
"named": true
}
]
},
"variable_name": {
"multiple": true,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "attributes",
"named": true
}
]
}
},
{
"type": "imports",
"named": true,
"fields": {
"filename": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "instance",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "functiondef",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "moduleDef",
"named": true
},
{
"type": "provisos",
"named": true
},
{
"type": "type",
"named": true
}
]
}
},
{
"type": "interface",
"named": true,
"fields": {
"interface_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "ucIdentifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "actiondef",
"named": true
},
{
"type": "actionvaluedef",
"named": true
},
{
"type": "attributes",
"named": true
},
{
"type": "formal_params",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "interfaceinst",
"named": true
},
{
"type": "methoddef",
"named": true
}
]
}
},
{
"type": "interface_expr",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_any",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "interfaceimpl",
"named": true
},
{
"type": "methodimpl",
"named": true
}
]
}
},
{
"type": "interfaceimpl",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_any",
"named": true
}
]
},
"variable_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "interfaceimpl",
"named": true
},
{
"type": "methodimpl",
"named": true
}
]
}
},
{
"type": "interfaceinst",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_any",
"named": true
}
]
},
"variable_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "port_modifier",
"named": true
}
]
}
},
{
"type": "let_bind",
"named": true,
"fields": {
"variable_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
}
]
}
},
{
"type": "let_construct",
"named": true,
"fields": {
"variable_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "assignrhs",
"named": true
}
]
}
},
{
"type": "let_destructure",
"named": true,
"fields": {
"variable_name": {
"multiple": true,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
}
]
}
},
{
"type": "lowtype",
"named": true,
"fields": {}
},
{
"type": "macro_call",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "preproc_other",
"named": true
}
]
}
},
{
"type": "macro_call_stmt",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "macro_call",
"named": true
}
]
}
},
{
"type": "match_pattern",
"named": true,
"fields": {
"bind": {
"multiple": true,
"required": false,
"types": [
{
"type": "lcIdentifier",
"named": true
}
]
},
"field": {
"multiple": true,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "lcIdentifier",
"named": true
},
{
"type": "ucIdentifier",
"named": true
}
]
}
},
{
"type": "member",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "variable",
"named": true
}
]
}
},
{
"type": "method_guard",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "match_pattern",
"named": true
}
]
}
},
{
"type": "methoddef",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_any",
"named": true
}
]
},
"variable_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "methodparamlist",
"named": true
},
{
"type": "port_modifier",
"named": true
}
]
}
},
{
"type": "methodimpl",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_any",
"named": true
}
]
},
"variable_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "impl_paramlist",
"named": true
},
{
"type": "method_guard",
"named": true
},
{
"type": "port_modifier",
"named": true
},
{
"type": "stmt",
"named": true
}
]
}
},
{
"type": "methodparamlist",
"named": true,
"fields": {
"type": {
"multiple": true,
"required": false,
"types": [
{
"type": "type_any",
"named": true
}
]
},
"variable_name": {
"multiple": true,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "attributes",
"named": true
}
]
}
},
{
"type": "moduleDef",
"named": true,
"fields": {
"variable_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "formal_params",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "moduleStmt",
"named": true
},
{
"type": "module_ifc",
"named": true
},
{
"type": "provisos",
"named": true
}
]
}
},
{
"type": "moduleStmt",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "attributes",
"named": true
},
{
"type": "bvi_stmt",
"named": true
},
{
"type": "direct_inst",
"named": true
},
{
"type": "functiondef",
"named": true
},
{
"type": "interfaceimpl",
"named": true
},
{
"type": "methodimpl",
"named": true
},
{
"type": "moduleinst",
"named": true
},
{
"type": "ruledef",
"named": true
},
{
"type": "rules_block",
"named": true
},
{
"type": "stmt",
"named": true
}
]
}
},
{
"type": "module_ifc",
"named": true,
"fields": {
"type": {
"multiple": true,
"required": true,
"types": [
{
"type": "type_any",
"named": true
}
]
},
"variable_name": {
"multiple": true,
"required": false,
"types": [
{
"type": "variable",
"named": true
}
]
}
}
},
{
"type": "moduleinst",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
},
"variable_name": {
"multiple": true,
"required": true,
"types": [
{
"type": "[",
"named": false
},
{
"type": "]",
"named": false
},
{
"type": "assignrhs",
"named": true
},
{
"type": "lcIdentifier",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "moduleinstRHS",
"named": true
}
]
}
},
{
"type": "moduleinstRHS",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "clock_reset_arg",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "system_task_name",
"named": true
},
{
"type": "typeParam",
"named": true
}
]
}
},
{
"type": "moduleproto",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_any",
"named": true
}
]
},
"variable_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "formal_params",
"named": true
},
{
"type": "provisos",
"named": true
}
]
}
},
{
"type": "nb_assignment",
"named": true,
"fields": {
"variable_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
}
]
}
},
{
"type": "operation",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "operator",
"named": true
}
]
}
},
{
"type": "package_def",
"named": true,
"fields": {
"package_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "package_item",
"named": true
}
]
}
},
{
"type": "package_item",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "attributes",
"named": true
},
{
"type": "bdpi_import",
"named": true
},
{
"type": "bvi_import",
"named": true
},
{
"type": "export_decl",
"named": true
},
{
"type": "functiondef",
"named": true
},
{
"type": "imports",
"named": true
},
{
"type": "instance",
"named": true
},
{
"type": "interface",
"named": true
},
{
"type": "macro_call_stmt",
"named": true
},
{
"type": "moduleDef",
"named": true
},
{
"type": "moduleinst",
"named": true
},
{
"type": "typeclass",
"named": true
},
{
"type": "typedefs",
"named": true
}
]
}
},
{
"type": "par_block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "stmt",
"named": true
}
]
}
},
{
"type": "paren_subscript",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
}
]
}
},
{
"type": "port_modifier",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "attributes",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "proc_call",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "lcIdentifier",
"named": true
},
{
"type": "member",
"named": true
},
{
"type": "ucIdentifier",
"named": true
}
]
}
},
{
"type": "provisos",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "preproc_other",
"named": true
},
{
"type": "type",
"named": true
}
]
}
},
{
"type": "returnStatement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
}
]
}
},
{
"type": "ruledef",
"named": true,
"fields": {
"rule_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "lcIdentifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "match_pattern",
"named": true
},
{
"type": "stmt",
"named": true
}
]
}
},
{
"type": "rules_block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "attributes",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "ruledef",
"named": true
}
]
}
},
{
"type": "seq_block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "stmt",
"named": true
}
]
}
},
{
"type": "source_file",
"named": true,
"root": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "attributes",
"named": true
},
{
"type": "bdpi_import",
"named": true
},
{
"type": "bvi_import",
"named": true
},
{
"type": "functiondef",
"named": true
},
{
"type": "imports",
"named": true
},
{
"type": "instance",
"named": true
},
{
"type": "interface",
"named": true
},
{
"type": "macro_call_stmt",
"named": true
},
{
"type": "moduleDef",
"named": true
},
{
"type": "moduleinst",
"named": true
},
{
"type": "package_def",
"named": true
},
{
"type": "typeclass",
"named": true
},
{
"type": "typedefs",
"named": true
}
]
}
},
{
"type": "stmt",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "action_block",
"named": true
},
{
"type": "actionvalue_block",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "begin_block",
"named": true
},
{
"type": "bind",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "for_stmt",
"named": true
},
{
"type": "functioncall_stmt",
"named": true
},
{
"type": "if_stmt",
"named": true
},
{
"type": "let_bind",
"named": true
},
{
"type": "let_construct",
"named": true
},
{
"type": "let_destructure",
"named": true
},
{
"type": "macro_call_stmt",
"named": true
},
{
"type": "moduleinst",
"named": true
},
{
"type": "nb_assignment",
"named": true
},
{
"type": "par_block",
"named": true
},
{
"type": "proc_call",
"named": true
},
{
"type": "returnStatement",
"named": true
},
{
"type": "seq_block",
"named": true
},
{
"type": "system_call_stmt",
"named": true
},
{
"type": "typed_nb_assign",
"named": true
},
{
"type": "var_decl",
"named": true
},
{
"type": "while_stmt",
"named": true
}
]
}
},
{
"type": "string",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "stringDQ",
"named": true
}
]
}
},
{
"type": "system_call",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "system_task_name",
"named": true
}
]
}
},
{
"type": "system_call_stmt",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "system_task_name",
"named": true
}
]
}
},
{
"type": "tagged_expr",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "ucIdentifier",
"named": true
}
]
}
},
{
"type": "ternary",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
}
]
}
},
{
"type": "type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "lowtype",
"named": true
},
{
"type": "typeParam",
"named": true
},
{
"type": "ucIdentifier",
"named": true
}
]
}
},
{
"type": "typeParam",
"named": true,
"fields": {
"type": {
"multiple": true,
"required": false,
"types": [
{
"type": "type",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "integer",
"named": true
},
{
"type": "lcIdentifier",
"named": true
},
{
"type": "preproc_other",
"named": true
}
]
}
},
{
"type": "type_any",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "lcIdentifier",
"named": true
},
{
"type": "lowtype",
"named": true
},
{
"type": "typeParam",
"named": true
},
{
"type": "ucIdentifier",
"named": true
}
]
}
},
{
"type": "typecast",
"named": true,
"fields": {
"key": {
"multiple": true,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
},
"value": {
"multiple": true,
"required": false,
"types": [
{
"type": "assignrhs",
"named": true
}
]
}
}
},
{
"type": "typeclass",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "formal_params",
"named": true
},
{
"type": "functiondef",
"named": true
},
{
"type": "functionproto",
"named": true
},
{
"type": "moduleproto",
"named": true
},
{
"type": "provisos",
"named": true
},
{
"type": "typeclass_deps",
"named": true
},
{
"type": "ucIdentifier",
"named": true
}
]
}
},
{
"type": "typeclass_deps",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "typed_nb_assign",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
},
"variable_name": {
"multiple": true,
"required": true,
"types": [
{
"type": "[",
"named": false
},
{
"type": "]",
"named": false
},
{
"type": "assignrhs",
"named": true
},
{
"type": "lcIdentifier",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
}
]
}
},
{
"type": "typedefAlias",
"named": true,
"fields": {
"alias_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "ucIdentifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_any",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "formal_params",
"named": true
},
{
"type": "integer",
"named": true
}
]
}
},
{
"type": "typedefEnum",
"named": true,
"fields": {
"enum_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "ucIdentifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "deriving",
"named": true
},
{
"type": "enumItem",
"named": true
},
{
"type": "formal_params",
"named": true
}
]
}
},
{
"type": "typedefStruct",
"named": true,
"fields": {
"struct_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "ucIdentifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "declr",
"named": true
},
{
"type": "deriving",
"named": true
},
{
"type": "formal_params",
"named": true
}
]
}
},
{
"type": "typedefUnionTagged",
"named": true,
"fields": {
"union_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "ucIdentifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "deriving",
"named": true
},
{
"type": "union_member",
"named": true
}
]
}
},
{
"type": "typedefs",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "typedefAlias",
"named": true
},
{
"type": "typedefEnum",
"named": true
},
{
"type": "typedefStruct",
"named": true
},
{
"type": "typedefUnionTagged",
"named": true
}
]
}
},
{
"type": "unary_expr",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
}
]
}
},
{
"type": "union_member",
"named": true,
"fields": {
"tag_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "ucIdentifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "declr",
"named": true
}
]
}
},
{
"type": "value",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
}
]
}
},
{
"type": "var_decl",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
},
"variable_name": {
"multiple": true,
"required": true,
"types": [
{
"type": "[",
"named": false
},
{
"type": "]",
"named": false
},
{
"type": "assignrhs",
"named": true
},
{
"type": "lcIdentifier",
"named": true
}
]
}
}
},
{
"type": "variable",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "escaped_identifier",
"named": true
},
{
"type": "lcIdentifier",
"named": true
},
{
"type": "member",
"named": true
}
]
}
},
{
"type": "varrhs",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "typeParam",
"named": true
},
{
"type": "ucIdentifier",
"named": true
},
{
"type": "variable",
"named": true
}
]
}
},
{
"type": "while_stmt",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignrhs",
"named": true
},
{
"type": "stmt",
"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": "::",
"named": false
},
{
"type": ";",
"named": false
},
{
"type": "<-",
"named": false
},
{
"type": "<=",
"named": false
},
{
"type": "=",
"named": false
},
{
"type": "?",
"named": false
},
{
"type": "Action",
"named": false
},
{
"type": "ActionValue#",
"named": false
},
{
"type": "C",
"named": false
},
{
"type": "CF",
"named": false
},
{
"type": "ME",
"named": false
},
{
"type": "SB",
"named": false
},
{
"type": "SBR",
"named": false
},
{
"type": "[",
"named": false
},
{
"type": "]",
"named": false
},
{
"type": "^",
"named": false
},
{
"type": "action",
"named": false
},
{
"type": "actionvalue",
"named": false
},
{
"type": "ancestor",
"named": false
},
{
"type": "begin",
"named": false
},
{
"type": "bit",
"named": false
},
{
"type": "bool",
"named": false
},
{
"type": "case",
"named": false
},
{
"type": "clocked_by",
"named": false
},
{
"type": "comment",
"named": true,
"extra": true
},
{
"type": "default",
"named": false
},
{
"type": "default_clock",
"named": false
},
{
"type": "default_reset",
"named": false
},
{
"type": "dependencies",
"named": false
},
{
"type": "deriving",
"named": false
},
{
"type": "determines",
"named": false
},
{
"type": "else",
"named": false
},
{
"type": "enable",
"named": false
},
{
"type": "end",
"named": false
},
{
"type": "endaction",
"named": false
},
{
"type": "endactionvalue",
"named": false
},
{
"type": "endcase",
"named": false
},
{
"type": "endfunction",
"named": false
},
{
"type": "endinstance",
"named": false
},
{
"type": "endinterface",
"named": false
},
{
"type": "endmethod",
"named": false
},
{
"type": "endmodule",
"named": false
},
{
"type": "endpackage",
"named": false
},
{
"type": "endpar",
"named": false
},
{
"type": "endrule",
"named": false
},
{
"type": "endrules",
"named": false
},
{
"type": "endseq",
"named": false
},
{
"type": "endtypeclass",
"named": false
},
{
"type": "enum",
"named": false
},
{
"type": "escaped_identifier",
"named": true
},
{
"type": "export",
"named": false
},
{
"type": "float_literal",
"named": true
},
{
"type": "for",
"named": false
},
{
"type": "function",
"named": false
},
{
"type": "if",
"named": false
},
{
"type": "ifc_inout",
"named": false
},
{
"type": "import",
"named": false
},
{
"type": "input_clock",
"named": false
},
{
"type": "input_reset",
"named": false
},
{
"type": "instance",
"named": false
},
{
"type": "int",
"named": false
},
{
"type": "integer",
"named": false
},
{
"type": "integer",
"named": true
},
{
"type": "interface",
"named": false
},
{
"type": "lcIdentifier",
"named": true
},
{
"type": "let",
"named": false
},
{
"type": "matches",
"named": false
},
{
"type": "method",
"named": false
},
{
"type": "module",
"named": false
},
{
"type": "no_reset",
"named": false
},
{
"type": "numeric",
"named": false
},
{
"type": "operator",
"named": true
},
{
"type": "output_clock",
"named": false
},
{
"type": "output_reset",
"named": false
},
{
"type": "package",
"named": false
},
{
"type": "par",
"named": false
},
{
"type": "parameter",
"named": false
},
{
"type": "path",
"named": false
},
{
"type": "port",
"named": false
},
{
"type": "preproc_define",
"named": true,
"extra": true
},
{
"type": "preproc_else",
"named": true,
"extra": true
},
{
"type": "preproc_endif",
"named": true,
"extra": true
},
{
"type": "preproc_ifdef",
"named": true,
"extra": true
},
{
"type": "preproc_include",
"named": true,
"extra": true
},
{
"type": "preproc_other",
"named": true
},
{
"type": "provisos",
"named": false
},
{
"type": "ready",
"named": false
},
{
"type": "real",
"named": false
},
{
"type": "reset_by",
"named": false
},
{
"type": "return",
"named": false
},
{
"type": "rule",
"named": false
},
{
"type": "rules",
"named": false
},
{
"type": "same_family",
"named": false
},
{
"type": "schedule",
"named": false
},
{
"type": "seq",
"named": false
},
{
"type": "string",
"named": false
},
{
"type": "stringDQ",
"named": true
},
{
"type": "struct",
"named": false
},
{
"type": "system_task_name",
"named": true
},
{
"type": "tagged",
"named": false
},
{
"type": "type",
"named": false
},
{
"type": "typeclass",
"named": false
},
{
"type": "typedef",
"named": false
},
{
"type": "ucIdentifier",
"named": true
},
{
"type": "union",
"named": false
},
{
"type": "void",
"named": false
},
{
"type": "while",
"named": false
},
{
"type": "{",
"named": false
},
{
"type": "}",
"named": false
},
{
"type": "~",
"named": false
}
]