რა არის კომპილერი, ან როგორ გავაგებინოთ კომპიუტერს რა გსურთ მისგან?

Სარჩევი:

რა არის კომპილერი, ან როგორ გავაგებინოთ კომპიუტერს რა გსურთ მისგან?
რა არის კომპილერი, ან როგორ გავაგებინოთ კომპიუტერს რა გსურთ მისგან?

ვიდეო: რა არის კომპილერი, ან როგორ გავაგებინოთ კომპიუტერს რა გსურთ მისგან?

ვიდეო: რა არის კომპილერი, ან როგორ გავაგებინოთ კომპიუტერს რა გსურთ მისგან?
ვიდეო: Архитектура ЭВМ | Основы Операционных Систем | 05 2024, მაისი
Anonim

პროგრამის შექმნის საბოლოო ეტაპი არის პროგრამირების ერთ-ერთ ენაზე (C/C++, Pascal და ა.შ.) დაწერილი ალგორითმის თარგმნა დაბალი დონის მანქანა ენაზე. ეს გამოწვეულია იმით, რომ ნებისმიერი დავალების შესასრულებლად კომპიუტერებს უნდა მიეცეთ ბრძანებები მათთვის გასაგებ ენაზე, ბინართან ახლოს და ფუნქციონირებს მონაცემთა პრიმიტიული სტრუქტურებით (ბიტი, ბაიტი ან სიტყვა). მაღალი დონის ენების დომენის სპეციფიკური განცხადებების ბინარულ კოდში თარგმნის პროცესს ეწოდება თარგმანი. არსებობს თარგმანის ორი მეთოდი - შედგენა და ინტერპრეტაცია.

შემდგენელი არის
შემდგენელი არის

შემდგენელი - რა არის ეს?

ტერმინების "შემდგენელი" და "კომპილაციის" მრავალი ინტერპრეტაციის ანალიზი საშუალებას გვაძლევს გამოვყოთ შემდეგი განმარტება. შემდგენელი არის პროგრამა, რომელიც შექმნილია წყაროს ალგორითმის ტექსტის გადასათარგმნად მაღალი დონის ენიდან ინსტრუქციების ექვივალენტურ კომპლექტში მანქანაზე ორიენტირებულ ენაზე. ეს არის ეგრეთ წოდებული ობიექტის კოდი, შედეგად მიღებული ობიექტის კოდის შემდგომი შეკრებისთვის მზა პროგრამის მოდულში.

შემდგენელი და თარჯიმანი - მსგავსებები და განსხვავებები

თარჯიმანი არის უტილიტა, რომელიცასევე შემდგენელი, რომელიც შექმნილია წყაროს კოდის მანქანურ კოდში გადასათარგმნად. თუმცა, შემდგენლისგან განსხვავებით, თარჯიმანი მუშაობს ყოველ ჯერზე პროგრამით და ასრულებს თარგმანს სტრიქონ-ხაზად.

შეიძლება ითქვას, რომ შემდგენელი და თარჯიმანი არის ენის პროცესორები, რომლებიც კომპიუტერს საშუალებას აძლევს ამოიცნოს და შეასრულოს პროგრამისტის მიერ მიცემული ბრძანებები.

შემდგენელი კლასიფიკაცია

შემდგენელი არის პროგრამა
შემდგენელი არის პროგრამა

შემდგენლები კლასიფიცირდება ძირითადად მათი პრაქტიკული გამოყენების სფეროებთან დაკავშირებული მახასიათებლებით.

Vectorizing compiler არის პროგრამა, რომელიც თარგმნის წყაროს კოდს ობიექტის კოდში და ადაპტირებულია ვექტორული პროცესორებით აღჭურვილი კომპიუტერებისთვის.

მოქნილი შემდგენელი დაპროგრამებულია მაღალი დონის ენაზე მოდულარული ფორმით. მისი მართვა ხორციელდება ცხრილების გამოყენებით. ასევე შესაძლებელია მისი შესრულება კომპილატორების შემდგენელის გამოყენებით.

ინკრემენტული შემდგენელი არის ენის პროცესორი, რომელიც ხელახლა თარგმნის წყაროს კოდის ცალკეულ ფრაგმენტებს და მასში დამატებებს. თუმცა, ის თავს არიდებს მთელი აპლიკაციის ხელახლა კომპილაციას.

