"കംപൈലർ" എന്ന താളിന്റെ പതിപ്പുകൾ തമ്മിലുള്ള വ്യത്യാസം

1,043 ബൈറ്റുകൾ നീക്കംചെയ്തിരിക്കുന്നു ,  11 വർഷം മുമ്പ്
(ചെ.)
യന്ത്രം ചേർക്കുന്നു: la:Compilatrum
(ചെ.) (യന്ത്രം ചേര്‍ക്കുന്നു: be-x-old:Кампілятар)
(ചെ.) (യന്ത്രം ചേർക്കുന്നു: la:Compilatrum)
[[ചിത്രം:Compiler.svg|right|thumb|350px|ബഹുഭാഷ-ബഹുലക്ഷ്യ മാതൃകാകം‌പൈലറിന്റെ ചിത്രം]]
 
ഒരു പ്രോഗ്രാമിംഗ് ഭാഷയില്‍ഭാഷയിൽ എഴുതിയിരിക്കുന്ന [[കമ്പ്യൂട്ടര്‍കമ്പ്യൂട്ടർ ‍പ്രോഗ്രാം|പ്രോഗ്രാമിനെ]] വേറെയൊരു ഭാഷയിലുളള അതേ കാര്യക്ഷമതയുളള പ്രോഗ്രാമായിട്ടു മാറ്റുന്നതിനുള്ള കംപ്യൂട്ട‍ര്‍കംപ്യൂട്ട‍ർ പ്രോഗ്രാം ആണ് '''കംപൈലര്‍കംപൈലർ'''. ഏതു ഭാഷയിലുള്ള പ്രോഗ്രാമിനെയാണോ മാറ്റേണ്ടത്, അതിനെ മൂലഭാഷയെന്നും (source language) മാറ്റം വരുത്തിയതിനു ശേഷം കിട്ടുന്ന ഭാഷയെ ലക്ഷ്യഭാഷ(target) എന്നും പറയ്യുന്നു. [[ഉന്നതതലഭാഷ|ഉന്നതതലഭാഷകളെയാണ്]] (high level language) കമ്പൈലറുകളില്‍കമ്പൈലറുകളിൽ മൂലഭാഷയായി സ്വീകരിക്കുന്നത്. സാധാരണയായി കണ്ടുവരുന്ന മൂലഭാഷകള്‍മൂലഭാഷകൾ [[സി]] (C), [[സി++]] (C++), [[ജാവ]] (Java), കോബോള്‍കോബോൾ (Cobol), പാസ്കല്‍പാസ്കൽ (Pascal) എന്നിവയാണ്. ലക്ഷ്യഭാഷകള്‍ലക്ഷ്യഭാഷകൾ ഒരു കംപ്യൂട്ട‍റിന്റെ [[യന്ത്ര തല ഭാഷ|യാന്ത്രിക ഭാഷയോ]], intermediate ഭാഷയോ ആകാം. പരിവര്‍ത്തനംപരിവർത്തനം ചെയ്യുന്നതിനായി മൂലഭാഷയില്‍മൂലഭാഷയിൽ എഴുതിയ പ്രോഗ്രാമിനെ സോഴ്സ് കോഡ് എന്നും കംപൈലറുകളില്‍കംപൈലറുകളിൽ നിന്നു പരിവര്‍ത്തനത്തിനുപരിവർത്തനത്തിനു വിധേയമായി പുറത്തു വരുന്ന ലക്ഷ്യഭാഷയിലുളള പ്രോഗ്രാമിനെ ഒബ്‌ജക്റ്റ് കോഡ് (object-code) എന്നുമാണ് വിളിക്കുന്നത്. ‍
 
കം‌പൈലറുകളെ അവയുടെ നിര്‍മ്മാണരീതിയേയുംനിർമ്മാണരീതിയേയും ധര്‍മ്മത്തേയുംധർമ്മത്തേയും അടിസ്ഥാനമാക്കി സിംഗിള്‍സിംഗിൾ-പാസ്,മള്‍ടിമൾടി-പാസ്,ലോഡ് -ആന്റ്-ഗോ,ഡിബഗ്ഗിങ്,ഒപ്റ്റിമൈസിങ് എന്നിങ്ങനെ വിഭജിക്കാം.
 
