زنگ

کسانی هستند که این خبر را قبل از شما می خوانند.
برای دریافت آخرین مقالات مشترک شوید.
پست الکترونیک
نام
نام خانوادگی
چگونه می خواهید The Bell را بخوانید
بدون اسپم

وسیله نرم افزار - اینها برنامه هایی هستند که در توسعه ، تنظیم یا توسعه برنامه های کاربردی یا سیستم دیگر مورد استفاده قرار می گیرند.

ابزارهای توسعه نرم افزار می توانند در تمام مراحل توسعه نرم افزار کمک کنند. آنها در مقصودشان نزدیک هستند سیستم های برنامه نویسی.

جعبه ابزار شامل ، برای مثال:

    ویراستاران؛

    ابزار پیوند؛

    برنامه های کاربردی که اقدامات سیستم اغلب استفاده می شود.

    بسته های نرم افزاری گرافیکی و غیره

      1. سیستم برنامه نویسی

سیستم برنامه نویسی سیستمی برای توسعه برنامه های جدید با یک زبان برنامه نویسی خاص است.

سیستم های نوین برنامه نویسی معمولاً ابزارهای قدرتمند و راحت برنامه نویسی را در اختیار کاربران قرار می دهند. آنها شامل موارد زیر هستند:

    کامپایلر یا مترجم؛

    محیط توسعه یکپارچه؛

    ابزاری برای ایجاد و ویرایش متون برنامه؛

    کتابخانه های گسترده برنامه های استاندارد و توابع؛

    برنامه های اشکال زدایی ، یعنی برنامه هایی که به پیدا کردن و رفع خطاها در برنامه کمک می کنند.

    "دوستانه" با محیط گفتگوی کاربر.

    حالت عملکرد چند پنجره؛

    کتابخانه های گرافیکی قدرتمند؛ برنامه های کاربردی برای کار با کتابخانه ها

    مونتاژ داخلی؛

    میز کمک داخلی؛

    مشخصات دیگر

مترجم (مترجم انگلیسی - مترجم) یک برنامه مترجم است. این برنامه برنامه ای را که در یکی از زبان های سطح بالا نوشته شده است به برنامه ای متشکل از دستورالعمل های دستگاه تبدیل می کند.

مترجمان به عنوان کامپایلر یا مترجم پیاده سازی می شوند. کامپایلر و مترجم از نظر نحوه انجام کار تفاوت های چشمگیری دارند.

کامپایلر (کامپایلر انگلیسی - کامپایلر ، جمع کننده) کل برنامه را می خواند ، ترجمه آن را انجام می دهد و نسخه کاملی از برنامه را به زبان ماشین ایجاد می کند ، که سپس اجرا می شود.

مترجم (مترجم انگلیسی - مترجم ، مترجم) خط برنامه را به صورت خط ترجمه و اجرا می کند.

پس از تدوین برنامه ، دیگر به برنامه اصلی و کامپایلر دیگر نیازی نیست. در عین حال ، برنامه پردازش شده توسط مترجم باید هر بار که برنامه شروع شود ، دوباره به زبان ماشین ترجمه شود.

برنامه های کامپایل شده سریعتر اجرا می شوند ، اما برنامه های تفسیر شده اصلاح و تغییر راحت تر هستند.

سیستم های برنامه نویسی محبوب - Turbo Basic، Quick Basic، Turbo Pascal، Turbo C، Borland C ++، Borland Delphi و غیره

هر زبان خاص یا بسته به هدفی که برای آن ایجاد شده است به تألیف یا تفسیر متمرکز است. مثلا، پاسکال معمولاً برای حل مشکلات نسبتاً پیچیده ای که سرعت برنامه ها در آنها مهم است استفاده می شود. بنابراین ، این زبان معمولاً با استفاده از کامپایلر اجرا می شود. از سوی دیگر، پایه ای به عنوان یک زبان برای برنامه نویسان تازه کار ایجاد شده است ، که اجرای برنامه خط به صورت خطی از مزایای غیرقابل انکار است.

بعضی اوقات هم یک کامپایلر و هم مترجم برای یک زبان وجود دارد. در این حالت می توانید از مترجم برای تهیه و تست برنامه استفاده کرده و سپس برنامه اشکال زدایی را برای سرعت بخشیدن به اجرای آن کامپایل کنید.

      روند توسعه نرم افزار

نرم افزار ابزار ، به عنوان یک نوع نرم افزار خاص ، با کلی و خاص مشخص می شود

به طور کلی برای همه نرم افزارها عملکرد دارد. ما وظایف عمومی فوق را در نظر گرفته ایم و وظایف تخصصی ذاتی فقط در این نوع برنامه ها عبارتند از:

1. ایجاد متن برنامه توسعه یافته با استفاده از کلمات ویژه کد (زبان برنامه نویسی) و همچنین مجموعه مشخصی از نمادها و مکان آنها در پرونده ایجاد شده - نحو برنامه.

2. ترجمه متن برنامه ای که ایجاد می شود به کد ماشین گرا برای تشخیص رایانه موجود است. در مورد مقدار قابل توجهی از برنامه ایجاد شده ، به ماژول های جداگانه تقسیم می شود و هر یک از ماژول ها به طور جداگانه ترجمه می شوند.

3. اتصال ماژولهای جداگانه به یک کد اجرایی واحد ، رعایت ساختار مورد نیاز ، اطمینان از هماهنگی تعامل بخشهای جداگانه با یکدیگر.

