کامپیوتر و IT و اینترنتعلوم مهندسی

طراحی و پیاده سازی زبان های برنامه نویسی (زبان ML)

صفحه 1:
بسه الله الرحفن الرديم طراحى و بياده سازى زيانهاى برنامه نويسى (زيان .8/41 8 ۳ دانشگاه جامع علمی کاربری تیران.

صفحه 2:
ae ‏درباره ام ال‎ 0000 انواع داده ها عبارت ها كك 'توابع استاندازد 0200000 [| | | |

صفحه 3:
۱ همکاران در اواخر ده ۱۹۷۰ در دانشگاه ادیتبورگ توسعه یاف 1 ‎en Were 3‏ است. ‎Ot ete Se ee STO a Sea ae ee eet ‏ل ا ا لي ا ال‎ ined ‏تابعی خالص مانتد هاسکل. به همین دلیل ام‌ال یک زبان برنامه‌تویسی چند‎ ‎Rye ‏آمروزه زبان‌هلی مختافی- هر خانواده امال است هو گویش اصلی آن-ام ال‎ ‏ا ار ار‎ 1-1 so Pea Ceieorr ‏هدف.:1 ]۱[ شرکت.مایکروسافت بود نیز وجود دارند. ‎

صفحه 4:
0 Trey oe Oe Ga OL Wee ee ee eo! ‏مفید بودن برای مطالعه زبانهای دیگر‎ ان وضوح مكانيزم تعريف انواع داده ها 1 شى كرا نيست ل ا ا 65 >| >| >| >|

صفحه 5:
Imperative programming language Applicative programming language Week ۱۱۱ D تعغصلمم ملح Automatic garbage collection in ML عنام :ما۳

صفحه 6:
real, int, char, string: ols claps ‏اوه‎ ‎| 5 35 a= rece ae earmcmy err pee sey (elt rerceny een te ree wi) For re ‏ا‎ Cpe bs en ore oer meg oe pe rem rte BY 0) Cc Fras on ones eo ‏با( ) مشخصمی‌شود‎ 6 کته ۱ ۱ 0 با( ] مشخصمی‌شود ديقف نفك >| >| > ۳۲ ۷ | >| >| >

صفحه 7:
ار ‎:Examples‏ ‎Hee ea‏ ‎oe‏ ا 00 ‎val it=[2,3,4] : int-‏ مثال برای ‎IU‏ ‏و ‏عبارت فوق یک 1151 5171110 است» که می توان بصورت زير هم نوشت: ‎Hee: Wor eroy Vert a aes cal ad‏

صفحه 8:
Pam oh FOE Cs ‏عبارت فوق متال برای‎ ‏ید ,6 - مک مر‎ ‏عبارت فوق مثال برای ۲۳۲۳۷ است.‎ عبارت فوق را مى توان بصورت زير نوشت: ‎as‏ لع ب ‎

صفحه 9:
۱ ‏ا‎ g (قتردط) نودمح آرايه اى شامل دم عنصر با مقدار اوليه ‏ تعريف مى كند. ۳ 1۱ Fi VEST CED) 00 ‏ل‎ ccna rT) ۱۱

صفحه 10:
۱۳ ‏ا ل‎ cut Pascal epee ra eee eet Iota targ elo 1 SS BY-HE-UA'4 01) ‏مثال:‎ datatype height = tall | medium | short | << | < ا | << اح | حراج | | | | |

صفحه 11:
۳ عملكر هاى منطقى عملگرهای مقایسه ای عملگرهای انتخاب عملگرهای جمله ای |] ۱۱۱۱

