mirror of
https://github.com/eMoflon/emoflon-neo.git
synced 2024-06-03 10:31:42 +00:00
10731 lines
138 KiB
Plaintext
10731 lines
138 KiB
Plaintext
import "platform:/resource/SokobanLanguage/src/metamodels/SokobanLanguage.msl"
|
|
|
|
grammar SokobanImportExport_MI {
|
|
|
|
BoardEndEntryRule
|
|
BoardEndEntryRule_1
|
|
BoardEndEntryRule_2
|
|
BoardEndEntryRule_3
|
|
BoardEndEntryRule_16
|
|
BoardEndEntryRule_17
|
|
BoardEndEntryRule_18
|
|
BoardEndEntryRule_19
|
|
BoardEndEntryRule_22
|
|
BoardEndEntryRule_23
|
|
BoardEndEntryRule_25
|
|
BoardEndEntryRule_27
|
|
BoardEndEntryRule_31
|
|
BoardEndEntryRule_64
|
|
BoardEndEntryRule_65
|
|
BoardEndEntryRule_66
|
|
BoardEndEntryRule_67
|
|
BoardEndEntryRule_97
|
|
BoardEndEntryRule_99
|
|
BoardEndEntryRule_512
|
|
BoardEndEntryRule_513
|
|
BoardEndEntryRule_514
|
|
BoardEndEntryRule_515
|
|
BoardEndEntryRule_576
|
|
BoardEndEntryRule_577
|
|
BoardEndEntryRule_578
|
|
BoardEndEntryRule_579
|
|
BoardEndEntryRule_609
|
|
BoardEndEntryRule_611
|
|
BoardEndEntryRule_642
|
|
BoardEndEntryRule_643
|
|
BoardEndEntryRule_706
|
|
BoardEndEntryRule_707
|
|
BoardEndEntryRule_739
|
|
BoardEndEntryRule_832
|
|
BoardEndEntryRule_833
|
|
BoardEndEntryRule_834
|
|
BoardEndEntryRule_835
|
|
BoardEndEntryRule_865
|
|
BoardEndEntryRule_867
|
|
BoardEndEntryRule_962
|
|
BoardEndEntryRule_963
|
|
BoardEndEntryRule_995
|
|
|
|
BoardNormalEntryRule
|
|
BoardNormalEntryRule_1
|
|
BoardNormalEntryRule_2
|
|
BoardNormalEntryRule_3
|
|
BoardNormalEntryRule_16
|
|
BoardNormalEntryRule_17
|
|
BoardNormalEntryRule_18
|
|
BoardNormalEntryRule_19
|
|
BoardNormalEntryRule_22
|
|
BoardNormalEntryRule_23
|
|
BoardNormalEntryRule_25
|
|
BoardNormalEntryRule_27
|
|
BoardNormalEntryRule_31
|
|
BoardNormalEntryRule_64
|
|
BoardNormalEntryRule_65
|
|
BoardNormalEntryRule_66
|
|
BoardNormalEntryRule_67
|
|
BoardNormalEntryRule_97
|
|
BoardNormalEntryRule_99
|
|
BoardNormalEntryRule_512
|
|
BoardNormalEntryRule_513
|
|
BoardNormalEntryRule_514
|
|
BoardNormalEntryRule_515
|
|
BoardNormalEntryRule_576
|
|
BoardNormalEntryRule_577
|
|
BoardNormalEntryRule_578
|
|
BoardNormalEntryRule_579
|
|
BoardNormalEntryRule_609
|
|
BoardNormalEntryRule_611
|
|
BoardNormalEntryRule_642
|
|
BoardNormalEntryRule_643
|
|
BoardNormalEntryRule_706
|
|
BoardNormalEntryRule_707
|
|
BoardNormalEntryRule_739
|
|
BoardNormalEntryRule_832
|
|
BoardNormalEntryRule_833
|
|
BoardNormalEntryRule_834
|
|
BoardNormalEntryRule_835
|
|
BoardNormalEntryRule_865
|
|
BoardNormalEntryRule_867
|
|
BoardNormalEntryRule_962
|
|
BoardNormalEntryRule_963
|
|
BoardNormalEntryRule_995
|
|
|
|
FirstColAllRowsEnd
|
|
FirstColAllRowsEnd_1
|
|
FirstColAllRowsEnd_2
|
|
FirstColAllRowsEnd_3
|
|
FirstColAllRowsEnd_4
|
|
FirstColAllRowsEnd_5
|
|
FirstColAllRowsEnd_6
|
|
FirstColAllRowsEnd_7
|
|
FirstColAllRowsEnd_15
|
|
FirstColAllRowsEnd_16
|
|
FirstColAllRowsEnd_17
|
|
FirstColAllRowsEnd_64
|
|
FirstColAllRowsEnd_65
|
|
FirstColAllRowsEnd_80
|
|
FirstColAllRowsEnd_81
|
|
FirstColAllRowsEnd_112
|
|
FirstColAllRowsEnd_113
|
|
FirstColAllRowsEnd_193
|
|
FirstColAllRowsEnd_209
|
|
FirstColAllRowsEnd_241
|
|
|
|
FirstColAllRowsNormal
|
|
FirstColAllRowsNormal_1
|
|
FirstColAllRowsNormal_2
|
|
FirstColAllRowsNormal_3
|
|
FirstColAllRowsNormal_4
|
|
FirstColAllRowsNormal_5
|
|
FirstColAllRowsNormal_6
|
|
FirstColAllRowsNormal_7
|
|
FirstColAllRowsNormal_15
|
|
FirstColAllRowsNormal_16
|
|
FirstColAllRowsNormal_17
|
|
FirstColAllRowsNormal_64
|
|
FirstColAllRowsNormal_65
|
|
FirstColAllRowsNormal_80
|
|
FirstColAllRowsNormal_81
|
|
FirstColAllRowsNormal_112
|
|
FirstColAllRowsNormal_113
|
|
FirstColAllRowsNormal_193
|
|
FirstColAllRowsNormal_209
|
|
FirstColAllRowsNormal_241
|
|
|
|
FirstRowAllColsEnd
|
|
FirstRowAllColsEnd_1
|
|
FirstRowAllColsEnd_2
|
|
FirstRowAllColsEnd_3
|
|
FirstRowAllColsEnd_4
|
|
FirstRowAllColsEnd_5
|
|
FirstRowAllColsEnd_6
|
|
FirstRowAllColsEnd_7
|
|
FirstRowAllColsEnd_15
|
|
FirstRowAllColsEnd_16
|
|
FirstRowAllColsEnd_17
|
|
FirstRowAllColsEnd_49
|
|
|
|
FirstRowAllColsNormal
|
|
FirstRowAllColsNormal_1
|
|
FirstRowAllColsNormal_2
|
|
FirstRowAllColsNormal_3
|
|
FirstRowAllColsNormal_4
|
|
FirstRowAllColsNormal_5
|
|
FirstRowAllColsNormal_6
|
|
FirstRowAllColsNormal_7
|
|
FirstRowAllColsNormal_15
|
|
FirstRowAllColsNormal_16
|
|
FirstRowAllColsNormal_17
|
|
FirstRowAllColsNormal_49
|
|
|
|
AllOtherFieldsEnd
|
|
AllOtherFieldsEnd_1
|
|
AllOtherFieldsEnd_2
|
|
AllOtherFieldsEnd_3
|
|
AllOtherFieldsEnd_8
|
|
AllOtherFieldsEnd_9
|
|
AllOtherFieldsEnd_10
|
|
AllOtherFieldsEnd_11
|
|
AllOtherFieldsEnd_16
|
|
AllOtherFieldsEnd_17
|
|
AllOtherFieldsEnd_18
|
|
AllOtherFieldsEnd_19
|
|
AllOtherFieldsEnd_24
|
|
AllOtherFieldsEnd_25
|
|
AllOtherFieldsEnd_26
|
|
AllOtherFieldsEnd_27
|
|
AllOtherFieldsEnd_31
|
|
AllOtherFieldsEnd_64
|
|
AllOtherFieldsEnd_65
|
|
AllOtherFieldsEnd_97
|
|
|
|
AllOtherFieldsNormal
|
|
AllOtherFieldsNormal_1
|
|
AllOtherFieldsNormal_2
|
|
AllOtherFieldsNormal_3
|
|
AllOtherFieldsNormal_8
|
|
AllOtherFieldsNormal_9
|
|
AllOtherFieldsNormal_10
|
|
AllOtherFieldsNormal_11
|
|
AllOtherFieldsNormal_16
|
|
AllOtherFieldsNormal_17
|
|
AllOtherFieldsNormal_18
|
|
AllOtherFieldsNormal_19
|
|
AllOtherFieldsNormal_24
|
|
AllOtherFieldsNormal_25
|
|
AllOtherFieldsNormal_26
|
|
AllOtherFieldsNormal_27
|
|
AllOtherFieldsNormal_31
|
|
AllOtherFieldsNormal_64
|
|
AllOtherFieldsNormal_65
|
|
AllOtherFieldsNormal_97
|
|
}
|
|
|
|
rule BoardEndEntryRule {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_1 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_2 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_3 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_16 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_17 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_18 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_19 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_22 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++nf:Field {
|
|
.enamespace := <__trgModelName>
|
|
.endPos := true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_23 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++nf:Field {
|
|
.enamespace := <__trgModelName>
|
|
.endPos := true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_25 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
++board:SokobanLanguage.Board {
|
|
.enamespace := <__trgModelName>
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_27 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
++board:SokobanLanguage.Board {
|
|
.enamespace := <__trgModelName>
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_31 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++nf:Field {
|
|
.enamespace := <__trgModelName>
|
|
.endPos := true
|
|
}
|
|
|
|
++board:SokobanLanguage.Board {
|
|
.enamespace := <__trgModelName>
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_64 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_65 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_66 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_67 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_97 {
|
|
++sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace := <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_99 {
|
|
++sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace := <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_512 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_513 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_514 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_515 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_576 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_577 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_578 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_579 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_609 {
|
|
++sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace := <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_611 {
|
|
++sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace := <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_642 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++ne:End {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_643 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++ne:End {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_706 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++ne:End {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_707 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++ne:End {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_739 {
|
|
++sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace := <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
}
|
|
|
|
++ne:End {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_832 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++row:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_833 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++row:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_834 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++row:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_835 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++row:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_865 {
|
|
++sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace := <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++row:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_867 {
|
|
++sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace := <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++row:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_962 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++ne:End {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
++row:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_963 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++ne:End {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
++row:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardEndEntryRule_995 {
|
|
++sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace := <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
}
|
|
|
|
++ne:End {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
++row:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
|
|
rule BoardNormalEntryRule {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_1 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_2 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_3 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_16 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_17 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_18 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_19 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_22 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++nf:Field {
|
|
.enamespace := <__trgModelName>
|
|
.endPos := false
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_23 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++nf:Field {
|
|
.enamespace := <__trgModelName>
|
|
.endPos := false
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_25 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
++board:SokobanLanguage.Board {
|
|
.enamespace := <__trgModelName>
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_27 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
++board:SokobanLanguage.Board {
|
|
.enamespace := <__trgModelName>
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_31 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++nf:Field {
|
|
.enamespace := <__trgModelName>
|
|
.endPos := false
|
|
}
|
|
|
|
++board:SokobanLanguage.Board {
|
|
.enamespace := <__trgModelName>
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_64 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_65 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_66 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_67 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_97 {
|
|
++sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace := <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_99 {
|
|
++sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace := <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_512 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_513 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_514 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_515 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_576 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_577 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_578 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_579 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_609 {
|
|
++sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace := <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_611 {
|
|
++sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace := <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_642 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++ne:Normal {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_643 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
-firstRow->row
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++ne:Normal {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_706 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++ne:Normal {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_707 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++ne:Normal {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_739 {
|
|
++sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace := <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
}
|
|
|
|
++ne:Normal {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
row:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_832 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++row:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_833 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++row:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_834 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++row:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_835 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++row:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_865 {
|
|
++sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace := <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++row:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_867 {
|
|
++sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace := <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++row:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_962 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
-corr->board
|
|
{
|
|
._type_ : "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++ne:Normal {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
++row:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_963 {
|
|
sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace : <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
++ne:Normal {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
++row:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule BoardNormalEntryRule_995 {
|
|
++sokBoard:sokobanExchangeFormat.Board {
|
|
.enamespace := <__srcModelName>
|
|
++-firstRow->row
|
|
++-corr->board
|
|
{
|
|
._type_ := "BoardToBoard"
|
|
}
|
|
}
|
|
|
|
++ne:Normal {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
++row:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
board:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
|
|
rule FirstColAllRowsEnd {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_1 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_2 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_3 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_4 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_5 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_6 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_7 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_15 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
++nf:Field {
|
|
.enamespace := <__trgModelName>
|
|
.endPos := true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_16 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-next->nr
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_17 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-next->nr
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_64 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_65 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_80 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-next->nr
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_81 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-next->nr
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_112 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-next->nr
|
|
-firstEntry->e
|
|
}
|
|
|
|
++nr:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_113 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-next->nr
|
|
-firstEntry->e
|
|
}
|
|
|
|
++nr:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_193 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
++ne:End {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_209 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-next->nr
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
++ne:End {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsEnd_241 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-next->nr
|
|
-firstEntry->e
|
|
}
|
|
|
|
++nr:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
++ne:End {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->f::row+1
|
|
.col := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
|
|
rule FirstColAllRowsNormal {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_1 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_2 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_3 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_4 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_5 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_6 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_7 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_15 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
++nf:Field {
|
|
.enamespace := <__trgModelName>
|
|
.endPos := false
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_16 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-next->nr
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_17 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-next->nr
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
-firstEntry->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_64 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_65 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_80 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-next->nr
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_81 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-next->nr
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_112 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-next->nr
|
|
-firstEntry->e
|
|
}
|
|
|
|
++nr:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_113 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-next->nr
|
|
-firstEntry->e
|
|
}
|
|
|
|
++nr:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_193 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
-next->nr
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
++ne:Normal {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_209 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-next->nr
|
|
-firstEntry->e
|
|
}
|
|
|
|
nr:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-firstEntry->ne
|
|
~_ex_ : true
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
++ne:Normal {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstColAllRowsNormal_241 {
|
|
r:Row {
|
|
.enamespace : <__srcModelName>
|
|
++-next->nr
|
|
-firstEntry->e
|
|
}
|
|
|
|
++nr:Row {
|
|
.enamespace := <__srcModelName>
|
|
++-firstEntry->ne
|
|
}
|
|
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
++ne:Normal {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.col : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := 0
|
|
.row := b::-fields->f::row+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
|
|
rule FirstRowAllColsEnd {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := 0
|
|
.col := b::-fields->f::col+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsEnd_1 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := 0
|
|
.col := b::-fields->f::col+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsEnd_2 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.row := 0
|
|
.col := b::-fields->f::col+1
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsEnd_3 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.row := 0
|
|
.col := b::-fields->f::col+1
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsEnd_4 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := 0
|
|
.col := b::-fields->f::col+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsEnd_5 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := 0
|
|
.col := b::-fields->f::col+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsEnd_6 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.row := 0
|
|
.col := b::-fields->f::col+1
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsEnd_7 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.row := 0
|
|
.col := b::-fields->f::col+1
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsEnd_15 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.row := 0
|
|
.col := b::-fields->f::col+1
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
++nf:Field {
|
|
.enamespace := <__trgModelName>
|
|
.endPos := true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsEnd_16 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
++-next->ne
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := 0
|
|
.col := b::-fields->f::col+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsEnd_17 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
++-next->ne
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := 0
|
|
.col := b::-fields->f::col+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsEnd_49 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
++-next->ne
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
++ne:End {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.row := 0
|
|
.col := b::-fields->f::col+1
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
|
|
rule FirstRowAllColsNormal {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := b::-fields->f::col+1
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsNormal_1 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := b::-fields->f::col+1
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsNormal_2 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.col := b::-fields->f::col+1
|
|
.row := 0
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsNormal_3 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.col := b::-fields->f::col+1
|
|
.row := 0
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsNormal_4 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := b::-fields->f::col+1
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsNormal_5 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := b::-fields->f::col+1
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsNormal_6 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.col := b::-fields->f::col+1
|
|
.row := 0
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsNormal_7 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.col := b::-fields->f::col+1
|
|
.row := 0
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsNormal_15 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
++-fields->nf
|
|
{
|
|
.col := b::-fields->f::col+1
|
|
.row := 0
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
++nf:Field {
|
|
.enamespace := <__trgModelName>
|
|
.endPos := false
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsNormal_16 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
++-next->ne
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := b::-fields->f::col+1
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsNormal_17 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
++-next->ne
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := b::-fields->f::col+1
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule FirstRowAllColsNormal_49 {
|
|
e:Entry {
|
|
.enamespace : <__srcModelName>
|
|
++-next->ne
|
|
-corr->f
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
++ne:Normal {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->f
|
|
{
|
|
.row : 0
|
|
}
|
|
-fields->nf
|
|
{
|
|
.col := b::-fields->f::col+1
|
|
.row := 0
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
f:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
|
|
rule AllOtherFieldsEnd {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_1 {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_2 {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
++-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_3 {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
++-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_8 {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_9 {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_10 {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
++-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_11 {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
++-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_16 {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_17 {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_18 {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
++-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_19 {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
++-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_24 {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_25 {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_26 {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
++-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_27 {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
++-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_31 {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
++-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
++nf:Field {
|
|
.enamespace := <__trgModelName>
|
|
.endPos := true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_64 {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
++-next->ne
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_65 {
|
|
ne:End {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
++-next->ne
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsEnd_97 {
|
|
++ne:End {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
++-next->ne
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.col := b::-fields->ur::col
|
|
.row := b::-fields->bl::row
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := true
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
|
|
rule AllOtherFieldsNormal {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_1 {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_2 {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
++-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_3 {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
++-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_8 {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_9 {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_10 {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
++-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_11 {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
++-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_16 {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_17 {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_18 {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
++-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_19 {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
++-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_24 {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_25 {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_26 {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
++-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_27 {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
++-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_31 {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
-next->ne
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
++-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
++nf:Field {
|
|
.enamespace := <__trgModelName>
|
|
.endPos := false
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-right->nf
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
++-bottom->nf
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_64 {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
-corr->nf
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
++-next->ne
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_65 {
|
|
ne:Normal {
|
|
.enamespace : <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
~_ex_ : true
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
++-next->ne
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|
|
rule AllOtherFieldsNormal_97 {
|
|
++ne:Normal {
|
|
.enamespace := <__srcModelName>
|
|
++-corr->nf
|
|
{
|
|
._type_ := "EntryToField"
|
|
}
|
|
}
|
|
|
|
ble:Entry {
|
|
.enamespace : <__srcModelName>
|
|
++-next->ne
|
|
-corr->bl
|
|
{
|
|
._type_ : "EntryToField"
|
|
}
|
|
}
|
|
|
|
b:SokobanLanguage.Board {
|
|
.enamespace : <__trgModelName>
|
|
-fields->ul
|
|
-fields->nf
|
|
{
|
|
.row := b::-fields->bl::row
|
|
.col := b::-fields->ur::col
|
|
~_ex_ : true
|
|
}
|
|
-fields->bl
|
|
-fields->ur
|
|
}
|
|
|
|
ul:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->bl
|
|
-right->ur
|
|
}
|
|
|
|
nf:Field {
|
|
.enamespace : <__trgModelName>
|
|
.endPos := false
|
|
~_ex_ : true
|
|
}
|
|
|
|
bl:Field {
|
|
.enamespace : <__trgModelName>
|
|
-right->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
ur:Field {
|
|
.enamespace : <__trgModelName>
|
|
-bottom->nf
|
|
{
|
|
~_ex_ : true
|
|
}
|
|
}
|
|
|
|
attributeConstraints {
|
|
}
|
|
}
|
|
|