== ചരിത്രം ==
1950കളുടെ ആദ്യകാലങ്ങളിൽ തന്നെ കം‌പൈലര്‍കം‌പൈലർ പ്രോഗ്രാമുകള്‍പ്രോഗ്രാമുകൾ എഴുതിത്തുടങ്ങുകയും അവ പരീക്ഷിക്കുകയും പ്രയോഗത്തില്‍പ്രയോഗത്തിൽ വരുത്തുകയും ചെയ്തിരുന്നു.പല കൂട്ടങ്ങളായി സ്വതന്ത്രമായി പലയിടങ്ങളിലായാണ് ഈ പ്രൊഗ്രാമുകള്‍പ്രൊഗ്രാമുകൾ എഴുതിയിരുന്നത് എന്നതിനാല്‍എന്നതിനാൽ ആദ്യ കം‌പൈലര്‍കം‌പൈലർ പ്രോഗ്രാം ഏതെന്നും എന്നാണ് ആദ്യമായി പ്രയോഗത്തിൽ വരുത്തിയത് എന്നും വ്യക്തമല്ല.
 
ആദ്യത്തെ ഫോർട്രാൻ കംപൈലര്‍‍കംപൈലർ‍ 1957-ൽ [[അമേരിക്കന്‍അമേരിക്കൻ ഐക്യനാടുകള്‍ഐക്യനാടുകൾ|അമേരിക്കയിലെ]] [[ഐ.ബി.എം കോര്‍റേഷന്‍കോർറേഷൻ|ഐ.ബി.എം.(IBM) കോര്‍റേഷനിലെകോർറേഷനിലെ]] [[ജോണ്‍ജോൺ ബാക്കസ്]] പ്രയോഗത്തിൽ വരുത്തി. കംപൈലറുകള്‍കംപൈലറുകൾ, നിര്‍മ്മി‍ക്കാന്‍നിർമ്മി‍ക്കാൻ ബുദ്ധിമുട്ടുളള വളരെ സങ്കീര്‍ണ്ണമായസങ്കീർണ്ണമായ പ്രോഗ്രാമുകളാണ്. ഫോർട്രാൻ കംപൈലര്‍കംപൈലർ നിര്‍മ്മിക്കാന്‍നിർമ്മിക്കാൻ തന്നെ 18 വ‍ര്‍ഷങ്ങള്‍വ‍ർഷങ്ങൾ വേണ്ടി വന്നു എന്നതില്‍എന്നതിൽ നിന്നും ഈ സങ്കീര്‍ണതസങ്കീർണത എത്രത്തോളമുണ്ടെന്ന് ഊഹിക്കാം.<ref>Compilers: Principles, Techniques and Tools by Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman (ISBN 0-201-10088-6) link to publisher. Also known as 'The Dragon Book'.</ref>
 
കം‌പൈലറുകളുടെ ആദ്യകാല പ്രവര്‍ത്തനങ്ങളില്‍പ്രവർത്തനങ്ങളിൽ ബീജഗണിത സൂത്രവാക്യങ്ങളെ യാന്ത്രികഭാഷയിലേക്ക് പരിവര്‍ത്തനംപരിവർത്തനം ചെയ്യുക എന്നതായിരുന്നു പ്രധാനം.
== കം‌പൈലറുകളുടെ പശ്ചാത്തലം ==
കം‌പൈലറുകള്‍ക്ക്കം‌പൈലറുകൾക്ക് പുറമെ നിരവധി പ്രോഗ്രാമുകള്‍പ്രോഗ്രാമുകൾ കൃത്യനിര്‍വ്വഹണകൃത്യനിർവ്വഹണ യോഗ്യങ്ങളായ(executable) ലക്ഷ്യപ്രോഗ്രാമുകള്‍ലക്ഷ്യപ്രോഗ്രാമുകൾ ഉണ്ടാക്കുന്നുണ്ട്.മൂലപ്രോഗ്രാം മോഡ്യൂളുകളായി വിഭജിക്കപ്പെട്ട് വിവിധങ്ങളായ [[ഫയല്‍ഫയൽ|ഫയലുകളില്‍ഫയലുകളിൽ]] സൂക്ഷിച്ച് വെക്കുന്നു.വിഭജിക്കപ്പെട്ട ഇത്തരം പ്രൊഗ്രാമുകള്‍പ്രൊഗ്രാമുകൾ ശേഖരിക്കുന്നത് [[പ്രിപ്രൊസസര്‍പ്രിപ്രൊസസർ]] എന്ന വ്യത്യസ്തമായ മറ്റൊരു പ്രോഗ്രാമാണ്.[[മാക്രോസ്]] എന്ന ചുരുക്കെഴുത്തുരൂപങ്ങളെ മൂലപ്രോഗ്രാം പ്രസ്താവനകളിലേക്ക് വികസിപ്പിക്കാനും പ്രിപ്രൊസസര്‍പ്രിപ്രൊസസർ ഉപയോഗിക്കാം.
 