صفحه 12:
اولویت عملگرهای ریاضی: ‎os‏ : ‎ed‏ وت ۱ عملگرهای منطقی: ‎orelse, andalso.s not,andalso,orelse Jos‏ ۱۳ ‎Ua morsel ta‏ عملگرهای جمله ای: concatenation, = empty string = | : ‏عملگرهای انتخاب‎ | if <expression> then <statement1> else 1 <<statement2 ۱ ۱ Berle Sree SECC eee Cotte ۲ ‏فکته :قسمت :۱( آذر غبارت<۱ اختیاریالیست:‎ ‏عملگرهای مقایسه ای:‎ << > <- -<ه ۲ Pe ed BEC at Reet Peers ed ۱ Pattern \ -val xiixs = rev[1,2,3];

صفحه 13:
توابع به صورت زیر تعریف می شود: ‎fun name of function (arguments) = expression;‏ ‎-fun sum (a :int , b':int) :int = a +b;‏ ‎-fun sum (a, b :int ) :int =a + b;‏ ‎-fun sum (a :int ,b) = a + b;‏ ‎-fun sum (a,b) :int = a + b;‏ ‎-fun sum (a, b) =a + b;‏

صفحه 14:
0 0 -fun shuffle (x) - tl(x) @ [hd(x)]; 2 ‏ا‎ Ter rod roy 0 ‏ل‎ Rar UNS ‏توابع در []/51 فقط داراى يك آركومان هستند:‎ ‏آگر تابعی به چند آرگومان نیاز داشته باشد از یک 16لا استفاده می‎ ۱۱۱۱۱۱۱۱۱

صفحه 15:
iy Se epee nc era Wi ©) WES Lar A ‏نشان دهنده ابتدای خط جدید است.‎ ۰ * ‎Sy WO NEMO) OL-se Map belnes! (cyeccvente) iat‏ ال ‎ae‏ ب ‎Rel pc orye berg Aer eee peer yer Scag‏ ‏ا ل و ‎TPO NCB‏ ‎Se ere Ray olin BL cal ‎purities hei PUnprera-71(C MRoy Maing cr-teel@allomyolag Rec ‏رسيده باشيم مقدار درستى را برميكرداند. ‎

صفحه 16:
BRC greg Rea ~(argument) : negates its argument real , floor, ceiling, trunc sin, cos, arctan

صفحه 17:
ee Te ae iE med explode , implode ord, ordof, size substring توابعى كه بر روى ليست ها عمل مى كتند: ‎hd, tl, nth, nthtail‏ ‎null , length, rev‏ ‎map, fold, exists‏ ۱] | | < | <<

صفحه 18:
توابعى كه بر روى عبارت هاى منطقى عمل مى كنند: ‎andalso, orelse‏ ۹ ‎makestring‏ ‏ات Etc gepeg Pearce per pases ‏ا‎ SY Beary ۱۱۱۱۱

صفحه 19:
تعريف: تام لستثن 6166711011 (تعريقلستثنا) فراخوانى: نام لستث ©1156 (قرلخ لني إستتظ) پرکازش اتتحينا جا ©181101-* پردازش استتنا 1381016 عبارت: تا ۱ 305120 فراخوانی شده . فراخوانی شود پردازش استثنا به صورت زیر صدا زده همست و3

صفحه 20:
handler(pattern1) => expression1 handler(patternz) => expression2 handler(patternn) => expressionn Ee ‏م ا ل‎ Cy ۱ ‏صورت زیر لست:‎ myerror(1) => expression1 myerror(2) => expression2 Exception divide_err ; fun InnerDivide(a: int; b:int): real = if b=0 then raise divide err(b) else real(a) / real(b); fun Divide(a,b) = InnerDivide(a,b) handle divide_err(b) =>(print(b); “is divide errpr, 0 used”; 0.0);

صفحه 21:
برای تعریف ثابت ها بکار می رود ee nee) smalltalk .» forces method argument at:. ath ge ++C 4» consty با دستور 161 مى:توانيم 01661377811012 10621 داشته باشيم: ‎-let val x = 10;‏ ف ‎shh cent‏ } در ۲ مقدارسدمی توانست تغیر کند ولی در م91۷1 نمی توانیم آنرا تغیر دهم

صفحه 22:

صفحه 23:
append anonymous ۱۱ ‏عا سم‎ cons Anonymous functions test for empty 115+ function composition infix to prefix 0 عع تتم مما ditto with equality ‏تا‎ ‎truncated strings truncated lists of type ‏عمقع0‎ 1۸061

صفحه 24:
andalso datatype - Cana

صفحه 25:
https 3901۵ ‏او‎ ل 00

جهت مطالعه ادامه متن، فایل را دریافت نمایید.
34,000 تومان