4- آزمایش و کنترل برنامه ایجاد شده ، شناسایی و از بین بردن خطاهای رسمی ، منطقی و نحو ، بررسی برنامه های مربوط به کدهای ممنوعه و همچنین ارزیابی عملکرد و پتانسیل های برنامه ایجاد شده.

انواع نرم افزار ابزار

بر اساس وظایف محوله به نرم افزار ابزار ، تعداد زیادی از انواع مختلف نرم افزار ابزار قابل تشخیص است:

1) ویرایشگران متن

2) محیط های توسعه یکپارچه

4) کامپایلرها

5) مترجمان

6) پیوند دهنده ها

7) ژنراتور پارسر و پارسر (به Javacc مراجعه کنید)

8) اسمبلرها

9) اشکال زدایی

10) پروفایل

11) تولید کنندگان اسناد

12) ابزار تجزیه و تحلیل پوشش کد

13) ابزار ادغام مداوم

14) وسایل تست خودکار

15) سیستم های کنترل نسخه و غیره

لازم به ذکر است پوسته های ایجاد برنامه های کاربردی نیز توسط برنامه های ابزاری ایجاد می شوند و بنابراین می توانند به عنوان برنامه های کاربردی طبقه بندی شوند. بیایید به طور خلاصه هدف برخی از برنامه های ابزار سازی را در نظر بگیریم.

ویرایشگران متن

ویرایشگر متن یک برنامه کامپیوتری است که برای پردازش طراحی شده است فایلهای متنیمانند ایجاد و ایجاد تغییرات.

انواع ویرایشگر متن.

دو نوع ویرایشگر به طور متداول متمایز می شوند: جریان ویرایشگرهای متن ودر ارتباط بودن.

1) ویرایشگرهای متن پخش شود

ویرایشگرهای متن در حال پخش ، برنامه های رایانه ای هستند که برای پردازش خودکار داده های ورودی متنی دریافت شده از یک فایل متنی مطابق با قوانینی که از قبل توسط کاربران تعریف شده اند ، طراحی شده اند. اغلب اوقات ، این قوانین وجود دارد عبارات با قاعده، به گویش اختصاصی برای این ویرایشگر متن خاص. نمونه ای از چنین ویرایشگر متن Sed است.

2) ویرایشگرهای متن تعاملی

ویرایشگرهای متن تعاملی خانواده ای از برنامه های رایانه ای هستند که برای ایجاد تغییر در یک فایل متنی طراحی شده اند حالت تعاملی... چنین برنامه هایی امکان نمایش وضعیت فعلی داده های متنی را در یک پرونده و انجام اقدامات مختلف بر روی آنها را فراهم می کنند.

غالباً ، ویراستاران متن تعاملی دارای قابلیت های اضافی قابل توجهی هستند که به منظور اتوماسیون برخی از اقدامات ویرایش ، یا تغییر نمایش داده های متن بسته به معنای آنها طراحی شده اند. برجسته سازی نحو نمونه ای از عملکرد دوم است.

ویرایشگران متن برای ایجاد و ویرایش اسناد متنی طراحی شده اند. رایج ترین آنها MS WORD ، Lexicon است. کارکردهای اصلی ویرایشگران متن عبارتند از:

1) کار با قطعات سند ،

2) درج اشیاء ایجاد شده در برنامه های دیگر

3) صفحه بندی متن سند

4) جداول ورود و ویرایش

5) فرمول های ورودی و ویرایش

6) قالب بندی پاراگراف

7) ایجاد خودکار لیست ها

8) ایجاد خودکار فهرست مطالب.

دهها ویرایشگر متن شناخته شده است. قابل دسترسی ترین NOTEPAD (دفترچه یادداشت) ، WORDPAD ، WORD است. کار یک ویرایشگر متن خاص معمولاً توسط توابع مشخص می شود که هدف آن در موارد منو و در سیستم راهنما منعکس می شود.

محیط توسعه یکپارچه

Integrated Development Environment (IDE) یک سیستم نرم افزاری است که توسط برنامه نویسان برای توسعه نرم افزار (نرم افزار) استفاده می شود. به طور معمول یک محیط توسعه شامل موارد زیر است:

1) ویرایشگر متن

2) کامپایلر و / یا مفسر

3) ساختن ابزارهای اتوماسیون

4) اشکال زدایی.

همچنین گاهی اوقات شامل ابزارهایی برای ادغام با سیستم های کنترل منبع و ابزارهای متنوعی برای ساده سازی طراحی رابط کاربری گرافیکی است. بسیاری از محیط های توسعه مدرن همچنین شامل یک مرورگر کلاس ، بازرس شی و نمودار سلسله مراتب کلاس برای استفاده در توسعه نرم افزار شی گرا هستند. اگرچه ، محیط های توسعه وجود دارد که برای چندین زبان برنامه نویسی طراحی شده اند - مانند Eclipse ، NetBeans ، Embarcadero RAD Studio ، Qt Creator یا Microsoft ویژوال استودیومعمولاً یک محیط توسعه برای یک زبان برنامه نویسی خاص در نظر گرفته شده است - مانند Visual Basic ، Delphi ، Dev-C ++.

یک مورد خاص از IDS - محیط های توسعه بصری ، که شامل قابلیت ویرایش بصری رابط برنامه است.

SDK (از کیت توسعه نرم افزار انگلیسی) یا "devkit" - مجموعه ای از ابزارهای توسعه که به متخصصان نرم افزار اجازه می دهد تا برنامه هایی را برای یک بسته نرم افزاری خاص ایجاد کنند ، نرم افزار ابزارهای توسعه اولیه ، پلت فرم سخت افزاری ، سیستم رایانه ای ، کنسول های بازی ویدیویی ، سیستم های عامل و سیستم عامل های دیگر

