Skip to content

Commit

Permalink
Improved COBOL, PASCAL abstraction
Browse files Browse the repository at this point in the history
  • Loading branch information
kevinlano authored Jan 29, 2024
1 parent dbd19ef commit 18c5ba7
Show file tree
Hide file tree
Showing 3 changed files with 194 additions and 225 deletions.
60 changes: 42 additions & 18 deletions cg/cobol2UML.cstl
Original file line number Diff line number Diff line change
Expand Up @@ -2721,10 +2721,15 @@ RETURN _1 RECORD _2 _3 _4 END-RETURN |--> <when> _2 returnInto, _3 atEndPhrase,
RETURN _1 RECORD _2 |--> _1_Position := _1_Position + 1;\n _1_Record := _1[_1_Position]; _2 := _1_Record ;\n<when> _2 returnInto
RETURN _1 _2 |--> _1_Position := _1_Position + 1;\n _1_Record := _1[_1_Position]; _2 := _1_Record ;\n<when> _2 returnInto

RETURN _1 _2 _3 |--> if _1_Position < _1->size()\n then (_1_Position := _1_Position + 1 ;\n _1_Record := _1[_1_Position] ;\n_3 skip)\n else (_2 skip);\n<when> _2 atEndPhrase, _3 notAtEndPhrase

RETURN _1 _2 |--> if _1_Position < _1->size()\n then _1_Position := _1_Position + 1 ;\n _1_Record := _1[_1_Position]\n else (_2 skip);\n<when> _2 atEndPhrase

RETURN _1 RECORD |--> _1_Position := _1_Position + 1;\n _1_Record := _1[_1_Position];\n
RETURN _1 |--> _1_Position := _1_Position + 1 ;\n _1_Record := _1[_1_Position];\n



returnInto::
INTO _1 |-->_1

Expand Down Expand Up @@ -2846,9 +2851,21 @@ _1 |-->_1
sortStatement::
SORT _1 _2 _3 _4 |--> _1 := _3 ;\n _1 := _1->sortedBy( _sortvar | _2) ;\n _4 := _1 ;\n<when> _2 sortOnKeyClause, _3 sortUsing, _4 sortGivingPhrase

SORT _1 _2 _3 _4 _5 |--> _1 := _4 ;\n _1 := _1->sortedBy( _sortvar | Sequence{_2, _3}) ;\n _5 := _1 ;\n<when> _2 sortOnKeyClause, _3 sortOnKeyClause, _4 sortUsing, _5 sortGivingPhrase

SORT _1 _2 _3 _4 _5 _6 |--> _1 := _5 ;\n _1 := _1->sortedBy( _sortvar | Sequence{_2, _3, _4}) ;\n _6 := _1 ;\n<when> _2 sortOnKeyClause, _3 sortOnKeyClause, _4 sortOnKeyClause, _5 sortUsing, _6 sortGivingPhrase

SORT _1 _2 _3 _4 |--> self._3_Call() ;\n _1 := _1->sortedBy( _sortvar | _2) ;\n _4 := _1 ;\n<when> _2 sortOnKeyClause, _3 sortInputProcedurePhrase, _4 sortGivingPhrase

SORT _1 _2 _3 _4 _5 |--> self._4_Call() ;\n _1 := _1->sortedBy( _sortvar | Sequence{_2, _3}) ;\n _5 := _1 ;\n<when> _2 sortOnKeyClause, _3 sortOnKeyClause, _4 sortInputProcedurePhrase, _5 sortGivingPhrase

SORT _1 _2 _3 _4 _5 _6 |--> self._5_Call() ;\n _1 := _1->sortedBy( _sortvar | Sequence{_2, _3, _4}) ;\n _6 := _1 ;\n<when> _2 sortOnKeyClause, _3 sortOnKeyClause, _4 sortOnKeyClause, _5 sortInputProcedurePhrase, _6 sortGivingPhrase


SORT _1 _2 _3 _4 |--> _1 := _3 ;\n _1 := _1->sortedBy( _sortvar | _2) ;\n self._4_Call() ;\n<when> _2 sortOnKeyClause, _3 sortUsing, _4 sortOutputProcedurePhrase



