expexp
Version:
The express model io and express model and data representation.
298 lines (296 loc) • 6.83 kB
JSON
{
"schemaId":"GEOMETRY_SCHEMA",
"types":[
"units/TpRealBacked",
"units/TpIntegerGreaterThanZero",
"units/TpLabel",
"units/TpCompass",
"units/Tp3GreaterThanZero",
"units/TpOneOrTwoReal",
"units/TpHhMmSsMx",
"units/TpIndices",
"units/TpDirection",
{
"t": "type",
"id": "TpLabelSet",
"spec": {
"t":"set",
"bounds": {
"t":"bounds",
"from": [[{ "t":"factor", "arg0":{"t":"integer", "value":1}, "quals0":[], "arg1":null, "quals1":null }]],
"to": [[{ "t":"factor", "arg0":{"t":"integer", "value":7}, "quals0":[], "arg1":null, "quals1":null }]]
},
"spec": {
"t":"type_ref",
"id":"TpLabel"
}
},
"wheres":[]
},
{
"t": "type",
"id": "TpLabelBag",
"spec": {
"t":"bag",
"bounds": {
"t":"bounds",
"from": [[{ "t":"factor", "arg0":{"t":"integer", "value":1}, "quals0":[], "arg1":null, "quals1":null }]],
"to": [[{ "t":"factor", "arg0":{"t":"integer", "value":7}, "quals0":[], "arg1":null, "quals1":null }]]
},
"spec": {
"t":"type_ref",
"id":"TpLabel"
}
},
"wheres":[]
},
{
"t": "type",
"id": "TpLabelUnqOptArray",
"spec": {
"t":"array",
"bounds": {
"t":"bounds",
"from": [[{ "t":"factor", "arg0":{"t":"integer", "value":3}, "quals0":[], "arg1":null, "quals1":null }]],
"to": []
},
"opt":true,
"unique":true,
"spec": {
"t":"type_ref",
"id":"TpLabel"
}
},
"wheres":[]
},
{
"t": "type",
"id": "TpLabelUnqList",
"spec": {
"t":"list",
"bounds": {
"t":"bounds",
"from": [[{ "t":"factor", "arg0":{"t":"integer", "value":1}, "quals0":[], "arg1":null, "quals1":null }]],
"to": []
},
"unique":true,
"spec": {
"t":"type_ref",
"id":"TpLabel"
}
},
"wheres":[]
},
{
"t": "type",
"id": "TpPoint2d",
"spec": {
"t":"list",
"bounds": {
"t":"bounds",
"from": [[{ "t":"factor", "arg0":{"t":"integer", "value":2}, "quals0":[], "arg1":null, "quals1":null }]],
"to": [[{ "t":"factor", "arg0":{"t":"integer", "value":2}, "quals0":[], "arg1":null, "quals1":null }]]
},
"unique": false,
"spec": {
"t":"real"
}
},
"wheres":[]
},
{
"t": "type",
"id": "TpStroke2d",
"spec": {
"t":"list",
"unique":false,
"bounds":{"t":"bounds","from":[[{ "t":"factor", "arg0":{"t":"integer", "value":2}, "quals0":[], "arg1":null, "quals1":null }]],"to":[]},
"spec":{"t":"type_ref", "id":"TpPoint2d"}
},
"wheres":[]
},
{
"t": "type",
"id": "TpStroke2dRaw",
"spec": {
"t":"list",
"unique":false,
"bounds":{"t":"bounds","from":[[{ "t":"factor", "arg0":{"t":"integer", "value":2}, "quals0":[], "arg1":null, "quals1":null }]],"to":[]},
"spec":{
"t":"list",
"bounds": {
"t":"bounds",
"from": [[{ "t":"factor", "arg0":{"t":"integer", "value":2}, "quals0":[], "arg1":null, "quals1":null }]],
"to": [[{ "t":"factor", "arg0":{"t":"integer", "value":2}, "quals0":[], "arg1":null, "quals1":null }]]
},
"unique": false,
"spec": {
"t":"real"
}
}
},
"wheres":[]
},
{
"t": "type",
"id": "TpLayer2d",
"spec": {
"t":"list",
"unique":true,
"bounds":{"t":"bounds","from":[[{ "t":"factor", "arg0":{"t":"integer", "value":1}, "quals0":[], "arg1":null, "quals1":null }]],"to":[]},
"spec":{"t":"type_ref", "id":"TpStroke2d"}
},
"wheres":[]
},
{
"t": "type",
"id": "TpSketch2d",
"spec": {
"t":"list",
"unique":false,
"bounds":{"t":"bounds","from":[[{ "t":"factor", "arg0":{"t":"integer", "value":1}, "quals0":[], "arg1":null, "quals1":null }]],"to":[]},
"spec":{"t":"type_ref", "id":"TpLayer2d"}
},
"wheres":[]
},
{
"t": "type",
"id": "TpPolygon2d",
"spec": {
"t":"type_ref",
"id":"TpStroke2d"
},
"wheres":[{
"t":"where",
"id":"closed",
"expr":{
"t":"expr",
"arg0":[[{
"t":"factor",
"arg0":{"t":"integer", "value":2},
"quals0":[],
"arg1":null,
"quals1":null
}]],
"op":{"t":"relopext", "id":"lt"},
"arg1":[[{
"t":"factor",
"arg0":{
"t":"bifct",
"id":"sizeof",
"values":[{
"t":"expr",
"arg0":[[{
"t":"factor",
"arg0":{"t":"biconst", "id":"self"},
"quals0":[],
"arg1":null,
"quals1":null
}]],
"op":null,
"arg1":null
}]
},
"quals0":[],
"arg1":null,
"quals1":null
}]]
}
}]
}
],
"entities":[
{
"t": "entity",
"id": "NttStroke2d",
"super": {"t":"not_set"},
"abs": false,
"attrs": [
{
"t":"attr",
"ids":[{"t":"attr_id", "id":"points"}],
"opt":false,
"type":{
"t":"list",
"unique":false,
"bounds":{"t":"bounds","from":[[{ "t":"factor", "arg0":{"t":"integer", "value":2}, "quals0":[], "arg1":null, "quals1":null }]],"to":[]},
"spec":{"t":"type_ref", "id":"TpPoint2d"}
}
}
],
"derives": [
{
"t":"derive",
"id": {"t":"attr_id", "id":"bounding"},
"type":{
"t":"set",
"bounds":{"t":"bounds","from":[[{ "t":"factor", "arg0":{"t":"integer", "value":1}, "quals0":[], "arg1":null, "quals1":null }]],"to":[[{ "t":"factor", "arg0":{"t":"integer", "value":2}, "quals0":[], "arg1":null, "quals1":null }]]},
"spec":{"t":"type_ref", "id":"TpPoint2d"}
},
"expr":{
"t":"expr",
"arg0":[[
{
"t":"factor",
"arg0":{
"t":"func_call",
"id":"FctBoundingPoints",
"values":[
{
"t":"expr",
"arg0":[[{
"t":"factor",
"arg0":{"id":"points","t":"var_ref"},
"quals0":[],
"arg1":null,
"quals1":null
}]],
"op":null,
"arg1":null
}
]
},
"quals0":[],
"arg1":null,
"quals1":null
}
]],
"op":null,
"arg1":null
}
}
],
"uniques": [],
"inverses": [],
"wheres": []
}
],
"functions":[
"units/FctBoundingPoints"
],
"procedures":[
],
"verySimpleTypes":[
{"id":"TpRealBacked","value":-3.234e4}
],
"typeInheritChains":[
["TpLabel", "TpCompass"],
["TpStroke2d", "TpPolygon2d"]
],
"entityInheritChains":[],
"enitiyCompleteAttrs":[],
"entityEvalOrders":[
{"id":"NttStroke2d", "order":[
{"t":"attr", "ids":["points"]},
{"t":"derive", "id":"bounding"}
]}
],
"functionEvalOrders":[
{"id":"FctBoundingPoints", "order":[
{"t":"func", "id":"FctBoundingPoints"},
{"t":"type_param", "ids":["path"]},
{"t":"local_var", "ids":["tmp"]}
]}
],
"procedureEvalOrders":[]
}