== മാതൃക ==
കം‌പൈലേഷന് പൊതുവില്‍പൊതുവിൽ ഉപയോഗിക്കുന്ന മാതൃകയാണ് [[അനാലിസിസ്-സിന്തെസിസ് മാതൃക]].അനാലിസിസ് ഭാഗം മൂലഭാഷയെ ഘടകഭാഗങ്ങളായിവിഭജിച്ച് മദ്ധ്യവര്‍ത്തിഭാഷമദ്ധ്യവർത്തിഭാഷ നിര്‍മ്മിക്കുന്നുനിർമ്മിക്കുന്നു.ഈ സമയം മൂലപ്രോഗ്രാമിന്റെ കാരകങ്ങള്‍കാരകങ്ങൾ നിര്‍ണയിക്കുകയുംനിർണയിക്കുകയും രേഖപ്പെടുത്തുകയും ചെയ്യുന്നു.ഇത് [[ട്രീ]] എന്നറിയപ്പെടുന്ന അധികാരശ്രേണിയിലാണ് (Hierarchy) നിര്‍വഹിക്കുന്നത്നിർവഹിക്കുന്നത്.ഈ പശ്ചാത്തലത്തില്‍പശ്ചാത്തലത്തിൽ വിശേഷിച്ചുപയോഗിക്കുന്നത് [[സിന്റാക്സ് ട്രീ]] ആണ്.ഇതിലെ ഓരോ [[നോഡ്|നോഡും]] കാരകത്തേയും [[ചിള്‍ഡ്രന്‍ചിൾഡ്രൻ]] കാരകത്തിന്റെ [[ആര്‍ഗ്യുമെന്റ്ആർഗ്യുമെന്റ്|ആര്‍ഗ്യുമെന്റിനേയുംആർഗ്യുമെന്റിനേയും]] പ്രതിനിധീകരിക്കുന്നു. ‍
 
അനാലിസിസ് ഭാഗത്ത് മൂലപ്രോഗ്രാമിനെ കൈകാര്യം ചെയ്യുന്നതിനായി അനവധി സോഫ്റ്റ്വെയര്‍സോഫ്റ്റ്വെയർ ഉപകരണങ്ങള്‍ഉപകരണങ്ങൾ ഉപയോഗിച്ചുവരുന്നു.അവയില്‍അവയിൽ പ്രധാനപ്പെട്ടവ [[സ്ട്രക്‍ചര്‍സ്ട്രൿചർ എഡിറ്ററുകള്]]‍,[[പ്രെറ്റി പ്രിന്ററുകള്‍പ്രിന്ററുകൾ]],[[സ്റ്റാറ്റിക് ചെക്കറുകള്]]‍,[[ഇന്റെര്‍പ്രെറ്ററുകള്‍ഇന്റെർപ്രെറ്ററുകൾ]] എന്നിവയാണ്.
 
