يتم إعلان
المتغيرات في
PASCAL بواسطة
<Li> : Type ;
حيث <Li> يدل على قائمة المعرفات.
ليكن يترجم إلى VAR.
الكائنات بسيطة
مكافئات الكائنات Z إلى PASCAL:
Z PASCAL
صحيح INTEGER
منطيقي BOOLEAN
محرف CHAR.
سلسلة STRING
يتم تضمين قواعد تعبيرات Z في قواعد اللغة PASCAL.
نفس بناء الجملة
-------Z---------
مادام شرط:
تعليمات
نهاية_مادام
يترجم إلى
-------PASCAL------
WHILE ( Cond ) DO
BEGIN
Statements
END
--------------Z---------------
لكل V := ع1، ع2 [،ع3]
تعليمات
نهاية_لكل
إذا ع3 غير موجود أو يساوي 1
يترجم إلى
--------PASCAL---------
FOR V:= Exp1 TO Exp2 DO
BEGIN
Instructions
END
إذا ع3 # 1 :
----------PASCAL------
V := Exp1;
WHILE ( V <= Exp2 ) DO
BEGIN
Statements ;
V := V + Exp3
END;
----------Z----------
إذا شرط:
تعليمات
[وإلا
تعليمات]
نهاية_إذا
يترجم إلى
-------PASCAL---------
IF Cond
THEN
BEGIN
Statements
END
[ELSE
BEGIN
Statements
END]
--------Z--------
اقرأ(م1، م2،...)
يترجم إلى
------PASCAL------
READLN(V1, V2, ...)
-----------Z-----------
اكتب(ع1،ع2،...)
يترجم إلى
--------PASCAL----------
WRITELN(Exp1, Exp2, ...)
------------Z-----------------
إجراء إسم (و1، و2...)
ليكن
تعريف الكائنات المحلية و الوسطاء
بداية
تعليمات
نهاية
يترجم إلى
--------------------PASCAL--------------------
PROCEDURE Name ( VAR P1: typ; VAR P2:typ, ...);
VAR
Declaration of local objects and parameters
BEGIN
Statements
END
----------------Z-----------------
دالة إسم (و1، و2...) : نوع
ليكن
تعريف الكائنات المحلية و الوسطاء
بداية
تعليمات
نهاية
يترجم إلى
---------------------PASCAL------------------------
FUNCTION Name ( VAR P1: typ; VAR P2:typ, ...) : Type;
VAR
Declaration of local objects and parameters
BEGIN
Statements
END
باقي_قسمة(أ،
ب)
FUNCTION Mod (a, b : INTEGER) : INTEGER;
BEGIN
Mod := a Mod b
END;
أدنى(أ، ب)
FUNCTION Min (a, b: INTEGER) : INTEGER;
BEGIN
Min := a; IF b < a THEN Min := b;
END;
أقصى(أ، ب)
FUNCTION Max (a, b: INTEGER) : INTEGER;
BEGIN
Max := a; IF b > a THEN Max := b;
END;
أس
( a, b )
FUNCTION Exp (a, b: INTEGER) : INTEGER;
VAR I : INTEGER;
BEGIN
Exp := 1;
FOR I:= 1 TO b DO Exp := Exp * a
END;
عدد_عشوائي
( ن )
FUNCTION Randnumer (N: INTEGER) : INTEGER;
BEGIN
Randnumer := Random( N );
END;
سلسلة_عشوائية ( ن )
FUNCTION Randstring(N: INTEGER) : STRING;
VAR
K : BYTE;
Chaine : STRING;
BEGIN
Chaine := '';
FOR K:=1 TO N DO
CASE Random(2) OF
0 : Chaine := Chaine + CHR(97+Random(26) ) ;
1 : Chaine := Chaine + CHR(65+Random(26) )
END;
Randstring := Chaine;
END;
طول(جملة)
FUNCTION Stringlength(C : STRING): INTEGER;
BEGIN
Stringlength := length (C)
END;
--------------------Z-----------------
ليكن
تعريف الكائنات المحلية و الشاملة
الإعلان عن الوحدات
بداية
تعليمات
نهاية
وحدة 1
....
وحدة ن
يترجم إلى
------------------PASCAL---------------
PROGRAM Pascal;
VAR
{Local and static objects }
{ Definition of modules }
Module 1
Module 2
...
Module n
BEGIN
Statements
END.