sortOnKeyClause::
ON ASCENDING KEY _1 _* |-->_sortvar.subrange(_1`startPosition, _1`endPosition)
ON ASCENDING KEY _1 |-->_sortvar.subrange(_1`startPosition, _1`endPosition)
Expand All @@ -2858,14 +2875,15 @@ ON ASCENDING _1 _* |-->_sortvar.subrange(_1`startPosition, _1`endPosition)
ON ASCENDING _1 |-->_sortvar.subrange(_1`startPosition, _1`endPosition)
ASCENDING _1 _* |-->_sortvar.subrange(_1`startPosition, _1`endPosition)
ASCENDING _1 |-->_sortvar.subrange(_1`startPosition, _1`endPosition)
ON DESCENDING KEY _1 _* |-->-_sortvar
ON DESCENDING KEY _1 |-->-_sortvar
DESCENDING KEY _1 _* |-->-_sortvar
DESCENDING KEY _1 |-->-_sortvar
ON DESCENDING _1 _* |-->-_sortvar
ON DESCENDING _1 |-->-_sortvar
DESCENDING _1 _* |-->-_sortvar
DESCENDING _1 |-->-_sortvar
ON DESCENDING KEY _1 _* |-->-(_sortvar.subrange(_1`startPosition, _1`endPosition)->toReal())
ON DESCENDING KEY _1 |-->-(_sortvar.subrange(_1`startPosition, _1`endPosition)->toReal())
DESCENDING KEY _1 _* |-->-(_sortvar.subrange(_1`startPosition, _1`endPosition)->toReal())
DESCENDING KEY _1 |-->-(_sortvar.subrange(_1`startPosition, _1`endPosition)->toReal())
ON DESCENDING _1 _* |-->-(_sortvar.subrange(_1`startPosition, _1`endPosition)->toReal())
ON DESCENDING _1 |-->-(_sortvar.subrange(_1`startPosition, _1`endPosition)->toReal())
DESCENDING _1 _* |-->-(_sortvar.subrange(_1`startPosition, _1`endPosition)->toReal())
DESCENDING _1 |-->-(_sortvar.subrange(_1`startPosition, _1`endPosition)->toReal())


sortCollatingSequencePhrase::
COLLATING SEQUENCE IS _* |-->
Expand Down Expand Up @@ -2899,10 +2917,10 @@ USING _1 |-->_1
USING _1 _* |-->_1

sortOutputProcedurePhrase::
OUTPUT PROCEDURE IS _1 _2 |-->
OUTPUT PROCEDURE IS _1 |-->
OUTPUT PROCEDURE _1 _2 |-->
OUTPUT PROCEDURE _1 |-->
OUTPUT PROCEDURE IS _1 _2 |-->_1
OUTPUT PROCEDURE IS _1 |-->_1
OUTPUT PROCEDURE _1 _2 |-->_1
OUTPUT PROCEDURE _1 |-->_1

sortOutputThrough::
THROUGH _1 |-->
Expand Down Expand Up @@ -3008,7 +3026,7 @@ STOP _1 |--> OclProcess.exit(1);


stringStatement::
STRING _* _1 END-STRING |--> <when> _1 stringIntoPhrase
STRING _* _1 END-STRING |--> _1 := _*`sum ;\n<when> _1 stringIntoPhrase
STRING _* _1 |--> _1 := _*`sum ;\n<when> _1 stringIntoPhrase


Expand Down Expand Up @@ -3202,15 +3220,21 @@ TALLYING _1 |--> _1 := _unstringTally