സിന്തസിസ് ഭാഗം ലക്ഷ്യഭാഷയെ ഈ മദ്ധ്യവര്‍ത്തിഭാഷയില്‍മദ്ധ്യവർത്തിഭാഷയിൽ നിന്നും നിര്‍മ്മിച്ചെടുക്കുന്നുനിർമ്മിച്ചെടുക്കുന്നു.
== കം‌പൈലര്‍കം‌പൈലർ രൂപകല്പന ==
കം‌പൈലര്‍കം‌പൈലർ രൂപകല്പന ചെയ്യുന്നത് ചെയ്തുതീര്‍ക്കേണ്ടചെയ്തുതീർക്കേണ്ട പ്രവര്‍ത്തിയുടെപ്രവർത്തിയുടെ സങ്കീര്‍ണ്ണതയേയുംസങ്കീർണ്ണതയേയും രൂപകല്പന ചെയ്യുന്നയാളുടെ പ്രവൃത്തിപരിചയവും ഉപകരണങ്ങള്‍ഉപകരണങ്ങൾ തുടങ്ങിയ റിസോഴ്സുകളേയും അടിസ്ഥാനമാക്കി ആണ് .
=== ഏകപാസ്,ബഹുപാസ് കം‌പൈലറുകള്‍കം‌പൈലറുകൾ ===
കം‌പൈലിങില്‍കം‌പൈലിങിൽ അനവധി പ്രവൃത്തികള്‍പ്രവൃത്തികൾ ചെയ്യുന്നുണ്ട്.ആദ്യകാല കം‌പൈലറുകള്‍കം‌പൈലറുകൾ എല്ലാ പ്രവൃത്തികളും ചെയ്യുന്ന പ്രോഗ്രാമുകളായിരുന്നു.എന്നാല്‍എന്നാൽ ഇത്തരമൊരു പ്രോഗ്രാമിനെ സൂക്ഷിച്ചുവെക്കാന്‍സൂക്ഷിച്ചുവെക്കാൻ പാകത്തിലുള്ള [[മെമ്മറി]] ഉണ്ടായിരുന്നില്ല.ആയതിനാല്‍ആയതിനാൽ ചെറിയ ചെറിയ പ്രോഗ്രാമുകളാക്കി വിഭജിച്ച് ഓരോ പ്രോഗ്രാമും മൂലപ്രോഗ്രാമിനെ ചില വിശകലനങ്ങള്‍ക്കുംവിശകലനങ്ങൾക്കും പരിഭാഷപ്പെടുത്തലിനും വിധേയമാക്കുന്നു. ഒരു പാസില്‍പാസിൽ തന്നെ കം‌പൈലിങ് നടത്തുന്നതുകൊണ്ട് പ്രവൃത്തിയെ അത് ലളിതമാക്കുന്നു എന്നൊരു ഗുണമുണ്ട്.കൂടാതെ ഇവ ബഹുപാസ് കം‌പൈലറുകളേക്കാള്‍കം‌പൈലറുകളേക്കാൾ വേഗത കൂടിയവയായിരിക്കും. പാസ്കല്‍പാസ്കൽ എന്ന പ്രോഗ്രാമിങ് ഭാഷ ഒരു പാസില്‍പാസിൽ കം‌പൈലേഷന്‍കം‌പൈലേഷൻ നടത്താന്‍നടത്താൻ സാധിക്കുന്ന രീതിയിലാണ് രൂപകല്പന ചെയ്തിരിക്കുന്നത്.എന്നാല്‍എന്നാൽ ഇതിന്റെ പ്രധാന അഹിതം ഉന്നതനിലവാരമുള്ള കോഡുകള്‍കോഡുകൾ ഉല്പാദിപ്പിക്കാനാവശ്യമായ സങ്കീര്‍ണ്ണങ്ങളായസങ്കീർണ്ണങ്ങളായ അനുകൂലനങ്ങള്‍അനുകൂലനങ്ങൾ(optimisation) ചെയ്യുന്നില്ല എന്നതാണ്.
 
എന്നാല്‍എന്നാൽ ബഹുപാസ് കംപൈലറുകള്‍കംപൈലറുകൾ അതിന്റെ അവസാന പാസില്‍പാസിൽ നിന്നാണ് യാന്ത്രികഭാഷാകോഡുകള്‍യാന്ത്രികഭാഷാകോഡുകൾ ഉല്പാദിപ്പിക്കുന്നത്.
 
