Što je kompilator je opis

Ako tek počinjete studirati programiranje ili ste samo zainteresirani za ovaj problem, vjerojatno imate zagonetnu riječ "prevodilac" na vašim očima. Ova vrsta strašnog koncepta može uplašiti ljude. U ovom članku pokušat ćemo shvatiti je li sve strašno. Što je kompajler?

Definicija i povijest pojavljivanja

Jednostavnim riječima, prevodilac je aplikacija koja pretvara tekst programa koji je napisao korisnik u oblik koji je pogodan za izvršavanje na računalu.


Postoje takvi programi, zajedno s rođenjem prvih programskih jezika. To se dogodilo krajem 50-ih. Ispada da povijest koja je povezana s kompajlerima i programskim jezicima ima više od šest desetljeća. Unatoč tako ozbiljnom razdoblju, ovaj se smjer informatike ni na koji način ne može nazvati zastarjelim ili uspostavljenim. Naprotiv, s vremenom, s pojavom novih industrija i zadataka za koje se koriste računala, postoji potreba za razvojem novih, prikladnijih programskih jezika. Prema tome, ovi jezici zahtijevaju prevodioce. Windows, Linux, MacOS - za svaku platformu postoje vlastiti razvoj.

Načelo rada

Izvorni tekst, koji je programer napisao na jeziku visoke razine, pretvara se u program na posebnom strojnom jeziku. Rezultirajući kod se zove izvršni program. Može se instalirati i pokrenuti na bilo kojem računalu bez daljnjih promjena.


Jednostavno, ali teško

Tradicionalno, kompajleri u računalnoj znanosti su jedna od osnovnih stvari zajedno s operativnim sustavima, kao i bazama podataka. Što je kompajler? To je u određenom smislu osnova računalne znanosti. S druge točke gledišta, sama tema stvaranja takvih programa uključuje veliki broj teorijskih i tehnoloških aspekata koji su povezani s programiranjem. Mnogi programeri vjeruju da je ova tema općenito najatraktivnija u svim računalnim znanostima. Kada programer razvije program koji rješava određeni zadatak, on ga piše na određenom jeziku. U procesu razvoja djeluje pojmove koji su bliski području s kojim se morate nositi. Računalo ne razumije što mu čovjek govori. On može razumjeti samo u prilično jednostavnim stvarima koje mogu uključivati ​​brojeve i varijable, stanice i registre, trajnu i privremenu memoriju. Što je kompajler? To je program čiji je zadatak prevesti koncepte koji su bliski predmetnom području nositelja koncepta koji može manipulirati računalom. To je zadatak Java kompilatora ili bilo kojeg drugog programskog jezika. Kod svakog pojavljivanja novog jezika, potrebno je prevesti kod napisan na njemu u vrstu koja može razumjeti računalo. Inače to neće učiniti. Uostalom, uvijek postoji semantički jaz između pojmova čovjeka i računala. To je upravo za njega da prevlada i dodijeli kompajlere za programski jezik.

Poteškoće u stvaranju

Tvorci takvih programa suočavaju se s nizom problema. To su znanstveni problemi koji su povezani s ispravnim razmišljanjemrazumjeti područje primjene. To su inženjerski i tehnološki problemi povezani s provedbom ovog razmišljanja. Zadatak stvaranja kompilatora sastoji se od raznih heterogenih zadataka. To je komplicirana, ali vrlo fascinantna industrija, posvećena životu mnogih programera. I ispričavam se.

Klasa i prevodilac

Vjerojatno su mnogi ljudi čuli za jezike poput C i C ++. Uostalom, oni su među najpopularnijim i najčešćim. To su vrlo ozbiljni programski jezici koji sadrže moćne koncepte koji su prikladni za odražavanje pojma područja primjene u kojima programeri rade. Na primjer, postoji pojam klasa, funkcija. Oni su temeljni za mnoge jezike, ali za C ++ oni su osobito karakteristični. Mnogo je pogodnije za programera da kreira modele pomoću takvih koncepata. C kompajler za Windows ili drugi operativni sustav pomaže prikazati takve stvari visoke razine u obliku koji računalo razumije. Tek tada će moći manipulirati njima. Bilo koje računalo, bez obzira koliko je to moćno i složeno, radi s vrlo jednostavnim konceptima. Ali koncept klase je težak, jer je uz njegovu pomoć vrlo pogodno prikazati mnoge stvari iz stvarnog života. Kompajler pretvara složene koncepte u primitivne.

Razvoj kompilatora kao djelo

U posljednjih nekoliko godina, uočen je trend kada svaka velika tvrtka za informacijsku tehnologiju proizvodi vlastiti programski jezik, koji se zatim prebacuje na širi raspon programera. Naravno, za svaki jezik je potrebnoprevodilac. I tvrtke ih obično stvaraju zajedno s jezicima. Ali postoji i veliki broj nezavisnih programera i tvrtki koji iz nekog razloga žele imati kompilatore na vlastitom jeziku ili razvijaju nove jezike i, prema tome, kompajleri za njih. Može se slobodno reći da stručnjak koji se posvetio ovom području sigurno neće ostati bez posla. Dakle, sada bi trebalo biti jasno što je kompajler. Riječ je o prevoditeljskom programu između developera i računala, bez kojeg nema ničega na području računalne znanosti.

Povezane publikacije