writeStatement::
WRITE _1 _2 END-WRITE |--> _1`ownerFile_Position := _1`ownerFile_Position + 1 ;\n if _1`ownerFile_Position >= _1`ownerFile->size() then _1`ownerFile := _1`ownerFile->append(_1) else _1`ownerFile[_1`ownerFile_Position] := _1 ;\n _1`ownerFile := _1`ownerFile->concatenate(Integer.subrange(1,_2`advancingAfterIncrement)->collect(" "));\n _1`ownerFile_Position := _1`ownerFile_Position + _2`advancingAfterIncrement ;\n<when> _2 writeAdvancingPhrase
WRITE _1 _2 END-WRITE |--> _1`ownerFile_Position := _1`ownerFile_Position + 1 ;\n if _1`ownerFile_Position >= _1`ownerFile->size() then _1`ownerFile := _1`ownerFile->append(_1) else (_1`ownerFile[_1`ownerFile_Position] := _1) ;\n _1`ownerFile := _1`ownerFile->concatenate(Integer.subrange(1,_2`advancingAfterIncrement)->collect(" "));\n _1`ownerFile_Position := _1`ownerFile_Position + _2`advancingAfterIncrement ;\n<when> _2 writeAdvancingPhrase

WRITE _1 _2 |--> _1`ownerFile_Position := _1`ownerFile_Position + 1 ;\n if _1`ownerFile_Position >= _1`ownerFile->size() then _1`ownerFile := _1`ownerFile->append(_1) else _1`ownerFile[_1`ownerFile_Position] := _1 ;\n _1`ownerFile := _1`ownerFile->concatenate(Integer.subrange(1,_2`advancingAfterIncrement)->collect(" "));\n _1`ownerFile_Position := _1`ownerFile_Position + _2`advancingAfterIncrement ;\n<when> _2 writeAdvancingPhrase
WRITE _1 _2 |--> _1`ownerFile_Position := _1`ownerFile_Position + 1 ;\n if _1`ownerFile_Position >= _1`ownerFile->size() then _1`ownerFile := _1`ownerFile->append(_1) else (_1`ownerFile[_1`ownerFile_Position] := _1) ;\n _1`ownerFile := _1`ownerFile->concatenate(Integer.subrange(1,_2`advancingAfterIncrement)->collect(" "));\n _1`ownerFile_Position := _1`ownerFile_Position + _2`advancingAfterIncrement ;\n<when> _2 writeAdvancingPhrase

WRITE _1 END-WRITE |--> _1`ownerFile_Position := _1`ownerFile_Position + 1 ;\n if _1`ownerFile_Position >= _1`ownerFile->size() then _1`ownerFile := _1`ownerFile->append(_1) else _1`ownerFile[_1`ownerFile_Position] := _1 ;\n
WRITE _1 END-WRITE |--> _1`ownerFile_Position := _1`ownerFile_Position + 1 ;\n if _1`ownerFile_Position >= _1`ownerFile->size() then _1`ownerFile := _1`ownerFile->append(_1) else (_1`ownerFile[_1`ownerFile_Position] := _1) ;\n

WRITE _1 |--> _1`ownerFile_Position := _1`ownerFile_Position + 1 ;\n if _1`ownerFile_Position >= _1`ownerFile->size() then _1`ownerFile := _1`ownerFile->append(_1) else _1`ownerFile[_1`ownerFile_Position] := _1 ;\n self.initialise_1`ownerFile_Index();\n<when> _1`isIndexed true
WRITE _1 |--> _1`ownerFile_Position := _1`ownerFile_Position + 1 ;\n if _1`ownerFile_Position >= _1`ownerFile->size() then _1`ownerFile := _1`ownerFile->append(_1) else (_1`ownerFile[_1`ownerFile_Position] := _1) ;\n self.initialise_1`ownerFile_Index();\n<when> _1`isIndexed true

WRITE _1 |--> _1`ownerFile_Position := _1`ownerFile_Position + 1 ;\n if _1`ownerFile_Position >= _1`ownerFile->size() then _1`ownerFile := _1`ownerFile->append(_1) else _1`ownerFile[_1`ownerFile_Position] := _1 ;\n
WRITE _1 |--> _1`ownerFile_Position := _1`ownerFile_Position + 1 ;\n (if _1`ownerFile_Position >= _1`ownerFile->size() then _1`ownerFile := _1`ownerFile->append(_1) else _1`ownerFile[_1`ownerFile_Position] := _1) ;\n

WRITE _1 _2 |--> _1`ownerFile_Position := _1`ownerFile_Position + 1 ;\n (if _1`ownerFile_Position >= _1`ownerFile->size()\n then _1`ownerFile := _1`ownerFile->append(_2)\n else _1`ownerFile[_1`ownerFile_Position] := _2) ;\n<when> _2 writeFromPhrase


writeFromPhrase::
FROM _1 |-->_1


writeAdvancingPhrase::
Expand Down
122 changes: 99 additions & 23 deletions cg/pascal2UML.cstl
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@ identifier::
MAXINT |-->(2->pow(31) - 1)->oclAsType(int)
MaxInt |-->(2->pow(31) - 1)->oclAsType(int)
maxint |-->(2->pow(31) - 1)->oclAsType(int)

PI |-->MathLib.piValue()
Pi |-->MathLib.piValue()
pi |-->MathLib.piValue()

_1 |-->_1