برنامه نویس معمولاً SDK را مستقیماً از توسعه دهنده فناوری یا سیستم مورد نظر به دست می آورد. SDK اغلب از طریق اینترنت توزیع می شود. بسیاری از SDK ها به منظور ترغیب توسعه دهندگان به استفاده ، بصورت رایگان توزیع می شوند این فناوری یا بستر های نرم افزاری

فروشندگان SDK بعضی اوقات اصطلاح نرم افزار را در کیت توسعه نرم افزار با یک کلمه دقیق تر جایگزین می کنند. به عنوان مثال ، مایکروسافت و اپل کیت های توسعه دهنده درایور (DDK) را برای توسعه درایور دستگاه فراهم می کنند ، و PalmSource از ابزار توسعه آن را کیت توسعه PalmOS (PDK) می نامد.

نمونه SDK:

5) کیت توسعه جاوا

6) دستگاههای Opera SDK

کامپایلرها

کامپایلر -

1) برنامه یا سخت افزاری که تالیف را انجام می دهد.

2) برنامه ماشینی که برای تدوین استفاده می شود.

3) مترجمی که برنامه نوشته شده به زبان مبدا را به یک ماژول شی تبدیل می کند.

4) برنامه ای که یک برنامه زبان سطح بالا را به یک برنامه زبان ماشین معادل ترجمه می کند.

5) برنامه ای که برای ترجمه یک زبان سطح بالا به کد مطلق یا بعضاً به زبان مونتاژ ساخته شده است. اطلاعات ورودی برای کامپایلر (کد منبع) توصیفی از الگوریتم یا برنامه ای با زبانی مسئله محور است و خروجی کامپایلر توصیف معادل الگوریتم در یک زبان ماشین گرا (کد شی) است.

تلفیقی -

1) ترجمه برنامه به زبانی نزدیک به ماشین.

2) ترجمه برنامه ای که به زبان مبداء نوشته شده است به یک ماژول شی. توسط کامپایلر اجرا شده است.

کامپایل - پخش برنامه ماشین از یک زبان محور به یک زبان ماشین گرا.

انواع کامپایلر:

1) برداری... کد منبع را به کد ماشین رایانه های مجهز به پردازنده بردار تبدیل می کند.

2) انعطاف پذیر. این برنامه مدولار ، صفحه گسترده است و به زبان سطح بالا برنامه ریزی شده یا با کامپایلر کامپایلر پیاده سازی شده است.

3) گفت و گو.

4) افزایشی. قطعات برنامه و اضافات آن را دوباره بدون ترجمه مجدد کل برنامه ، دوباره ترجمه کنید.

5) تفسیر (قدم به قدم). پیاپی مستقل از هر بیانیه (دستور) برنامه منبع را انجام می دهد.

6) کامپایلر کامپایلر. مترجمی که توصیف رسمی از یک زبان برنامه نویسی را می پذیرد و یک کامپایلر برای این زبان تولید می کند.

7) اشکال زدایی. انواع خاصی از خطاهای نحوی را از بین می برد.

8) مقیم. در حافظه اصلی زندگی می کند و توسط بسیاری از کارها قابل استفاده مجدد است.

9) خودنویس. به همان زبانی که پخش از آن پخش می شود ، نوشته شده است.

10) جهانی. بر اساس توضیحات رسمی از نحو و معناشناسی زبان ورودی. اجزای تشکیل دهنده چنین کامپایلر عبارتند از: لودرهای اصلی ، نحوی و معنایی.

انواع گردآوری:

1) دسته... تدوین چندین ماژول منبع در یک مورد کار.

2) خط به خط.

3) مشروط. تلفیقی که در آن متن ترجمه شده به شرایطی که در برنامه منبع مشخص شده است بستگی دارد. بنابراین بسته به مقدار مقداری ثابت ، می توانید ترجمه قسمتی از متن برنامه را روشن یا خاموش کنید.

ساختار کامپایلر.

مراحل تدوین شامل مراحل زیر است:

1) تحلیل واژگانی. در این مرحله ، دنباله کاراکترهای موجود در پرونده منبع به دنباله ای از نشانه ها تبدیل می شوند.

2) تجزیه و تحلیل نحوی (دستوری). دنباله نشانه ها به یک درخت پارسی تبدیل می شود.

3) تحلیل معنایی. درخت پارس به منظور ایجاد معناشناسی آن (به معنی) پردازش می شود - به عنوان مثال ، شناسه های اتصال دهنده به اظهارنامه های آنها ، انواع ، بررسی سازگاری ، تعیین انواع عبارات و غیره. نتیجه معمولاً "نمایش / کد میانی" نامیده می شود ، و می توان آن را با یک درخت پارس افزود. ، یک درخت جدید ، مجموعه ای از دستورات انتزاعی یا چیز دیگری که برای پردازش بیشتر مناسب است.

4) بهینه سازی. سازه های زائد حذف می شوند و ضمن حفظ معنی آن ، کد ساده می شود. بهینه سازی می تواند در سطوح و مراحل مختلف باشد - برای مثال ، از طریق کد واسطه یا کد دستگاه نهایی.

5) تولید کد. کد زبان مقصد از نمایندگی واسطه تولید می شود.

در پیاده سازی های کامپایلر بتن ، این مراحل را می توان در یک شکل یا شکل دیگر از هم جدا یا ترکیب کرد.

پخش و آهنگسازی.

