این دستور intercalcp است که می تواند در ارائه دهنده میزبانی رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
intercalc - ماشین حساب میزی CLC-INTERCAL
خلاصه
اینترکالک [گزینه ها]
شرح
اینترکالک یک ماشین حساب میزی ساده است که به کاربر اجازه می دهد عبارات INTERCAL (به
ببینید چه می کنند) و عبارات (تا ببینید چه ارزشی تولید می کنند). از مترجم استفاده می کند
شی از CLC-INTERCAL برای ارائه بازخورد فوری.
ماشین حساب میز چندین گزینه را می پذیرد که برخی از آنها در اینجا مستند شده اند.
کاربر رابط گزینه
-X / -- گرافیکی
وارد رابط کاربری گرافیکی مبتنی بر X می شود. به Perl-GTK نیاز دارد. این پیش فرض اگر است
Perl-GTK نصب شده است، متغیر محیطی $DISPLAY تنظیم شده است و باز شدن از
نمایش X موفق می شود.
-c / -- نفرین
وارد تمام صفحه، رابط مبتنی بر نفرین می شود. اگر X مبتنی بر آن باشد، این پیشفرض است
رابط نمی تواند راه اندازی شود، متغیر محیطی $TERM تنظیم شده است و ترمینال
نام شناخته شده است
--خط
وارد رابط کاربری حالت خط می شود. این پیش فرض در صورتی است که X بر اساس و نفرین است
رابط های مبتنی بر کار نمی کنند.
در این حالت برنامه هر خط را از ورودی استاندارد مطابق با
حالت و زبان فعلی، و نتایج را در خروجی استاندارد چاپ می کند. خطی که شروع می شود
with a backspark به عنوان دستوری به ماشین حساب تعبیر می شود. استفاده از backspark-g به
تسلیم شوید (باید این کار را دو بار انجام دهید)، یا backspark-h برای نمایش صفحه راهنما ehm.
چیزهایی که از طریق ورودی های منو در رابط های Curses و X در دسترس هستند نیز هستند
از طریق Backspark در دسترس است. در حال حاضر، می توانید برای فهرست به کد منبع مراجعه کنید.
ویرایش خط فرمان و تاریخچه فرمان توسط کتابخانه Readline ارائه می شود. فرمان
تکمیل در صورتی کار می کند که کامپایلر اصلی از آن پشتیبانی کند (کامپایلرهای ارائه شده با
توزیع ها انجام می دهند).
-- دسته ای
از ورود به حالت تعاملی اجتناب می کند. اگر ورودی و خروجی استاندارد باشد، این پیشفرض است
به ترمینال متصل نیستند و رابط مبتنی بر X نمی تواند راه اندازی شود. این حالت
بسیار شبیه حالت خط است به جز اینکه ویرایش خط فرمان و تاریخچه فرمان
اجرا نمی شوند. Backspark Escape ها دقیقاً به همین صورت عمل می کنند.
-iنوع / --رابط=نوع
رابط کاربری را انتخاب می کند نوع. در حال حاضر، فقط X, نفرین, لاین و هیچ تعریف می شوند،
اما تعداد بیشتری را می توان به عنوان افزونه های کامپایلر نصب کرد. اگر رابط انتخاب شده باشد هیچ,
اینترکالک در حالت دسته ای کار خواهد کرد. علاوه بر این، یک رشته خالی مجدداً بازگردانده می شود
رفتار پیش فرض
منبع زبان و تالیف گزینه های
--حشره=عدد
احتمال متفاوتی را برای باگ کامپایلر انتخاب می کند. اشکال کامپایلر پیاده سازی شده است
با مقداردهی اولیه حالت کامپایلر با احتمال لازم: وقتی یک دستور
کامپایل می شود (معمولاً در زمان اجرا)، یک دستورالعمل "BUG" با موارد مورد نیاز منتشر می شود
احتمال پیش فرض 1٪ است.
-- ubug=عدد
یک احتمال برای اشکال غیرقابل توضیح کامپایلر انتخاب می کند. این باگ کامپایلر است
که زمانی رخ می دهد که احتمال یک اشکال کامپایلر (قابل توضیح) صفر باشد. فقط وامپ ها
از این گزینه استفاده خواهد کرد پیش فرض 0.01٪ است.
-Iمسیر / --عبارتند از=مسیر
یک دایرکتوری را قبل از مسیر جستجوی استاندارد برای اشیاء کامپایلر و کد منبع اضافه می کند.
اگر فایلی از دایرکتوری فعلی قابل دسترسی باشد، هرگز در هیچ دایرکتوری جستجو نمی شود
مسیر را شامل شود.
اگر این گزینه تکرار شود، مسیرهای داده شده به ترتیب داده شده جستجو خواهند شد.
مسیرهای استاندارد را دنبال کنید.
-lزبان / --زبان=زبان
زبان مورد استفاده در هنگام تفسیر ورودی کاربر را انتخاب می کند. این باید مطابقت داشته باشد
نام یک کامپایلر، که یک شی INTERCAL است که در ابتدا توسط آن ساخته شد
IACC. فقط از تجزیه کننده عبارت و عبارت استفاده می شود، بنابراین امکان تست وجود دارد
کامپایلرهای ناقص با بارگذاری آنها در اینترکالک حتی اگر با آنها کار نکنند بیمار.
پیش فرض از sickrc انتخاب INTERCALC.LANGUAGE.
--oانتخاب ---گزینه=انتخاب
یک گزینه زبان اضافه می کند. مثلا، --o3 محاسبه پایه 3 را انتخاب می کند و --oویمپ
حالت wimp را انتخاب می کند. اگر هیچ گزینه ای ارائه نشده باشد و زبان پیش فرض از آن گرفته شده باشد
la sickrc فایل، گزینه های پیش فرض از فایل گرفته شده است sickrc فایل. توجه داشته باشید که اگر یک
گزینه یا زبانی در خط فرمان مشخص شده است sickrc پیش فرض ها هستند
نادیده گرفته شد
برخلاف نسخه های قبلی اینترکالک، این نسخه بررسی می کند که گزینه ها منطقی هستند
در زمینه ماشین حساب؛ برای مثال تلاش برای بارگذاری یک کامپایلر به عنوان یک گزینه
یک خطا ایجاد می کند، اما پسوند کامپایلر اوکی خواهد بود.
-mحالت / - حالت=حالت
حالت عملیات را انتخاب کنید. در حال حاضر، تنها حالت های معتبر هستند کامل, صادرات و یکاست. دیدن
"حالت های عملیاتی". اگر این مشخص نشده باشد، پیش فرض از قسمت گرفته شده است sickrc
انتخاب ..INTERCALC.MODE.
متفرقه گزینه
-rنام / -rcfile=نام
دستورات را از فایل اجرا می کند نام قبل از شروع پذیرش ورودی این گزینه می تواند باشد
تکرار، برای اجرای بیش از یک فایل. اگر مشخص نشده باشد، کتابخانه استاندارد،
دایرکتوری فعلی و فهرست اصلی کاربر فعلی برای فایلها جستجو میشوند
با نام system.sickrc or .sickrc، که سپس اجرا می شوند. دستور این جستجو
این است: کتابخانه مشخص (--عبارتند از)، کتابخانه سیستم، فهرست اصلی، دایرکتوری فعلی.
این با ترتیب جستجوی مورد استفاده هنگام جستجوی اشیا یا کد منبع متفاوت است.
اگر دایرکتوری حاوی هر دو باشد .sickrc و system.sickrcاز system.sickrc اجرا می شود
اول، به دنبال آن .sickrc. همچنین توجه داشته باشید که اگر دایرکتوری فعلی یا خانه
دایرکتوری در مسیر جستجو ظاهر می شود و حاوی یکی از این فایل ها خواهد بود
دوبار اجرا شد
اگر نام فایل ها به صراحت مشخص شده باشد، باید کاملا واجد شرایط باشند: مسیر جستجو
برای یافتن آنها استفاده نمی شود.
--nouserrc
از بارگذاری یک فایل rc کاربر (.sickrc) جلوگیری می کند. همچنین بارگذاری system.sickrc را محدود می کند
اولی پیدا شد این گزینه معمولاً فقط هنگام آزمایش نصب استفاده می شود
از تداخل نسخه های قبلی CLC-INTERCAL جلوگیری کنید.
عملیاتی حالت های
ماشین حساب می تواند در حالت های زیر کار کند:
مترجم INTERCAL کاملاً کاربردی.
ماشین حساب می تواند هر عبارت یا عبارتی را تجزیه و اجرا کند.
بیانیه ها به عنوان یک برنامه یک بیانیه کامپایل شده و اجرا می شوند. هر مقدار ثبت
و غیره بین عبارات حفظ خواهد شد، بنابراین وارد کردن لیستی از عبارات است
معادل اجرای برنامه ای است که در آن تمام این دستورات در آن اجرا می شوند
توالی.
توجه به این نکته ضروری است که برخی از دستورات به صورت عادی اجرا نمی شوند.
به عنوان مثال، یک COME FROM تجزیه می شود اما هیچ تاثیری ندارد، مگر اینکه چیزی باشد
پسندیدن:
(1) لطفا از (1) بیایید
که باعث آویزان شدن ماشین حساب می شود. از سوی دیگر، خودداری از یا الف
REINSTATE همانطور که انتظار می رود کار خواهد کرد، همانطور که CREATE و DESTROY. تسلیم نمی شود
باعث شود ماشین حساب خاتمه یابد. یک تفاوت نهایی این است که نظرات وجود ندارند
تجزیه شد، و بنابراین شما یک "خطای نحو" را از ماشین حساب دریافت می کنید تا یک
splat *000 از مترجم INTERCAL.
برای عبارات، ماشین حساب نتیجه عبارت را می خواند. هر گونه عوارض جانبی
به خاطر سپرده خواهد شد، بنابراین اگر عبارت حاوی بارهای اضافی باشد، همچنان در معرض خطر قرار می گیرند
ماشين حساب.
مفسر بیان expr INTERCAL
ماشین حساب فقط می تواند عبارات یا تکالیف را تجزیه کند. در هر صورت،
مقادیر محاسبه شده را بخوانید. انتساب همچنین مقدار را در the ذخیره می کند
مقصد، در حالی که عبارات پس از آن نتیجه را نادیده می گیرند.
oic The One Iآموزش Cماشین حساب
این چیزی است که ما یک صبح زود هنگام بحث در مورد ماشینحسابهای میز آن را درست کردهایم
(همانطور که یکی انجام می دهد). این به هیچ وجه INTERCAL نیست، در واقع از One الهام گرفته شده است
مجموعه دستورالعمل کامپیوتر.
ماشین حساب تعدادی حافظه دارد (پیشفرض 100 - این حافظهها را میتوان تغییر داد
برای مثال، یک عدد را به حالت کار اضافه کنید oic10 از 10 حافظه استفاده خواهد کرد
ماشین حساب). این خاطرات با نامه مشخص می شوند m به دنبال آن یک عدد؛ که در
نسخه پیش فرض 100 حافظه، دو رقم اول بعد m حافظه هستند و هر کدام
رقم بعدی بخشی از عملوند بعدی را تشکیل می دهد. در آغاز، همه خاطرات هستند
به 0 مقداردهی اولیه شد.
از آنجایی که تنها یک عملیات وجود دارد، نیازی به تعیین آن نیست، بنابراین یک "عملیات"
دنباله ای از سه عملوند و یک نتیجه است. نتیجه باید یک خاطره باشد، در حالی که هر یک
عملوند می تواند یک عدد یا یک حافظه باشد، با این محدودیت که اعداد متوالی هستند
تنها در صورتی قابل قبول است که تجزیه کننده بتواند تعیین کند که کجا پایان می یابد و بعدی کجا شروع می شود.
بنابراین برای مثال "1-0" دو عملوند عددی است، 1 و -0 (معروف به 0). "1.2.3" نیز دو است
عملوندهای 1.2 و 3. "12" یک عملوند واحد است، حتی اگر قصد داشته باشید که دو عملوند باشد
عملوندها، 1 و 2، و حتی اگر فاصله قرار دهید: "1 2" همچنان به عنوان
تک عملوند 12.
عملیات انجام شده تفاوت بین دو عملوند اول تقسیم بر
سومین. به عنوان مثال، سه عملیات:
7 m01 2 M01
1 متر مربع 02 متر مکعب
m1 .5 m2 m03
نتایج m01=3.5 ((7-0)/2) را ایجاد خواهد کرد. m02=1 ((1-0)/1); m03=3 ((3.5-.5)/1). و
اگر ماشین حساب در حالت دسته ای کار کند خروجی زیر را تولید می کند:
m01 3.5 (7 - m01) / 2
m02 1 (1 - m02) / 1
m03 3 (m01 - 5) / m02
از intercalcp به صورت آنلاین با استفاده از خدمات onworks.net استفاده کنید