Expand Down Expand Up @@ -159,6 +164,8 @@ _1 DownTo _2 |-->_1`ocltype
_1 Downto _2 |-->_1`ocltype
_1 downto _2 |-->_1`ocltype

_1 [ _2 ] |-->OclAny

_1 |-->int<when> _1 unsignedInteger
_1 |-->double<when> _1 unsignedReal
@ _1 |-->Ref
Expand Down Expand Up @@ -241,6 +248,8 @@ ord ( _1 ) |-->int
succ ( _1 ) |-->_1`ocltype
pred ( _1 ) |-->_1`ocltype

random ( _1 ) |-->int

_1 ( _2 ) |-->OclAny


Expand Down Expand Up @@ -269,7 +278,7 @@ typeDefns::
_1 = _2 |--><when> _2 functionType <action> _1 Function, _1`initValue _2`functInit
_1 = _2 |--><when> _2`isRecordType true <action> _1 Entity
_1 = _2 |--><when> _2`isSetType true <action> _1 Set
_1 = _2 |--><when> _2`isArrayType true <action> _1 Map
_1 = _2 |--><when> _2`isArrayType true <action> _1 Map, _1`initValue _2`typInit
_1 = _2 |--><when> _2`isFileType true <action> _1 File

_1 = _2 |--><when> _2`isScalarType true <action> _2`scalarLiterals with _1
Expand Down Expand Up @@ -603,12 +612,24 @@ String |-->String
Boolean |-->boolean
Integer |-->int
Real |-->double
ArbFloat |-->double

char |-->String
boolean |-->boolean
integer |-->int
real |-->double
string |-->String
word |-->long

shortInt |-->int
byte |-->int
smallInt |-->int
word |-->int
longInt |-->int
longint |-->int
longWord |-->int
int64 |-->long
qWord |-->long

_1 |-->_1


Expand Down Expand Up @@ -661,8 +682,8 @@ _1 : boolean |-->\n attribute _1 : boolean := false;<action> _1 boolean, _1`typ
_1 : _2 |-->\n attribute _1 : _2 := Set{};<when> _2`isSetType true <action> _1 Set, _1`typName _2
_1 : _2 |-->\n attribute _1 : _2 := Set{};<when> _2 Set <action> _1 Set, _1`typName _2

_1 : _2 |-->\n attribute _1 : _2 := Map{};<when> _2 Map <action> _1 Map, _1`typName _2
_1 : _2 |-->\n attribute _1 : _2 := _2`typInit;<when> _2`isArrayType true <action> _1 Map, _1`typName _2
_1 : _2 |-->\n attribute _1 : _2 := _2`initValue;<when> _2 Map <action> _1 Map, _1`typName _2
_1 : _2 |-->\n attribute _1 : _2 := _2`typInit;<when> _2`isArrayType true <action> _1 Map, _1`typName _2, _2`initValue _2`typInit

_1 : _2 |-->\n attribute _1 : _2 := _2`functInit;<when> _2`isFunctionType true <action> _1 Function, _1`typName _2
_1 : _2 |-->\n attribute _1 : _2 := _2`initValue;<when> _2 Function <action> _1 Function, _1`typName _2
Expand Down Expand Up @@ -762,7 +783,10 @@ _1 : real |-->\n var _1 : double := 0.0;<action> _1 double, _1`typName double
_1 : boolean |-->\n var _1 : boolean := false;<action> _1 boolean, _1`typName boolean

_1 : _2 |-->\n var _1 : _2 := Set{};<when> _2 Set <action> _1 Set, _1`typName _2
_1 : _2 |-->\n var _1 : _2 := Map{};<when> _2 Map <action> _1 Map, _1`typName _2

_1 : _2 |-->\n var _1 : _2 := _2`initValue;<when> _2 Map <action> _1 Map, _1`typName _2
_1 : _2 |-->\n var _1 : _2 := _2`typInit;<when> _2`isArrayType true <action> _1 Map, _1`typName _2, _2`initValue _2`typInit

_1 : _2 |-->\n var _1 : _2;<when> _2 Function <action> _1 Function, _1`typName _2
_1 : _2 |-->\n var _1 : _2 := _2.new_2();<when> _2 Entity <action> _1 Entity, _1`typName _2
_1 : _2 |-->\n var _1 : _2;<when> _2`isPointerType true, _2`pointedToType Entity <action> _1 Ref, _1`typName _2, _1`isObjectPointer true, _1`referredType _2`pointedToType
Expand All @@ -775,17 +799,17 @@ localVarDeclns::
_* |-->_*`localVarDeclar