یک ویژگی مهم تاریخی کامپایلر که در نام آن منعکس شده است (انگلیسی کامپایل کردن - جمع کردن ، ترکیب کردن) این بود که می تواند تولید و پیوند دهد (یعنی شامل دو بخش بود - مترجم و یک لینک دهنده). این در شرایطی است که جمع آوری و پیوند جداگانه به عنوان مرحله جداگانه مونتاژ بسیار دیرتر از ظاهر کامپایلرها پدید آمده است. در همین راستا ، به جای اصطلاح کامپایلر ، اصطلاح مترجم گاهی بعنوان مترادف آن استفاده می شود: یا در ادبیات قدیمی ، یا وقتی می خواهند بر توانایی آن در ترجمه یک برنامه به کد ماشین تأکید کنند (و برعکس ، از اصطلاح کامپایلر برای تأکید بر توانایی تألیف استفاده می شود) بسیاری از پرونده ها یکی)

مترجمان

مترجم (زبان برنامه نویسی) -

1) برنامه یا سخت افزاری که تفسیر را انجام می دهد.

2) نوع مترجمی که پردازشگر را به وسیله اپراتور (توسط دستور) انجام می دهد و اجرای برنامه یا درخواست اصلی را انجام می دهد (بر خلاف کامپایلر که بدون اجرای آن کل برنامه را ترجمه می کند).

3) برنامه (گاهی سخت افزاری) که دستورات یا بیانیه های برنامه را تجزیه و تحلیل می کند و بلافاصله آنها را اجرا می کند.

4) پردازشگر زبان که خط به صورت خط تجزیه می کند برنامه اصلی و در همان زمان اقدامات مقرر را انجام می دهد ، و یک برنامه کامپایل شده به زبان ماشین را تشکیل نمی دهد ، که متعاقباً اجرا می شود.

انواع مترجم

مترجم ساده آنالیز و بلافاصله هنگام رسیدن برنامه ، برنامه به صورت دستور (یا خط به خط) را اجرا و تجزیه و تحلیل می کند. کد منبع به ورودی مترجم. مزیت این روش پاسخ فوری است. نقطه ضعف این است که چنین مترجمی فقط هنگام تلاش برای اجرای یک دستور (یا خط) با خطا ، خطاهای موجود در متن برنامه را تشخیص می دهد.

مترجم نوع کامپایل شده سیستم یک کامپایلر است که کد منبع برنامه را به یک نمایش واسطه تبدیل می کند ، به عنوان مثال به کد رمز عبور یا p-code و خود مفسر که اجرای کد میانی حاصل (همان اصطلاح دستگاه مجازی) را انجام می دهد. مزیت چنین سیستم هایی سرعت بیشتر در اجرای برنامه (به دلیل حذف تحلیل کد منبع در یک گذر جداگانه و یک بار و به حداقل رساندن این تحلیل در مترجم). معایب - نیاز به منابع بیشتر و نیاز به صحت کد منبع. این زبان در زبانهایی مانند Java ، PHP ، Python ، Perl (با استفاده از bytecode) ، REXX (صرفه جویی در نتیجه تجزیه کد منبع) و همچنین در DBMS های مختلف (با استفاده از کد p) استفاده می شود.

در صورت تقسیم مفسر از یک نوع کامپایل به اجزاء ، یک کامپایلر زبان و یک مترجم ساده با تجزیه و تحلیل بهینه از کد منبع بدست می آید. علاوه بر این ، کد منبع برای چنین مترجمی لازم نیست که در قالب متن باشد یا یک کد مجازی باشد که فقط این مترجم آن را درک کند ، می تواند کد دستگاه برخی از بستر سخت افزاری موجود باشد. برای مثال، ماشین های مجازی مانند QEMU ، Bochs ، VMware دارای مفاهیمی برای کد دستگاه پردازنده های x86 هستند.

برخی از مترجمان (به عنوان مثال ، برای Lisp ، Scheme ، پایتون ، BASIC و دیگران) می توانند در حالت گفتگو یا در حلقه به اصطلاح read-eval-print (REPL) کار کنند. در این حالت ، مترجم ساختار زبان کامل (به عنوان مثال ، بیان s را در Lisp) می خواند ، آن را اجرا می کند ، نتایج را چاپ می کند و سپس در ادامه منتظر می ماند تا کاربر وارد ساختار بعدی شود.

زبان چهارم منحصر به فرد است ، که قادر به کار در دو حالت تفسیر و تلفیق داده های ورودی است و به شما امکان می دهد در یک لحظه دلخواه ، هم در هنگام ترجمه کد منبع و هم در هنگام اجرای برنامه ها ، بین این حالت ها جابجا شوید.

همچنین لازم به ذکر است که حالتهای تفسیر نه تنها در نرم افزار بلکه در سخت افزار نیز قابل یافت است. بنابراین ، بسیاری از ریز پردازنده ها کد دستگاه را با استفاده از میکروگرم برنامه های جاسازی شده و پردازنده های x86 که از پنتیوم شروع می شوند تفسیر می کنند (به عنوان مثال ، روی معماری اینتل P6) ، در حین اجرای کد دستگاه ، به صورت اولیه به صورت داخلی (به دنباله ای از میکرو آپ) ترجمه می شود.

الگوریتم برای یک مترجم ساده:

2. دستورالعمل را مرور کرده و اقدام مناسب را تعیین کنید.

3. اقدامات مناسب را انجام دهید؛

4- در صورت عدم رسیدن به شرط خاتمه برنامه ، دستورالعمل بعدی را بخوانید و به مرحله 2 بروید.