== പ്രവ‍ർത്തനം ==
== പ്രവ‍ര്‍ത്തനം ==
കംപൈലറുകള്‍കംപൈലറുകൾ രണ്ടു ഭാഗങ്ങളായി കണക്കാക്കാവുന്നതാകുന്നു - മുന്‍ഭാഗവുംമുൻഭാഗവും (front-end) പിന്‍‍ഭാഗവുംപിൻ‍ഭാഗവും (back-end). മുന്‍ഭാഗംമുൻഭാഗം മൂലഭാഷയെ കുറിച്ചുളള കാര്യങ്ങള്‍കാര്യങ്ങൾ നോക്കുമ്പോള്‍നോക്കുമ്പോൾ പിന്‍ഭാഗംപിൻഭാഗം ലക്ഷ്യഭാഷയുടെ സവിഷേതകള്‍സവിഷേതകൾ അനുസരിച്ചു പ്രവര്‍ത്തിക്കുന്നുപ്രവർത്തിക്കുന്നു. ഇവ തമ്മിലുളള ആശയവിനിമയം ഒരു ഇടനില (intermediate) ഭാഷയിലൂടെ നടത്തുന്നു. രണ്ടു ഭാഗങ്ങളായി തിരിക്കുന്നതുകൊണ്ടു താഴെപ്പറയുന്ന ഗുണങ്ങളുണ്ട്
*കംപൈലറുകളുടെ പോര്‍ട്ടബിലിറ്റിപോർട്ടബിലിറ്റി (portability) അഥവാ വിവിധ തരം കംപ്യൂട്ടറുകളില്‍കംപ്യൂട്ടറുകളിൽ ഓടാനുളള കഴിവ് വര്‍ദ്ധിക്കുന്നുവർദ്ധിക്കുന്നു.
*ഭാഷയില്‍ഭാഷയിൽ ഉണ്ടാവുന്ന പുതിയ മാറ്റങ്ങള്‍മാറ്റങ്ങൾ ഉള്‍ക്കൊളളാനുളളഉൾക്കൊളളാനുളള കഴിവ് വര്‍ദ്ധിക്കുന്നുവർദ്ധിക്കുന്നു.
*കംപൈറില്‍കംപൈറിൽ ഉണ്ടാവാവുന്ന [[കമ്പ്യുട്ടര്‍കമ്പ്യുട്ടർ ബഗ്ഗ്|ബഗ്ഗുകള്‍ബഗ്ഗുകൾ]] കാര്യമായി കുറയുന്നു.
=== മുന്‍ഭാഗംമുൻഭാഗം ===
കമ്പൈലറിന്റെ മുന്‍ഭാഗത്തെമുൻഭാഗത്തെ നാല് ഉപഭാഗങ്ങളായി വേ‍ര്‍തിരിക്കാംവേ‍ർതിരിക്കാം
#[[ലെക്സിക്കല്‍ലെക്സിക്കൽ അനലൈസ‍ര്‍അനലൈസ‍ർ]] (lexical analyser) - മൂലഭാഷയിലെ കണികകളെ തിരിച്ചറിയാനും അവയിലെ അക്ഷരപിശകുകള്‍അക്ഷരപിശകുകൾ കണ്ടെത്താനും ഈ ഭാഗം ഉപകാരപ്പെടുന്നു.ഈ ഭാഗത്തെ [[സ്കാനര്‍സ്കാനർ]](scanner)എന്നും പറയും.
#സിന്റാറ്റിക്ക് അനലൈസ‍ര്‍അനലൈസ‍ർ (syntatic analyser) - മൂലഭാഷയുടെ വ്യാകരണമുപയോഗിച്ചു ലെക്സിക്കല്‍ലെക്സിക്കൽ അനലൈസ‍റില്‍അനലൈസ‍റിൽ നിന്നു ലഭിക്കുന്ന കണികകളെ വാക്യങ്ങളായി യോജിപ്പിക്കുകയും വ്യാകരണതെറ്റുകള്‍വ്യാകരണതെറ്റുകൾ കണ്ടെത്തുകയും അവ തിരുത്താന്‍തിരുത്താൻ പ്രോഗ്രാമറെ സഹായിക്കുകയും ചെയ്യുന്നു. ഈ ഭാഗത്തെ [[പാര്‍സര്‍പാർസർ]](parser) എന്നും വിളിക്കാറുണ്ട്.
#[[സെമാന്റിക്ക് അനലൈസ‍ര്‍അനലൈസ‍ർ]] (semnatic analyser) - ഈ ഭാഗം വാക്യങ്ങളെ കൂട്ടിവായിക്കുകയും അവയുടെ അര്‍ത്ഥംഅർത്ഥം ഗ്രഹിക്കുകയും ചെയ്യുന്നു.
#ഇടനില ഭാഷാനിര്‍മ്മാണംഭാഷാനിർമ്മാണം(intermediate code generator) - മുന്‍ഭാഗത്തെമുൻഭാഗത്തെ പ്രവര്‍ത്തനങ്ങളുടെപ്രവർത്തനങ്ങളുടെ അവസാനത്തെ പടിയാണ് ഇത്. ഇവിടെ നേരത്തെ ഗ്രഹിച്ച പ്രോഗ്രാമിനെ ഒരു ലളിതമായ ഇടനില ഭാഷയില്‍ഭാഷയിൽ എഴുതുന്നു. ഈ ഭാഷ രണ്ടു ഭാഗങ്ങള്‍ക്കുംഭാഗങ്ങൾക്കും സൗക‍ര്യപ്രദമായ ഒന്നായാല്‍ഒന്നായാൽ മതി.
 
