View Full Version : سوال: نیاز به کامپایلر
irpersian20
چهارشنبه 30 اسفند 1391, 12:02 عصر
سلام
ببخشید دستورات Perl رو باید کجا زد؟ برای یادگیری میخوام. کامپایلر ی محیطی چیزی نداره؟
MunderLine
سه شنبه 06 فروردین 1392, 12:26 عصر
سلام
ببخشید دیر جواب میدم
Perl زبان مفسری (Interpreted) هست.
مفسرش رو می تونید از www.perl.org دانلود کنید
IDE مناسب رو هم می تونید از یکی از دو لینک زیر دانلود کنید:
www.activestate.com/komodo-edit
padre.perlide.org
irpersian20
چهارشنبه 07 فروردین 1392, 19:30 عصر
سلام
ببخشید دیر جواب میدم
Perl زبان مفسری (Interpreted) هست.
مفسرش رو می تونید از www.perl.org دانلود کنید
IDE مناسب رو هم می تونید از یکی از دو لینک زیر دانلود کنید:
www.activestate.com/komodo-edit
padre.perlide.org
سلام
خسته نباشید
آقا Padre رو نصب کردم اما تو محیط اجرا هستم.
هر چی کد زدم اجرا نمیشه و میگه
NO execution mode was defined for this document type :text/plain
بی زحمت میشه یک برنامه Hello world یه ما بدید حداقل اون رو اجرا کنم. ببینم کجای کار من میلنگه؟
MunderLine
چهارشنبه 07 فروردین 1392, 23:48 عصر
سلام
برنامه Hello World
1- ابتدا یک فایل با نام hello.pl درست کنید (دقت کنید که خطای بالا مربوط به اینه که پسوند فایل مشخص نشده است)
2- کد زیر را در آن بنویسید
print "Hello World!";
امیدوارم بهتون کمک کنه
irpersian20
شنبه 10 فروردین 1392, 10:41 صبح
سلام
برنامه Hello World
1- ابتدا یک فایل با نام hello.pl درست کنید (دقت کنید که خطای بالا مربوط به اینه که پسوند فایل مشخص نشده است)
2- کد زیر را در آن بنویسید
print "Hello World!";
امیدوارم بهتون کمک کنه
دستت درد نکنه خیلی ممنون
جسارتا منظور از مفسر ی بودن پرل چی هست؟ فرمودید کامپایلر ندارد. راستش این ها رو یک جزوه کامل خوندیم وپاس کردیم چند ترم پیش.
منتها چون عملی نبود و فقط حفظی نبود. همش یادمون رفت و واقعا تفاوت ها و عملرکدشون نفهمیدم.
MunderLine
شنبه 10 فروردین 1392, 14:31 عصر
سلام
به زبون ساده تفسیر شدن برنامه یعنی با هر بار اجرا، دستورات برنامه به صورت خط به خط ترجمه و سپس اجرا می شن. (یعنی مثلاً ابتدا خط اول ترجمه و اجرا می شه و سپس خط دوم ترجمه و اجرا می شه و ...)
در صورتی در کامپایل شدن کل برنامه یک باره ترجمه می شه و کل برنامه با هم اجرا می شه. (مثلاً در ویندوز بعد از کامپایل شدن برنامه، فایل exe ساخته می شه که یک فایل ترجمه شده هست و اون رو اجرا می کنیم)
نکته: در زبان های مفسری به ازای هر بار اجرا باید کد هم ترجمه بشه ولی در زبان های کامپایلری به ازای هر بار اجرا لزومی نداره که کد دوباره ترجمه بشه. (این نکته یکی از علت های کمتر بودن سرعت اجرای زبان های مفسری نسبت به کامپایلری هست)
امیدوارم مفید باشه
irpersian20
شنبه 10 فروردین 1392, 14:57 عصر
سلام
به زبون ساده تفسیر شدن برنامه یعنی با هر بار اجرا، دستورات برنامه به صورت خط به خط ترجمه و سپس اجرا می شن. (یعنی مثلاً ابتدا خط اول ترجمه و اجرا می شه و سپس خط دوم ترجمه و اجرا می شه و ...)
در صورتی در کامپایل شدن کل برنامه یک باره ترجمه می شه و کل برنامه با هم اجرا می شه. (مثلاً در ویندوز بعد از کامپایل شدن برنامه، فایل exe ساخته می شه که یک فایل ترجمه شده هست و اون رو اجرا می کنیم)
نکته: در زبان های مفسری به ازای هر بار اجرا باید کد هم ترجمه بشه ولی در زبان های کامپایلری به ازای هر بار اجرا لزومی نداره که کد دوباره ترجمه بشه. (این نکته یکی از علت های کمتر بودن سرعت اجرای زبان های مفسری نسبت به کامپایلری هست)
امیدوارم مفید باشه
بسیار عالی . و اما مزیت چیست؟ چرا برای کد های مخرب و بحث های مربوط به اینترنت بیشتر از Perl استفاده میشه
آیا Perl در لینوکس هم منظور همین است؟
irpersian20
یک شنبه 11 فروردین 1392, 11:34 صبح
سلام
به زبون ساده تفسیر شدن برنامه یعنی با هر بار اجرا، دستورات برنامه به صورت خط به خط ترجمه و سپس اجرا می شن. (یعنی مثلاً ابتدا خط اول ترجمه و اجرا می شه و سپس خط دوم ترجمه و اجرا می شه و ...)
در صورتی در کامپایل شدن کل برنامه یک باره ترجمه می شه و کل برنامه با هم اجرا می شه. (مثلاً در ویندوز بعد از کامپایل شدن برنامه، فایل exe ساخته می شه که یک فایل ترجمه شده هست و اون رو اجرا می کنیم)
نکته: در زبان های مفسری به ازای هر بار اجرا باید کد هم ترجمه بشه ولی در زبان های کامپایلری به ازای هر بار اجرا لزومی نداره که کد دوباره ترجمه بشه. (این نکته یکی از علت های کمتر بودن سرعت اجرای زبان های مفسری نسبت به کامپایلری هست)
امیدوارم مفید باشه
فرومدید تفسیر میشه. دقیقا به چه معناست؟ از لحاظ فنی منظورم هست.
در سی یا سی شارپ کد ما تبدیل به زبان اسمبلی بعد زبان ماشین میشه و در نهایت اجرا درسته؟
اما Perl تبدیل به چه کدی میشه؟ این تفسیر چه معناست؟
MunderLine
یک شنبه 11 فروردین 1392, 21:36 عصر
بسیار عالی . و اما مزیت چیست؟ چرا برای کد های مخرب و بحث های مربوط به اینترنت بیشتر از Perl استفاده میشه
سلام
در واقع هدف از تولید و طراحی این زبان همین بوده و به خاطر قدرت بالای اون در مباحثی مثل Exploitation به کار میره.
آیا Perl در لینوکس هم منظور همین است؟
بله. زبان Perl مستقل از پلتفرم هست. یعنی کدی که روی ویندوز می نویسید قابلیت اجرا روی سیستم عامل مک و یونیکس و ... رو داره.
فرومدید تفسیر میشه. دقیقا به چه معناست؟ از لحاظ فنی منظورم هست.
در سی یا سی شارپ کد ما تبدیل به زبان اسمبلی بعد زبان ماشین میشه و در نهایت اجرا درسته؟
اما Perl تبدیل به چه کدی میشه؟ این تفسیر چه معناست؟
Perl در اصل یک زبان تمام مفسری نیست (شاید بشه بگی کامپایلری - مفسری هست). کدهای Perl به یک نوع کد خاص تبدیل می شن (بایت کد) و سپس اون بایت کدها تفسیر (تبدیل به کد ماشین) و اجرا می شن که همه این کارها در همون Perl Interpreter انجام می شه.
لینک زیر می تونه مفید باشه:
http://en.wikipedia.org/wiki/Perl
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.