مزایا و مضرات مفسران.

مزایای:

1) بزرگقابلیت حمل برنامه های تفسیر شده - این برنامه بر روی هر بستر اجرا خواهد شد که دارای یک مترجم متناظر باشد.

2) به عنوان یک قاعده ، وسیله ای کامل تر و بصری برای تشخیص خطاها در کدهای منبع.

3) ساده سازی کدهای منبع برنامه اشکال زدایی.

4) اندازه کد های کوچکتر در مقایسه با کد دستگاه به دست آمده پس از کامپایلرهای معمولی.

معایب:

1) برنامه تفسیری نمی تواند بطور جداگانه و بدون برنامه مترجم اجرا شود. خود مفسر می تواند بسیار جمع و جور باشد.

2) برنامه تفسیر کندتر است زیرا تجزیه و تحلیل میانی کد منبع و برنامه ریزی زمان اجرای آن نیاز به زمان اضافی در مقایسه با اجرای مستقیم کد ماشین دارد که در آن منبع منبع تهیه می شود.

3) عملاً هیچ بهینه سازی کد وجود ندارد ، که منجر به ضررهای اضافی در سرعت برنامه های تفسیر شده می شود.

پیوند دهنده

پیوند دهنده (همچنین یک لینک دهنده ، پیوند دهنده) - برنامه ای که پیوند را انجام می دهد - ورودی یک یا چند ماژول شی را در نظر می گیرد و یک ماژول اجرایی را از آنها جمع می کند.

برای پیوند ماژول ها ، لینک دهنده از جداول نام ایجاد شده توسط کامپایلر در هر یک از ماژول های شی استفاده می کند. چنین نامهایی می توانند از دو نوع باشند:

1) نامهای تعریف شده یا صادر شده - عملکردها و متغیرهای تعریف شده در این ماژول و برای استفاده توسط سایر ماژولها ارائه شده است.

2) نامهای نامشخص یا وارد شده - توابع و متغیرهایی که ماژول به آنها اشاره دارد ، اما آنها را از نظر داخلی تعریف نمی کند.

کار پیوند این است که در هر ماژول ، اشاراتی به نامهای نامشخص برطرف کنید. برای هر نام وارداتی ، تعریف آن در ماژول های دیگر یافت می شود ، ذکر نام با آدرس آن جایگزین می شود.

پیوند دهنده معمولاً نوع و تعداد پارامترهای رویه ها و توابع را بررسی نمی کند. اگر لازم است که ماژول های شیء از برنامه های نوشته شده به زبان های کاملاً تایپ شده ، بررسی های لازم قبل از شروع لینک دهنده ، توسط یک ابزار اضافی انجام شود.

اسمبلر

اسمبلر (از انگلیسی assembler - assembler) - یک برنامه کامپیوتری ، کامپایلر کد منبع برنامه ای است که به زبان مونتاژ به یک برنامه به زبان ماشین نوشته شده است.

مانند خود زبان (اسمبلر) ، اسمبلرها ، به طور معمول ، مختص معماری خاص ، سیستم عامل و نوع نحو زبان هستند. در عین حال ، اسمبلرهای چند پلتفرمی یا کاملاً جهانی (دقیق تر ، محدود-جهانی ، زیرا نوشتن برنامه های مستقل سخت افزاری به زبان کم سطح غیرممکن است) وجود دارد که می توانند بر روی سیستم عامل های مختلف و سیستم عامل ها کار کنند. از میان دومی ، می توان گروهی از مونتاژ کننده های متقابل را نیز که قادر به مونتاژ کد ماشین و ماژول های اجرایی (پرونده ها) برای سایر معماری ها و سیستم عامل ها هستند ، برجسته کرد.

مونتاژ ممکن است اولین و آخرین مرحله در راه رسیدن به یک ماژول برنامه اجرایی نباشد. بنابراین ، بسیاری از کامپایلرها از زبانهای برنامه نویسی سطح بالا ، نتیجه را در قالب یک برنامه زبان مونتاژ تولید می کنند ، که توسط اسمبلر بیشتر پردازش می شود. همچنین ، نتیجه مونتاژ ممکن است اجرایی نباشد ، اما یک ماژول شیء حاوی قسمتهای پراکنده و نامربوط کد ماشین و داده های برنامه ، که از آن (یا از چندین ماژول شی) بعدا می توان با کمک یک برنامه لینک دهنده ("لینک دهنده") پیوند داد. فایل اجرایی.

اشکال زدایی یا اشکال زدایی یک ماژول محیط توسعه یا برنامه جداگانه ای است که برای یافتن خطاها در یک برنامه طراحی شده است. اشکال زدایی به شما امکان می دهد تا گام به گام ردیابی ، نظارت ، تنظیم یا تغییر مقادیر متغیرها در طول اجرای برنامه ، تنظیم و حذف نقاط شکست یا متوقف کردن شرایط و غیره.

لیست اشکال زدایی

1) AQtime یک debugger تجاری برای برنامه های ایجاد شده برای نسخه های NET Framework 1.0 ، 1.1 ، 2.0 ، 3.0 ، 3.5 (از جمله برنامه های ASP.NET) ، و همچنین برای برنامه های Windows 32 و 64 بیتی است.

2) DTrace یک چارچوب ردیابی پویا برای Solaris ، OpenSolaris ، FreeBSD ، Mac OS X و QNX است.

3) نرده برقی اشکال زدایی حافظه است.

4) GNU Debugger (GDB) یک اشکال زدایی برنامه از پروژه گنو است.