localVarDeclar::
, |-->;
, |-->
_1 |-->\n var _1 : String := "";<when> _90 String <action> _1 String, _1`typName String
_1 |-->\n var _1 : int := 0;<when> _90 int <action> _1 int, _1`typName int
_1 |-->\n var _1 : double := 0.0;<when> _90 double <action> _1 double, _1`typName double
_1 |-->\n var _1 : boolean := false;<when> _90 boolean <action> _1 boolean, _1`typName boolean

_1 |-->\n var _1 : _90 := Set{}<when> _90 Set <action> _1 Set, _1`typName Set
_1 |-->\n var _1 : _90 := Map{}<when> _90 Map <action> _1 Map, _1`typName Map
_1 |-->\n var _1 : _90<when> _90 Function <action> _1 Function, _1`typName Function
_1 |-->\n var _1 : _90 := _90.new_90()<when> _90 Entity <action> _1 Entity, _1`typName _90
_1 |-->\n var _1 : _90<action> _1 _90, _1`typName _90
_1 |-->\n var _1 : _90 := Set{};<when> _90 Set <action> _1 Set, _1`typName Set
_1 |-->\n var _1 : _90 := Map{};<when> _90 Map <action> _1 Map, _1`typName Map
_1 |-->\n var _1 : _90;<when> _90 Function <action> _1 Function, _1`typName Function
_1 |-->\n var _1 : _90 := _90.new_90();<when> _90 Entity <action> _1 Entity, _1`typName _90
_1 |-->\n var _1 : _90;<action> _1 _90, _1`typName _90



Expand Down Expand Up @@ -961,6 +985,15 @@ new ( _1 ) |-->\n _1 := _1`typName{1}
dispose ( _1 ) |-->\n execute (!_1)->isDeleted(); _1 := null<when> _1`isObjectPointer true
dispose ( _1 ) |-->\n _1 := null

inc ( _1 ) |-->\n _1`first := _1`first + _1`last<when> _1 multiple
dec ( _1 ) |-->\n _1`first := _1`first - _1`last<when> _1 multiple

inc ( _1 ) |-->\n _1 := _1 + 1
dec ( _1 ) |-->\n _1 := _1 - 1

randomize |-->\n var _random : OclRandom := OclRandom.newOclRandom()
randomize ( _1 ) |-->\n var _random : OclRandom := OclRandom.newOclRandom_Seed(_1)


_1 ( _2 ) |-->\n _1(_2)

Expand All @@ -980,14 +1013,14 @@ _1 |-->\n _1 := input.readLine()


