Skip to content

Commit 4cdbdb9

Browse files
authored
Pascal and Python improvements
1 parent 5f19a65 commit 4cdbdb9

File tree

2 files changed

+58
-18
lines changed

2 files changed

+58
-18
lines changed

cg/pascal2UML.cstl

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,13 @@ _1 _* |-->_1`recordClassDefinitions<when> _1 typeDefinitionPart
4747
_1 _* |-->_*`recurse
4848

4949

50+
labelDeclarationPart::
51+
label _* |-->
52+
53+
label::
54+
_1 |-->label__1
55+
56+
5057
constantDefinitionPart::
5158
const _* |-->_*\n
5259

@@ -428,6 +435,10 @@ BOOLEAN |-->boolean
428435
INTEGER |-->int
429436
REAL |-->double
430437
STRING |-->String
438+
Char |-->String
439+
Boolean |-->boolean
440+
Integer |-->int
441+
Real |-->double
431442
char |-->String
432443
boolean |-->boolean
433444
integer |-->int
@@ -533,13 +544,27 @@ _1 |-->\n _1`third := _1`first.read()
533544

534545

535546
writeStatement::
536-
_1 |-->\n output.print("" + (_1`first))<when> _1`numberOfArguments 1
537-
_1 |-->\n _1`first.print("" + (_1`third))
547+
_1 |-->\n output.print("" + _1`first)
548+
_1 _* |-->\n _1`first.print("" _*`writeArguments)
538549

539550

540551
writelnStatement::
541-
_1 |-->\n output.println("" + (_1`first))<when> _1`numberOfArguments 1
542-
_1 |-->\n _1`first.println("" + (_1`third))
552+
_1 |-->\n output.println("" + _1)
553+
_1 _* |-->\n _1.println("" _*`writeArguments)
554+
555+
556+
writeArguments::
557+
, |--> +
558+
559+
_1 _2 _3 |--> StringLib.format("%_2._3f", Sequence{_1})<when> _1`ocltype double
560+
_1 _2 _3 |--> StringLib.format("%_2._3d", Sequence{_1})<when> _1`ocltype int
561+
_1 _2 _3 |--> StringLib.format("%_2._3s", Sequence{_1})
562+
563+
_1 _2 |--> StringLib.format("%_2f", Sequence{_1})<when> _1`ocltype double
564+
_1 _2 |--> StringLib.format("%_2d", Sequence{_1})<when> _1`ocltype int
565+
_1 _2 |--> StringLib.format("%_2s", Sequence{_1})
566+
567+
_1 |--> _1
543568

544569

545570
rewriteStatement::
@@ -557,8 +582,9 @@ _1 |-->_1
557582
_1 _* |-->_1
558583

559584

585+
560586
parameterwidth::
561-
: _1 |-->
587+
: _1 |-->_1
562588

563589

564590
structuredStatement::
@@ -716,6 +742,14 @@ sqr ( _1 ) |-->(_1)->sqr()
716742
sqrt ( _1 ) |-->(_1)->sqrt()
717743

718744
chr ( _1 ) |-->(_1)->byte2char()
745+
ord ( _1 ) |-->(_1)->char2byte()<when> _1`ocltype String
746+
ord ( _1 ) |-->_1`typName.ord(_1)
747+
748+
succ ( _1 ) |-->((_1)->char2byte() + 1)->byte2char()<when> _1`ocltype String
749+
succ ( _1 ) |-->_1`typName.succ(_1)
750+
751+
pred ( _1 ) |-->((_1)->char2byte() - 1)->byte2char()<when> _1`ocltype String
752+
pred ( _1 ) |-->_1`typName.pred(_1)
719753

720754
eof ( _1 ) |-->_1.getEof()
721755

cg/python2UML.cstl

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -617,13 +617,13 @@ _1 , _* |-->_1`asSetting_*`recurse
617617

618618

619619
def_parameter::
620-
_1 = _2 |-->_1`parameterName : String<when> _2 String, _1 1ary <action> _1`parameterName String
621-
_1 = _2 |-->_1`parameterName : int<when> _2 int, _1 1ary <action> _1`parameterName int
622-
_1 = _2 |-->_1`parameterName : double<when> _2 real, _1 1ary <action> _1`parameterName real
623-
_1 = _2 |-->_1
620+
_1 = _2 |-->_1`parameterName : String<when> _2 String, _1 1ary <action> _1`parameterName String, _1`defined true
621+
_1 = _2 |-->_1`parameterName : int<when> _2 int, _1 1ary <action> _1`parameterName int, _1`defined true
622+
_1 = _2 |-->_1`parameterName : double<when> _2 real, _1 1ary <action> _1`parameterName real, _1`defined true
623+
_1 = _2 |-->_1<action> _1`defined true
624624

625+
_1 |-->_1<action> _1`defined true
625626
* |-->
626-
_1 |-->_1
627627

628628

629629
paramDefaultCode::
@@ -1152,7 +1152,7 @@ _1 |-->
11521152

11531153

11541154
trailerUpdateForm::
1155-
. append _1 |-->->including_1
1155+
. append _1 |-->->append_1
11561156
. extend _1 |-->->union(_1->characters())<when> _1 String
11571157
. extend _1 |-->->union_1
11581158
. insert _1 |-->.insertAt(_1`firstArg+1, _1`lastArg)
@@ -1502,6 +1502,8 @@ try : _1 |-->_1`hasValueReturn
15021502
try : _1 _* |-->true<when> _1`hasValueReturn true
15031503
try : _1 _* |-->_*`recurse
15041504

1505+
with _1 : _2 |-->_2`hasValueReturn
1506+
15051507
elif _1 : _2 |-->_2`hasValueReturn
15061508

15071509
else : _1 |-->_1`hasValueReturn
@@ -1572,6 +1574,8 @@ try : _1 |-->_1`hasYieldStatement
15721574
try : _1 _* |-->true<when> _1`hasYieldStatement true
15731575
try : _1 _* |-->_*`recurse
15741576

1577+
with _1 : _2 |-->_2`hasYieldStatement
1578+
15751579
elif _1 : _2 |-->_2`hasYieldStatement
15761580

15771581
else : _1 |-->_1`hasYieldStatement
@@ -1977,13 +1981,13 @@ _* |-->
19771981

19781982

19791983
funcdef::
1980-
async def _1 ( _2 ) -> _3 : _4 |--> operation _1(_2) : _3`ocltype\n pre: true post: true\n activity:\n_4;\n\n
1981-
def _1 ( _2 ) -> _3 : _4 |--> operation _1(_2) : _3`ocltype\n pre: true post: true\n activity:\n_4;\n\n
1984+
async def _1 ( _2 ) -> _3 : _4 |--> operation _1(_2) : _3`ocltype\n pre: true post: true\n activity:\n_2`defaultParamSettings_4;\n\n
1985+
def _1 ( _2 ) -> _3 : _4 |--> operation _1(_2) : _3`ocltype\n pre: true post: true\n activity:\n_2`defaultParamSettings_4;\n\n
19821986

1983-
async def _1 ( _2 ) : _3 |--> operation _1(_2) : OclAny\n pre: true post: true\n activity:\n_3;\n\n<when> _3`hasValueReturn true
1984-
async def _1 ( _2 ) : _3 |--> operation _1(_2)\n pre: true post: true\n activity:\n_3;\n\n
1987+
async def _1 ( _2 ) : _3 |--> operation _1(_2) : OclAny\n pre: true post: true\n activity:\n_2`defaultParamSettings_3;\n\n<when> _3`hasValueReturn true
1988+
async def _1 ( _2 ) : _3 |--> operation _1(_2)\n pre: true post: true\n activity:\n_2`defaultParamSettings_3;\n\n
19851989

1986-
def _1 ( _2 ) : _3 |--> operation _1(_2) : OclAny\n pre: true post: true\n activity:\n_3;\n\n<when> _3`hasValueReturn true
1990+
def _1 ( _2 ) : _3 |--> operation _1(_2) : OclAny\n pre: true post: true\n activity:\n_2`defaultParamSettings_3;\n\n<when> _3`hasValueReturn true
19871991
def _1 ( _2 ) : _3 |--> operation _1(_2)\n pre: true post: true\n activity:\n_2`defaultParamSettings_3;\n\n
19881992

19891993
async def _1 ( ) -> _2 : _3 |--> operation _1() : _2`ocltype\n pre: true post: true\n activity:\n_3;\n\n
@@ -1999,7 +2003,7 @@ def _1 ( ) : _2 |--> operation _1()\n pre: true post: true\n activity:\n_2;\n
19992003

20002004

20012005
methodDefinition::
2002-
def __init__ ( _1 ) : _2 |-->_2`attributeDefinitions\n operation initialise(_1`parametersTail) : OclAny\n pre: true post: true\n activity:\n_2;\n return self;\n\n
2006+
def __init__ ( _1 ) : _2 |-->_2`attributeDefinitions\n operation initialise(_1`parametersTail) : _$\n pre: true post: true\n activity:\n_2;\n return self;\n\n
20032007