5) IDA یک جداسازکننده قدرتمند و دیباگر سطح پایین برای سیستم عامل های ویندوز و لینوکس است.

6) Microsoft Visual Studio محیط توسعه نرم افزار است که شامل ابزارهای اشکال زدایی از مایکروسافت است.

7) OllyDbg یک اشکال زدایی سطح پایین رایگان برای سیستم عامل های ویندوز است.

8) SoftICE یک اشکال زدایی سطح پایین برای سیستم عامل های ویندوز است.

9) Sun Studio یک محیط توسعه نرم افزار از جمله debugger dbx برای سیستم عامل های Solaris و Linux از Sun Microsystems است.

10) دکتر واتسون یک اشکال زدایی استاندارد ویندوز است که به شما امکان می دهد دزدگیر حافظه ایجاد کنید.

11) TotalView یکی از اشکال زدایی های تجاری برای UNIX است.

12) WinDbg اشکال زدایی رایگان مایکروسافت است.

سازنده مستندات - یک برنامه یا بسته نرم افزاری است که به شما امکان می دهد مستندات در نظر گرفته شده برای برنامه نویسان (مستندات API) و / یا برای کاربران نهایی سیستم را ، مطابق با کد منبع کاملاً کاملاً تفسیر شده و در بعضی موارد ، بر روی ماژول های اجرایی (به دست آمده از خروجی کامپایلر) دریافت کنید. ...

معمولاً ژنراتور کد منبع برنامه را تجزیه و تحلیل می کند ، ساختارهای نحوی متناسب با اشیاء مهم برنامه (انواع ، کلاس ها و اعضای آنها / خصوصیات / روش ها ، رویه ها / عملکردها و غیره) را برجسته می کند. این تجزیه و تحلیل همچنین از متا اطلاعات در مورد اشیاء برنامه ارائه شده در قالب مستند سازی نظرات استفاده می کند. بر اساس تمام اطلاعات جمع آوری شده ، مستندات آماده ، به طور معمول ، در یکی از قالبهای عمومی پذیرفته شده - HTML ، HTMLHelp ، PDF ، RTF و دیگران شکل می گیرد.

نظرات مستندات

نظر مستند سازی یک قالب خاص است

بر اساس وظایف محوله به نرم افزار ابزار ، تعداد زیادی از انواع مختلف نرم افزار ابزار قابل تشخیص است:

1) ویرایشگران متن

2) محیط های توسعه یکپارچه

4) کامپایلرها

5) مترجمان

6) پیوند دهنده ها

7) پارسرها و ژنراتورهای تجزیه کننده (به Javacc مراجعه کنید)

8) اسمبلرها

9) اشکال زدایی

10) پروفایل

11) تولید کنندگان اسناد

12) ابزار تجزیه و تحلیل پوشش کد

13) ابزار ادغام مداوم

14) وسایل تست خودکار

15) سیستم های کنترل نسخه و سایر موارد.

لازم به ذکر است پوسته های ایجاد برنامه های کاربردی نیز توسط برنامه های ابزاری ایجاد می شوند و بنابراین می توانند به عنوان برنامه های کاربردی طبقه بندی شوند. بیایید به طور خلاصه هدف برخی از برنامه های ابزار سازی را در نظر بگیریم.

نتیجه

بنابراین ، با خلاصه کردن همه موارد فوق ، لازم به ذکر است که نرم افزارهای ابزاری نوعی نرم افزار است که دارای وظایف و کارکردهای کلی آن است.

با این حال ، به عنوان یک نوع نرم افزار بسیار تخصصی ، مجموعه خاصی از خصوصیات و کارکردهای منحصر به فرد را دارد که راه حلی برای مشکلات ذاتی آن ارائه می دهد.

لازم به ذکر است گرایش نوظهور برای ساده کردن فرایند برنامه نویسی و ایجاد یک زیر کلاس خاص - برنامه نویسی نیمه حرفه ای برای اهداف کاربردی.

این همان چیزی است که به یک کاربر کامپیوتر با تجربه ، اما نه یک برنامه نویس حرفه ای ، اجازه می دهد تا برخی از برنامه ها و فایلهای اجرایی کوچک را در محیط Microsoft Office ایجاد کند ، که در درجه اول برای اهداف حسابداری و مدیریت اسناد در شرکت های کوچک استفاده می شود.

به همین منظور مایکروسافت بسته نرم افزاری ویژوال بیسیک برای برنامه را توسعه داده است که این برنامه را آسان تر می کند و باعث می شود کاربران بتوانند در برنامه نویسی برنامه کاربردی شرکت کنند ، نه برنامه نویسان. این ویژگی در درجه اول با ایجاد بخشی از برنامه - "ویرایشگر اسکریپت" و امکان ضبط و اجرای "ماکرو" به عنوان یک نوع جداگانه اجرا شد. ماژول های قابل برنامه ریزی گرافیکی. امکان ایجاد برنامه های کاربردی با رابط گرافیکی برای MSWindows پیاده سازی شده است. همچنین ، مزیت این نوع نرم افزار ابزار سازی ، نحو ساده آن است ، به شما امکان می دهد که خیلی سریع زبان را یاد بگیرید و از همه برای برنامه نویسی استفاده کنید برنامه های استاندارد Microsoft Office.

بنابراین ، بیش از حد اهمیت ابزار دقیق به طور کلی ، و ویژوال بیسیک برای کاربرد به طور خاص دشوار است ، اگرچه کاستی ها ، همانطور که در بالا گفته شد ، نیز رخ می دهد. اما اینها حتی جنبه های منفی محصول را نشان نمی دهند ، اما رهنمودهایی برای بهبود بیشتر پشتیبانی ابزاری در مواجهه با ویژوال بیسیک برای کاربرد ارائه می دهند.

