ተሰብሳቢ vs ኮምፕሌር
በአጠቃላይ ማጠናቀር ማለት በአንድ ቋንቋ የተጻፈን ፕሮግራም በማንበብ ወደ ሌላ ቋንቋ ተርጉሞ ዒላማ ቋንቋ ተብሎ የሚጠራ ፕሮግራም ነው። በተለምዶ፣ የምንጭ ቋንቋ እንደ C++ ያለ ከፍተኛ ደረጃ ቋንቋ ነበር እና ኢላማ ቋንቋ እንደ መሰብሰቢያ ቋንቋ ያለ ዝቅተኛ ደረጃ ቋንቋ ነበር። ነገር ግን በስብሰባ ቋንቋ የተፃፈውን የምንጭ ፕሮግራም ወደ ማሽን ኮድ ወይም ዕቃ ኮድ የሚቀይሩ አቀናባሪዎች አሉ። አሰባሳቢዎች እንደዚህ አይነት መሳሪያዎች ናቸው. ስለዚህ ሁለቱም ሰብሳቢዎች እና አቀናባሪዎች በመጨረሻ በማሽን ላይ በቀጥታ ሊተገበሩ የሚችሉ ኮድ ያዘጋጃሉ።
አቀናባሪ ምንድነው?
ኮፒለር በአንድ ቋንቋ የተጻፈን ፕሮግራም እያነበበ ወደ ሌላ ቋንቋ ተርጉሞ ኢላማ ቋንቋ ተብሎ የሚጠራ ፕሮግራም ነው። መብዛሕትኡ ግዜ፡ ምንጪ ቛንቕ ቕንቕ ቛንቕ ቕንቕ ቕንቕ ቕንቕ ቕንቕ እዩ። ስለዚህ በአጠቃላይ አቀናባሪዎች ከአንድ ቋንቋ ወደ ሌላ ቋንቋ የሚተረጉሙ እንደ ተርጓሚዎች ሊታዩ ይችላሉ. በተጨማሪም, አቀናባሪዎች ለኮዱ አንዳንድ ማሻሻያዎችን ያከናውናሉ. አንድ የተለመደ ኮምፕሌተር ከበርካታ ዋና ዋና ክፍሎች የተሠራ ነው. የመጀመሪያው አካል ስካነር ነው (የቃላት ተንታኝ በመባልም ይታወቃል)። ስካነር ፕሮግራሙን ያነባል እና ወደ ቶከኖች ሕብረቁምፊ ይለውጠዋል። ሁለተኛው አካል ተንታኝ ነው. የቶከኖችን ሕብረቁምፊ ወደ የትንታ ዛፍ (ወይም ረቂቅ አገባብ ዛፍ) ይለውጣል፣ እሱም የፕሮግራሙን አገባብ መዋቅር ይይዛል። የሚቀጥለው አካል የአገባብ አወቃቀሩን ፍቺ የሚተረጉም የትርጓሜ ሂደቶች ናቸው። የኮድ ማሻሻያዎች እና የመጨረሻው ኮድ ማመንጨት ይህንን ይከተላሉ።
አሰባሳቢ ምንድነው?
Assembler የመሰብሰቢያ ቋንቋን ወደ ማሽን ኮድ የሚተረጎም ሶፍትዌር ወይም መሳሪያ ነው። ስለዚህ ሰብሳቢው የማጠናቀሪያ አይነት ሲሆን የምንጭ ኮዱ የተፃፈው በስብሰባ ቋንቋ ነው። መገጣጠም የሰው ሊነበብ የሚችል ቋንቋ ነው ነገር ግን በተለምዶ ከሚዛመደው የማሽን ኮድ ጋር የአንድ ለአንድ ግንኙነት አለው። ስለዚህ ሰብሳቢው ኢሶሞርፊክ (ከአንድ ለአንድ የካርታ ስራ) ትርጉም ይሰራል ተብሏል። የላቁ ሰብሳቢዎች የፕሮግራም ልማት እና ማረም ሂደቶችን የሚደግፉ ተጨማሪ ባህሪያትን ይሰጣሉ። ለምሳሌ፣ ማክሮ ሰብሳቢዎች የሚባሉት የማክሮ ፋሲሊቲዎችን ያቀርባል።
በአሰባሳቢ እና በአቀናባሪ መካከል ያለው ልዩነት ምንድን ነው?
ኮፒለር በአንድ ቋንቋ የተጻፈን ፕሮግራም በማንበብ ወደ ሌላ ቋንቋ የሚተረጎም የኮምፒዩተር ፕሮግራም ሲሆን ተሰብሳቢው ግን የመሰብሰቢያ ቋንቋን ብቻ ወደ ማሽን ኮድ የሚተረጎም ልዩ የማጠናቀሪያ አይነት ተደርጎ ሊወሰድ ይችላል። አቀናባሪዎች ብዙውን ጊዜ የማሽኑን ማስፈጸሚያ ኮድ በቀጥታ ከከፍተኛ ደረጃ ቋንቋ ያዘጋጃሉ፣ ነገር ግን ተሰብሳቢዎች በማሽን ላይ ለመስራት አገናኝ ፕሮግራሞችን በመጠቀም መገናኘት ያለበትን የነገር ኮድ ያዘጋጃሉ።የመሰብሰቢያ ቋንቋ ከማሽን ኮድ ጋር አንድ ለአንድ ካርታ ስላለው፣ አፈጻጸም በጣም አስፈላጊ በሆነባቸው አጋጣሚዎች (ለምሳሌ ግራፊክስ ሞተሮች፣ ከግል ኮምፒዩተር ጋር ሲነፃፀሩ ውስን የሃርድዌር ሃብቶች ያላቸው የተከተቱ ሲስተሞች) በጣም ቀልጣፋ በሆነ መንገድ የሚሰራ ኮድ ለመስራት ሰብሳቢው ሊያገለግል ይችላል። እንደ ማይክሮዌቭ፣ የልብስ ማጠቢያ ማሽን፣ ወዘተ)።