writeStatement::
_1 |-->\n output.print("" + _1`first)
_1 _* |-->\n _1`first.write("" _*`writeArguments)<when> _1`ocltype File
_1 _* |-->\n output.print("" _1`writeArguments_*`writeArguments)
_1 |-->\n output.print("" + _1`writeArguments)
_1 _* |-->\n _1.write("" _*`writeArguments)<when> _1`ocltype File
_1 _* |-->\n output.print("" + _1`writeArguments_*`writeArguments)



writelnStatement::
_1 |-->\n execute ("" + _1)->display()
_1 |-->\n execute ("" + _1`writeArguments)->display()

output _* |-->\n execute ("" _*`writeArguments)->display()

Expand All @@ -1001,11 +1034,11 @@ writeArguments::

_1 _2 _3 |--> StringLib.format("%_2._3f", Sequence{_1})<when> _1`ocltype double
_1 _2 _3 |--> StringLib.format("%_2._3d", Sequence{_1})<when> _1`ocltype int
_1 _2 _3 |--> StringLib.format("%_2._3s", Sequence{_1})
_1 _2 _3 |--> StringLib.format("%_2._3s", Sequence{"" + (_1)})

_1 _2 |--> StringLib.format("%_2f", Sequence{_1})<when> _1`ocltype double
_1 _2 |--> StringLib.format("%_2d", Sequence{_1})<when> _1`ocltype int
_1 _2 |--> StringLib.format("%_2s", Sequence{_1})
_1 _2 |--> StringLib.format("%_2s", Sequence{"" + (_1)})

_1 |--> _1

Expand Down Expand Up @@ -1081,15 +1114,15 @@ _1 |-->_1


whileStatement::
WHILE _1 DO _2 |-->\n while _1 do _2
While _1 Do _2 |-->\n while _1 do _2
while _1 do _2 |-->\n while _1 do _2
WHILE _1 DO _2 |-->\n while _1 do (_2)
While _1 Do _2 |-->\n while _1 do (_2)
while _1 do _2 |-->\n while _1 do (_2)


repeatStatement::
REPEAT _1 UNTIL _2 |-->\n _1;\n while not(_2) do _1
Repeat _1 Until _2 |-->\n _1;\n while not(_2) do _1
repeat _1 until _2 |-->\n _1;\n while not(_2) do _1
REPEAT _1 UNTIL _2 |-->\n _1;\n while not(_2) do (_1)
Repeat _1 Until _2 |-->\n _1;\n while not(_2) do (_1)
repeat _1 until _2 |-->\n _1;\n while not(_2) do (_1)


forStatement::
Expand Down Expand Up @@ -1341,6 +1374,7 @@ _1 |-->_1
functionDesignator::
sin ( _1 ) |-->(_1)->sin()
cos ( _1 ) |-->(_1)->cos()
tan ( _1 ) |-->(_1)->tan()

odd ( _1 ) |-->((_1 mod 2) = 1)

Expand Down Expand Up @@ -1374,6 +1408,8 @@ pred ( _1 ) |-->_1->pred()
eof ( _1 ) |-->_1.getEof()
eoln ( _1 ) |-->(_1_buffer->char2byte() = 10)

random ( _1 ) |-->_random.nextInt(_1)

_1 ( _2 ) |-->_1_2`cascadedApply<when> _1 Function
_1 ( _2 ) |-->_1_operation(_2)

Expand Down Expand Up @@ -1463,20 +1499,52 @@ function _1 |-->_1
procedure _1 |-->_1
_1 |-->_1`valueParameterGroup


parameterGroup::
_1 : _2 |-->_1`varParsList<when> _1 multiple <action> _95 _2

_1 : _2 |-->_1 : _2<when> _2 Function <action> _1 Function, _1`typName _2
_1 : _2 |-->_1 : _2<action> _1 _2, _1`typName _2
_1 |-->_1


valueParameterGroup::
_1 : _2 |-->_1`valueParsList<when> _1 multiple <action> _95 _2

_1 : _2 |-->_1 : _2<when> _2 Function <action> _1 Function, _1`typName _2
_1 : _2 |-->_1_copy : _2<when> _2 Map <action> _1 Map, _1`typName _2
_1 : _2 |-->_1_copy : _2<when> _2 Entity <action> _1 Entity, _1`typName _2

_1 : _2 |-->_1 : _2<action> _1 _2, _1`typName _2
_1 |-->_1


valueParsList::
_* |-->_*`valueParsPar

valueParsPar::
, |-->,
_1 |-->_1 : _95<when> _95 Set <action> _1 Set, _1`typName Set
_1 |-->_1_copy : _95<when> _95 Map <action> _1 Map, _1`typName Map
_1 |-->_1 : _95<when> _95 Function <action> _1 Function, _1`typName Function
_1 |-->_1_copy : _95<when> _95 Entity <action> _1 Entity, _1`typName _95

_1 |-->_1 : _95<action> _1 _95, _1`typName _95


varParsList::
_* |-->_*`varParsPar

varParsPar::
, |-->,
_1 |-->_1 : _95<when> _95 Set <action> _1 Set, _1`typName Set
_1 |-->_1 : _95<when> _95 Map <action> _1 Map, _1`typName Map
_1 |-->_1 : _95<when> _95 Function <action> _1 Function, _1`typName Function
_1 |-->_1 : _95<when> _95 Entity <action> _1 Entity, _1`typName _95

_1 |-->_1 : _95<action> _1 _95, _1`typName _95


parsToFunctionDomain::
( _1 ) |-->_1`parsToFunctionDomain
( _* ) |-->_*`parsToFunctionDomain
Expand All @@ -1486,6 +1554,7 @@ procedure _1 |-->_1`parFunctionDomains
; |-->
_1 |-->_1`parFunctionDomains


parFunctionDomains::
; |-->
_1 : _2 |-->Function(_2,
Expand Down Expand Up @@ -1544,11 +1613,18 @@ _1 |-->_1`valParsDecs

parsDecs::
; |-->,

_1 : _2 |-->_1`varParsList<when> _1 multiple <action> _95 _2

_1 : _2 |-->_1 : _2
_1 |-->_1


valParsDecs::
; |-->,

_1 : _2 |-->_1`valueParsList<when> _1 multiple <action> _95 _2

_1 : _2 |-->_1_copy : _2<when> _2 Map
_1 : _2 |-->_1_copy : _2<when> _2 Entity
_1 : _2 |-->_1 : _2
Expand Down
Loading

0 comments on commit 18c5ba7

Please sign in to comment.