فهرست منابع مورد استفاده

1. زبانهای الگوریتمی از زمان واقعی / اد. جوان س. / 2004

2. PC مجله PC نسخه №2 2008. امروز رایانه

3. انفورماتیک. / اد. Mogilev A.V.، Pak N.I.، Henner E.K / - M: ACADEMIA، 2000.

4- علوم کامپیوتر و فناوری اطلاعات: کتاب درسی / اد. رومانوا D.Yu. / انتشارات Eksmo ، 2007.

5. جدیدترین دایره المعارف رایانه شخصی / Ed. لئونتیوا V. / مسکو ، 1999. - 271 ص.

6. زبانهای برنامه نویسی جدید و روند توسعه آنها / اد. V. Ushkova / 2001

7. آموزش / اد. Pidkasistogo P.I. / - م.: انجمن معارف روسی ، 2000.

8. برنامه نویسی برای مایکروسافت اکسل 2000 در 21 روز. / اد. هریسا م. / - م.: ویلیامز ، 2000.

9. Simonovich S. انفورماتیک: یک دوره اساسی. کتاب درسی. برای دانشگاه ها سن پترزبورگ ، پیتر ، 2002

10. با اکسل 2000 مشکلی پیش نمی آید. / اد. کوالسکی / - م.: بینوم ، 2000.

11. "کار مؤثر در ویندوز 98" / اد. استینسون K. / 2000. - 247 ص.

12. زبانهای برنامه نویسی. کتاب 5 / اد. واولینا A.S. / 2003

13. زبانهای برنامه نویسی: توسعه و پیاده سازی / اد. Terrence P. / 2001

14. کتاب درسی الکترونیکی علوم کامپیوتر. آلکسیف E.G. http://www.stf.mrsu.ru/economic/lib/Informatics/text/Progr.html\

نرم افزار. به طور دقیق ، تعریف نرم افزار کاربردی شامل تعریف نرم افزار ابزار می باشد ، بنابراین می توان نرم افزار ابزاری را زیر مجموعه جداگانه نرم افزار کاربردی دانست.

سیستم های برنامه نویسی

  • اسمبلرها برنامه های رایانه ای هستند که برنامه ای را به صورت متن منبع به زبان مونتاژ به دستورالعمل های دستگاه در قالب کد شی تبدیل می کنند.
  • مترجمان - برنامه ها یا ابزار فنی که ترجمه برنامه را انجام می دهد.
    • کامپایلرها - برنامه هایی که یک برنامه زبان سطح بالا را در یک برنامه زبان ماشین معادل ترجمه می کنند.
    • مفسر - برنامه هایی (گاهی سخت افزاری) که دستورات یا بیانیه های برنامه را تجزیه کرده و بلافاصله آنها را اجرا می کنند
  • لینک دهنده ها (لینک دهنده ها) برنامه هایی هستند که پیوند برقرار می کنند - آنها یک یا چند ماژول شیء را به عنوان ورودی می گیرند و یک ماژول اجرایی را از آنها ایجاد می کنند.
  • پیش پردازنده های منبع برنامه های رایانه ای هستند که داده های ورودی و خروجی را برای ورودی برنامه دیگری مانند کامپایلر در نظر می گیرند
  • Debugger (اشکال زدایی) - ماژول محیط توسعه یا برنامه جداگانه ای است که برای یافتن خطاها در برنامه طراحی شده است.
  • ویرایشگران متن - برنامه های رایانه ای طراحی شده برای ایجاد و تغییر پرونده های متنی و همچنین مشاهده آنها بر روی صفحه ، چاپ آنها ، جستجوی قطعات متن و غیره.
    • ویرایشگرهای منبع تخصصی - ویراستاران متن برای ایجاد و ویرایش کد منبع برنامه ها. ویرایشگر منبع تخصصی می تواند یک برنامه مستقل باشد یا در یک محیط توسعه یکپارچه (IDE) تعبیه شود.
  • كتابخانه های فرعی - مجموعه ای از زیردریایی ها یا اشیاء مورد استفاده برای توسعه نرم افزار.
  • ویرایشگرهای GUI

ابزارهای ذکر شده می توانند بخشی از محیطهای توسعه یکپارچه باشند

انواع نرم افزار ابزار

  • نمایندگان
  • ابزارهای تحلیل پوشش کد
  • ابزار ادغام مداوم
  • ابزار تست خودکار
  • و غیره.

بنیاد ویکی مدیا. 2010