ინტერპრეტაციული (საფეხურიანი) შემდგენელი არის პროგრამა, რომელიც თანმიმდევრულად ახორციელებს მაღალი დონის წყაროს კოდის თითოეული განცხადების ან ბრძანების დამოუკიდებელ კომპილაციას.

შემდგენელი არის თარჯიმანი, რომელსაც შეუძლია მიიღოს პროგრამირების ენის ოფიციალური აღწერა და დამოუკიდებლად შექმნას კომპილერი ნებისმიერი ენისთვის.

შემდგენელი და თარჯიმანი
შემდგენელი და თარჯიმანი

გამართვის შემდგენელი გაძლევთ საშუალებას იპოვოთ და გამოასწოროთ ზოგიერთი სახის სინტაქსის შეცდომები, რომლებიც დაშვებულია წყარო კოდის დაწერისას

რეზიდენტი შემდგენელი იკავებს მუდმივ ადგილს RAM-ში და, შესაბამისად, ხელახლა გამოიყენება ამოცანების ფართო სპექტრით.

თვითშედგენილი შემდგენელი იწერება იმავე ენაზე, როგორც თარგმანი.

უნივერსალური შემდგენელი ეფუძნება შეყვანის ენის სემანტიკური და სინტაქსური პარამეტრების ფორმალურ აღწერას. ასეთი უტილიტის ძირითადი კომპონენტებია ძირითადი, სინტაქსური და სემანტიკური ჩამტვირთავი.

შემდგენელი მოწყობილობა

შემდგენელი და ლინკერი არის ნებისმიერი შემდგენელის გულში. ხშირად, კომპილაციისას გამოიყენება გარე ლინკერი და თავად შემდგენელი ასრულებს მხოლოდ თარგმნის ფუნქციას. ასევე ხდება, რომ შემდგენელი დანერგილია როგორც ერთგვარი მენეჯერული პროგრამა, რომელიც ასოცირდება მთარგმნელთან (ან მთარგმნელთან, თუ წყაროს კოდის დაწერისას გამოიყენებოდა სხვადასხვა პროგრამირების ენა) და ლინკერთან და იწყებს მათ შესრულებას საჭიროების შემთხვევაში.

პროგრამირების ენები და თარგმანის მეთოდები

ენის შემდგენელი
ენის შემდგენელი

მიუხედავად იმისა, რომ ნებისმიერ პროგრამირების ენაზე დაწერილი პროგრამა შეიძლება იყოს შედგენილი და ინტერპრეტირებული, ბევრ მაღალი დონის ენას აქვს მიდრეკილება თარგმანის ამა თუ იმ მეთოდის მიმართ. ასე რომ, C ენა თავდაპირველად შეიქმნა კომპილაციისთვის, ხოლო Java - წერილობითი პროგრამის ინტერპრეტაციისთვის. ვითარდებაC კომპილატორები საკმაოდ მარტივია, შედარებით დაბალი დონისა და სტრუქტურული ელემენტების მცირე რაოდენობის წყალობით.

შემდგენელებისა და თარჯიმნების უპირატესობები და უარყოფითი მხარეები. აპლიკაციები

გაითვალისწინეთ, რომ კომპილირებული აპლიკაციები უფრო სწრაფია, ვიდრე ინტერპრეტირებული, მაგრამ ამავე დროს, კომპილაციის შედეგად მიღებული მანქანის კოდი დამოკიდებულია აპარატურულ პლატფორმაზე. ასე რომ, Windows-ისთვის დაწერილი და შედგენილი პროგრამა არ იმუშავებს, მაგალითად, Linux-ში. ამიტომ, ინტერნეტ აპლიკაციების შემთხვევაში, როდესაც წინასწარ შეუძლებელია იმის თქმა, თუ რომელ გარემოში იმუშავებენ, იყენებენ ინტერპრეტაციას ან ბაიტეკოდს (ამ შემთხვევაში, წყაროს პროგრამა გარდაიქმნება შუალედურ ფორმაში, რომელიც შეიძლება შესრულდეს სხვადასხვა აპარატურაზე. პლატფორმები).

გირჩევთ: