見出し画像

TOPOS-Ξ を学ぼう!その10(終)「二周目は、これだけ!spce、shapeの違いとは?」

TOPOS-Ξの入れ子構造を図示すると:

space SpaceA {                  // 最上位のコンテナ
    properties { ... }          // spaceのプロパティ
    
    shape ShapeA {             // spaceに属するshape
        properties { ... }      // shapeのプロパティ
        
        mapping MapA() {       // shapeに属するmapping
            properties { ... }  // mappingのプロパティ
            
            path {             // mappingに属するpath
                step1 ->
                step2
            }
        }
    }
    
    mapping SpaceMapA() {      // spaceに直接属するmapping
        properties { ... }
        path { ... }
    }
    
    shape ShapeB {
        shape NestedShapeA {   // shapeの中のshape
            mapping MapB() {
                path { ... }
            }
        }
    }
}

入れ子の規則:

  • `space`は最上位で、他の要素の中には定義できない

  • `shape`は`space`と`shape`の中で定義可能

  • `mapping`は`space`と`shape`の中で定義可能

  • `path`は必ず`mapping`の中でのみ定義可能