expexp
Version:
The express model io and express model and data representation.
167 lines (166 loc) • 3.65 kB
JSON
{
"t": "func",
"id": "FctListToArray",
"params":[
{
"t":"type_param",
"ids":[{"t":"param", "id":"lst"}],
"type":{
"t":"list",
"bounds":{
"t":"bounds",
"from":[[{ "t":"factor", "arg0":{"t":"integer", "value":0}, "quals0":[], "arg1":null, "quals1":null }]],
"to":[[{ "t":"factor", "arg0":{"t":"var_ref", "id":"maxSize"}, "quals0":[], "arg1":null, "quals1":null }]]
},
"spec":{"t":"generic_type", "label":"E"},
"unique":false
}
},
{
"t":"type_param",
"ids":[{"t":"param", "id":"startIdx"}],
"type":{"t":"integer"}
},
{
"t":"type_param",
"ids":[{"t":"param", "id":"maxSize"}],
"type":{"t":"integer"}
}
],
"locals": [
{
"t":"local_var",
"ids":[
{"t":"decl_id", "id":"actSize"}
],
"type": {"t":"integer"},
"expr": {
"t":"expr",
"arg0":[[{
"t":"factor",
"arg0":{
"t":"bifct",
"id":"sizeof",
"values":[{
"t":"expr",
"arg0":[[{
"t":"factor",
"arg0":{"t":"var_ref","id":"lst"},
"quals0":[],
"arg1":null,
"quals1":null
}]],
"op":null,
"arg1":null
}]
},
"quals0":[],
"arg1":null,
"quals1":null
}]],
"op":null,
"arg1":null
}
},
{
"t":"local_var",
"ids":[
{"t":"decl_id", "id":"endIdx"}
],
"type": {"t":"integer"},
"expr": {
"t":"expr",
"arg0":[
[{
"t":"factor",
"arg0":{"t":"var_ref","id":"startIdx"},
"quals0":[],
"arg1":null,
"quals1":null
}],
{"id":"plus","t":"addlikeop"},
[{
"t":"factor",
"arg0":{"t":"var_ref","id":"actSize"},
"quals0":[],
"arg1":null,
"quals1":null
}],
{"id":"minus","t":"addlikeop"},
[{
"t":"factor",
"arg0":{"t":"integer","value":1},
"quals0":[],
"arg1":null,
"quals1":null
}]
],
"op":null,
"arg1":null
}
},
{
"t":"local_var",
"ids":[
{"t":"decl_id", "id":"result"}
],
"type": {
"t":"array",
"bounds":{
"t":"bounds",
"from":[[{ "t":"factor", "arg0":{"t":"var_ref", "id":"startIdx"}, "quals0":[], "arg1":null, "quals1":null }]],
"to":[[{ "t":"factor", "arg0":{"t":"var_ref", "id":"endIdx"}, "quals0":[], "arg1":null, "quals1":null }]]
},
"spec":{"t":"generic_type", "label":"E"},
"opt": false,
"unique":false
},
"expr": {
"t":"expr",
"arg0":[[{"t":"factor", "arg0":{"t":"aggr","values":[
{
"t":"elmt",
"arg":{
"t":"expr",
"arg0":[[{
"t":"factor",
"arg0":{"t":"var_ref", "id":"lst"},
"quals0":[
{
"t":"idx_qual",
"idxStart":[[{
"t":"factor",
"arg0":{"t":"integer", "value":1},
"quals0":[],
"arg1":null,
"quals1":null
}]],
"idxEnd":[]
}
],
"arg1":null,
"quals1":null
}]],
"op":null,
"arg1":null
},
"mult":[[{ "t":"factor", "arg0":{"t":"var_ref", "id":"actSize"}, "quals0":[], "arg1":null, "quals1":null }]]
}
]}, "quals0":[], "arg1":null, "quals1":null}]],
"op":null,
"arg1":null
}
}
],
"result":{
"t":"array",
"bounds":{
"t":"bounds",
"from":[[{ "t":"factor", "arg0":{"t":"var_ref", "id":"startIdx"}, "quals0":[], "arg1":null, "quals1":null }]],
"to":[[{ "t":"factor", "arg0":{"t":"var_ref", "id":"endIdx"}, "quals0":[], "arg1":null, "quals1":null }]]
},
"spec":{"t":"generic_type", "label":"E"},
"opt": false,
"unique":false
}
}