=== പിന്‍ഭാഗംപിൻഭാഗം ===
പിന്‍ഭാഗത്തിന്റെപിൻഭാഗത്തിന്റെ പ്രവര്‍ത്തനങ്ങള്‍പ്രവർത്തനങ്ങൾ രണ്ടായി തിരിക്കാം.
#ഒപ്റ്റിമൈസേഷന്‍ഒപ്റ്റിമൈസേഷൻ (optimisation) - ആവശ്യമില്ലാത്തതും , രണ്ടു പ്രാവശ്യമുളളതുമായ ആജ്ഞകള്‍ആജ്ഞകൾ നീക്കം ചെയ്യുകയും, ക്രമം മാറ്റി തിരുത്തുകയും, കൂടുതല്‍കൂടുതൽ കാര്യക്ഷമതയുളള ആജ്ഞാശേഖരങ്ങായി രൂപാന്തരപ്പെടുത്തുകയും മറ്റുമാണ് ഈ ഭാഗം ചെയ്യുന്നത്.
#കോഡ് നിര്‍മ്മാണംനിർമ്മാണം (code generation) -ലക്ഷ്യഭാഷയിലേക്കുളള വിവര്‍ത്തനംവിവർത്തനം - കാര്യക്ഷമമാക്കിയ ഇടനില ഭാഷാവാക്യങ്ങളെ കോഡ് ജെനറേറ്റര്‍ജെനറേറ്റർ [[യന്ത്രതലഭാഷ|യാന്ത്രിക ഭാഷയായി]] മാറ്റുന്നു. ഇവിടെയും യാന്ത്രിക ഭാഷയുടെ സവിശേഷതകള്‍സവിശേഷതകൾ പരിഗണിച്ചു ചെറിയ ഒപ്റ്റിമൈസേഷന്‍ഒപ്റ്റിമൈസേഷൻ നടത്തുന്നു.
 
== നിർമ്മാണം ==
== നിര്‍മ്മാണം ==
കംപൈലറുകളുടെ നിര്‍മ്മാണംനിർമ്മാണം ഇപ്പോള്‍ഇപ്പോൾ താരതമ്യേനെ എളുപ്പമായി തീര്‍ന്നിരിക്കുന്നുതീർന്നിരിക്കുന്നു. [[പാര്‍സറുംപാർസറും]] [[സ്കാനറും]] സ്വയം ഉണ്ടാക്കുന്ന ഉപകര‍ണ്ണങ്ങള്‍ഉപകര‍ണ്ണങ്ങൾ ഇപ്പോള്‍ഇപ്പോൾ ലഭ്യമാണ്. ലെക്സ് (Lex),യാക്ക് (yacc) , ജെ ലെക്സ് (jlex) , കപ് (cup) എന്നിവയാണ‍് അവയില്‍അവയിൽ ചിലത്. ഒരോ ഭാഗവും സ്വതന്ത്ര മോഡ്യൂളുകളായി(modules) നിര്‍മ്മിച്ചാല്‍നിർമ്മിച്ചാൽ അവ അങ്ങോട്ടും ഇങ്ങോട്ടും മാറ്റി വിവിധയിനം കംപൈലറുകള്‍കംപൈലറുകൾ ഉണ്ടാക്കാവുന്നതാണ്.
== അവലംബം ==
*Principles of Compiler Design ലേഖകര്‍ലേഖകർ Aho.A.V and Ullman J.D---Narosa1977
*Compilers: Principles, Techniques and Tools by Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman (ISBN 0-201-10088-6) link to publisher. Also known as 'The Dragon Book'.
 
== അവലംബം ==
<references/>
== കുറിപ്പുകൾ ==
== കുറിപ്പുകള്‍ ==
<div class="references-small" style="-moz-column-count:2; column-count:2;"> </div>
 
{{Comp-sci-stub|Compiler}}
 
[[വർഗ്ഗം:കംപൈലറുകൾ]]
[[വര്‍ഗ്ഗം:കംപൈലറുകള്‍]]
[[വര്‍ഗ്ഗംവർഗ്ഗം:കംപൈലര്‍കംപൈലർ തിയറി]]
[[വർഗ്ഗം:കമ്പ്യൂട്ടർ ലൈബ്രറികൾ]]
[[വര്‍ഗ്ഗം:കമ്പ്യൂട്ടര്‍ ലൈബ്രറികള്‍]]
 
[[af:Vertalerkonstruksie]]
[[ka:კომპილატორი]]
[[ko:컴파일러]]
[[la:Compilatrum]]
[[lt:Kompiliatorius]]
[[lv:Kompilators]]
29,349

തിരുത്തലുകൾ

"https://ml.wikipedia.org/wiki/പ്രത്യേകം:മൊബൈൽവ്യത്യാസം/650649" എന്ന താളിൽനിന്ന് ശേഖരിച്ചത്