PDA

View Full Version : طراحی و پیاده سازی زبانها (تعریف نوع داده جدید)



mammad_asir
پنج شنبه 29 اردیبهشت 1390, 15:42 عصر
طراحی و پیاده سازی زبانها (تعریف نوع داده جدید) با سلام میخواستم یک برنامه بنویسم که چهار عمل اصلی و ساده سازی را بتوان روی اعداد گویا انجام داد و اینکه در ابتدا باید این را includ کنیم تا مثل کتابخانه های دیگر اضافه شود و بعد یک نوع داده جدید (مثل int,float) تعریف کنیم که هر متغیر از این نوع داده یک صورت و یک مخرج دارد میخواستم روش انجام این دو مرحله (چگونگی includ کردن یک کتابخانه جدید و نوشتن نوع داده جدید)را بیان کنید تا برویم سراغ رو حل مسئله خواهشمندم کمی با زبان ساده تر توضیح دهید چون تازه کار هستم ممنون

m.soleimani
پنج شنبه 29 اردیبهشت 1390, 16:02 عصر
طراحی و پیاده سازی زبانها (تعریف نوع داده جدید) با سلام میخواستم یک برنامه بنویسم که چهار عمل اصلی و ساده سازی را بتوان روی اعداد گویا انجام داد و اینکه در ابتدا باید این را includ کنیم تا مثل کتابخانه های دیگر اضافه شود و بعد یک نوع داده جدید (مثل int,float) تعریف کنیم که هر متغیر از این نوع داده یک صورت و یک مخرج دارد میخواستم روش انجام این دو مرحله (چگونگی includ کردن یک کتابخانه جدید و نوشتن نوع داده جدید)را بیان کنید تا برویم سراغ رو حل مسئله خواهشمندم کمی با زبان ساده تر توضیح دهید چون تازه کار هستم ممنون

با استفاده از چه زبانی قصد داری انجامش بدی؟

برای مثال با استفاده از زبان سی++ رو برات یکم توضیح می‌دم

برای این کار شما یه فایل با پسوند h. و cpp. می‌سازی کدهای مورد نظر خودت رو داخلشون می‌نویسی DLL. و این هدر فایل رو با استفاده از دستور include# فراخوانی می‌کنی البته به جای < و > این از " " برای معرفی هدر فایل مورد نظر استفاده می‌کنی توی برنامه خوب این از تعریف کتابخانه مورد نظر .

در مورد تعریف اگر منظورت این هست که برای مثال در عملیات ضرب کردن از یه علامت دیگه شما استفاده کنی برای مثال براش از حرف کوچیک x که برای ما بیشتر نمایان‌گر عملیات ضرب هست استفاده کنی شما باید از سربارگذاری عمل‌گرها استفاده کنی. و برای داشتن یه نوع تازه که البته شبیه یه پوسته برای نوع‌های موجود هست باید از typedef استفاده کنی برای مثال :



typedef int Number;



حالا شما برای تعریف یه متغیر جدید می‌تونی از کلمه Number استفاده کنی که مفهوم‌تر باشه برای کاربر مورد نظرت یا خودت :



Number a, b, c;
a = 10;
b = c = 2;



شاد و پیروز باشی./

mammad_asir
شنبه 31 اردیبهشت 1390, 10:51 صبح
در مورد includ نفهمیدم چی گفتید گفتم کمی تازه تر توضیح دهید من اصلا مفهوم dll را نمی دانم خواهشا قدم به قدم بگویید .
مثلا میخواهم یک کتابخانه داشته باشم مثل<<includ <<goya.h که وقتی این را نوشتم بتوانم عملیات ضر ب روی اعداد گویا را انجام دهم و جواب به صورت گویا داشته باشم و تا زمانی که این فایل را includ نکردم این کار را خطا بگیرد و در تعریف نوع عم میخوام مثلا یک نوعی بسازم که هر متغیر از این وع که تعریف میکنم دو عدد(یکی صورت و دیگری مخرج) از ورودی بگیرد
مثلا نمونه زیر
includ<<goya .h
image a,b,c;
input a
input b
c=a+b
print c
که در واقع کلمه image نام نوع است مثل int برای عدد صحیح
خواهشا کمک کنید کمی روان تر ممنون

mammad_asir
شنبه 31 اردیبهشت 1390, 10:54 صبح
با زبان c میخواستم

shahmohammadi
شنبه 31 اردیبهشت 1390, 21:31 عصر
با c++ راحته چون مي تونيد از كلاسها استفاده كنيد.
يعني داخل يه فايل سرآيند يه كلاس براي كسر مي نويسيد و عملگر ها رو هم براش سربار گزاري مي كنيد.
اما با زبان سي كه نمي تونه از كلاسها حمايت كنه نمي تونيد عملگرها شو سربارگزاري كنيد.
موفق باشيد.

mammad_asir
دوشنبه 02 خرداد 1390, 16:48 عصر
کسی راهنمایی دقیق تری نداره