20042008
def _1 ( _2 ) -> _3 : _4 |-->\n operation _1(_2`parametersTail) : _3`ocltype\n pre: true post: true\n activity:\n_4;\n\n
20052009

@@ -2045,7 +2049,7 @@ class _1 ( _2 ) : _3 |-->class _1 extends _2 {\n static operation new_1() : _1\
20452049

20462050
class _1 ( ) : _2 |-->class _1 {\n static operation new_1() : _1\n pre: true\n post: _1->exists( _x | result = _x );\n\n_2`classcontent}\n\n<action> _1 Class
20472051

2048-
class _1 : _2 |-->class _1 {\n static operation new_1() : _1\n pre: true\n post: _1->exists( _x | result = _x );\n\n_2`classcontent}\n\n<action> _1 Class
2052+
class _1 : _2 |-->class _1 {\n static operation new_1() : _1\n pre: true\n post: _1->exists( _x | result = _x );\n\n_2`classcontent}\n\n<action> _1 Class, _$ _1
20492053

20502054

20512055
classcontent::
@@ -2124,6 +2128,8 @@ except _1 , _2 : _3 |-->_3`nestedAttributeDefinitions
21242128

21252129
finally : _1 |-->_1`nestedAttributeDefinitions
21262130

2131+
with _1 : _2 |-->_2`nestedAttributeDefinitions
2132+
21272133
global _* |-->_*`attributeDecln
21282134
nonlocal _* |-->_*`attributeDecln
21292135

0 commit comments

Comments
 (0)