ببینید "نرم افزار ابزار" در دیکشنری های دیگر:

    نرم افزاری که در تهیه ، تنظیم یا تهیه برنامه های دیگر استفاده می شود: ویرایشگرها ، کامپایلرها ، دیباگرها ، کمکی برنامه های سیستم، بسته های گرافیکی ، و غیره به زبان انگلیسی: ابزارهای نرم افزاری مترادف: …… واژگان مالی

    نرم افزار ابزار - نرم افزار پشتیبانی ؛ نرم افزار پشتیبانی - [L.G. Sumenko. فرهنگ لغت انگلیسی فن آوری اطلاعات انگلیسی. م.: GP TsNIIS ، 2003.] متن های موازی EN RU گزینه های پیکربندی برای همه ... ... راهنمای مترجم فنی

    نرم افزار ابزار ربات - نرم افزاری که به صورت خودکار برای توسعه اجزای نرم افزاری ربات طراحی شده است ... فرهنگ لغت توضیحی اصطلاحات پلی تکنیک

    مجموعه ای از برنامه ها: تهیه پردازش یا انتقال داده؛ طراحی شده برای استفاده های مختلف و استفاده کاربران مختلف. براساس انواع عملکردهای انجام شده نرم افزار تقسیم به سیستم ، کاربردی و ... ... واژگان مالی

    درخواست "نرم افزار" در اینجا هدایت می شود. همچنین سایر معانی را ببینید ... ویکی پدیا

    درخواست "نرم افزار" در اینجا هدایت می شود. سانتی متر. همچنین سایر معانی. نرم افزار (نرم افزار تلفظ توصیه نمی شود ، دقیق تر ، توصیه نمی شود) به همراه سخت افزار ، مهمترین مؤلفه اطلاعات ... ویکی پدیا

    GOST R 51904-2002: نرم افزاری برای سیستم های تعبیه شده. الزامات عمومی برای توسعه و مستندات - اصطلاحات GOST R 51904 2002: نرم افزاری برای سیستم های تعبیه شده. الزامات عمومی برای توسعه و مستند سازی سند اصلی: الگوریتم 3.1: مجموعه ای محدود از قوانین به خوبی تعریف شده که توالی اقدامات را تعریف می کند ... کتاب فرهنگ لغت-مرجع شرایط اسناد هنجاری و فنی

    ابزار - ابزار 3.17: یک برنامه کامپیوتری که به عنوان ابزاری برای توسعه ، آزمایش ، تجزیه و تحلیل ، تولید یا اصلاح سایر برنامه ها یا اسناد روی آنها استفاده می شود.

نرم افزار ابزار سازی نرم افزاری است که قرار است در طراحی ، توسعه و نگهداری برنامه ها مورد استفاده قرار گیرد.

نرم افزار ابزار سازی به طور عمده به عنوان ابزار توسعه نرم افزار کاربردی و سیستم ارائه می شود. همچنین می تواند برای طراحی یا نگهداری از برنامه های آماده در نظر گرفته شود.

نمونه بارز چنین نرم افزاری ، محیط توسعه برنامه - Pascal است. این اغلب در مراحل اولیه برنامه نویسی یادگیری ، که در ابتدا برای آن تدوین شده است ، استفاده می شود. برنامه نویسی باینری ابزار دودویی

بیشتر اوقات ، اساس هر نرم افزاری مجموعه ای از الگوریتم های بهم پیوسته است. الگوریتم ، به نوبه خود ، توصیف روش برای حل مسئله محاسباتی و مشکلات انواع دیگر است. به عبارت دیگر ، این توضیحی است که دقیقاً مشخص می کند که چه روشی باید توسط مجری انجام شود و در چه دنباله ای برای به دست آوردن نتیجه خاص ، از پیش تعیین شده ، به طور واضح و مشخص توسط داده های اولیه مشخص شود.

محیط های برنامه نویسی یکپارچه - سیستمی برای توسعه نرم افزار ، انواع اصلی نرم افزار ابزار را شامل می شود: ویرایشگر متن تخصصی ، مترجم ، لینک دهنده ، دیباگر و کتابخانه.

نمونه هایی از محیط های برنامه نویسی یکپارچه: برای توسعه برنامه های کنسول: Turbo Paskal ، Quick Basic ، Borland C ++ برای توسعه برنامه های Windows: Microsoft Visual C ++ ، Microsoft Visual Basic ، Embarcadero Delphi ، Embarcadero JBuilder

بیایید نمونه ای از طبقه بندی نرم افزارهای ابزاری را ارائه دهیم.

نوع نرم افزار ابزار

وقت ملاقات

ویرایشگران متن تخصصی

برای ایجاد و ویرایش کد برنامه

مترجمان:

برای ترجمه برنامه به کد دستگاه

اسمبلرها

ترجمه یک برنامه به زبان مجمع

Macro Assembler (MASM) ، Turbo Assembler (TASM) - برای پردازنده های x86 ،

کامپایلرها

برای ترجمه یک برنامه به یک زبان سطح بالا (پاسکال ، دلفی ، سی ، بیسیک). ترجمه به طور کامل یک بار انجام می شود. ترجمه یک پرونده ایجاد می کند.

مجموعه کامپایلر گنو (GCU) - برای C ، C ++ ، Java ، Fortran و غیره. کامپایلر رایگان پاسکال (FPS) - برای پاسکال؛ کامپایلر اینتل C ++ (برای C ، C ++ ، Fortran)

مترجمان

برای ترجمه فرمان و اجرای یک برنامه به یک زبان سطح بالا (کلیه زبانهای اسکریپتینگ: VBScript ، JavaScript ، PHP ، Perl ، Python ، Ruby). پرونده ایجاد نشده است

پیوندها (پیوندها ، پیوندها)

برای ساختن اجرایی از پرونده های شی (باینری) پرونده های فردی برنامه ها)

اشکال زدایی (اشکال زدایی)

برای پیدا کردن خطاها در برنامه. آنها به شما اجازه می دهند تا از طریق برنامه گام بردارید ، مقادیر متغیرها را هنگام اجرای برنامه و غیره مشاهده و تغییر دهید.

کتابخانه ها

زنگ

کسانی هستند که این خبر را قبل از شما می خوانند.
برای دریافت آخرین مقالات مشترک شوید.
پست الکترونیک
نام
نام خانوادگی
چگونه می خواهید The Bell را بخوانید
بدون اسپم