Reserved word
કોમ્પ્યુટર ભાષામાં, આરક્ષિત શબ્દ (જેને આરક્ષિત ઓળખકર્તા તરીકે પણ ઓળખવામાં આવે છે) એ એક એવો શબ્દ છે જેનો ઉપયોગ ઓળખકર્તા તરીકે કરી શકાતો નથી, જેમ કે ચલ, કાર્ય અથવા લેબલનું નામ-તે "ઉપયોગથી આરક્ષિત" છે. આ વાક્યરચનાત્મક વ્યાખ્યા છે, અને આરક્ષિત શબ્દનો કોઈ વપરાશકર્તા-નિર્ધારિત અર્થ હોઈ શકતો નથી. નજીકથી સંબંધિત અને ઘણીવાર સંમિશ્રિત કલ્પના એ મુખ્ય શબ્દ છે, જે ચોક્કસ સંદર્ભમાં વિશેષ અર્થ ધરાવતો શબ્દ છે. આ એક સિમેન્ટીક વ્યાખ્યા છે. તેનાથી વિપરીત, પ્રમાણભૂત પુસ્તકાલયમાં નામો કે જે ભાષામાં નથી, તેને આરક્ષિત શબ્દો અથવા મુખ્ય શબ્દો ગણવામાં આવતા નથી. "આરક્ષિત શબ્દ" અને "મુખ્ય શબ્દ" શબ્દોનો ઉપયોગ ઘણીવાર એકબીજાના બદલે થાય છે-કોઈ એવું કહી શકે છે કે આરક્ષિત શબ્દ "મુખ્ય શબ્દ તરીકે ઉપયોગ માટે આરક્ષિત છે"-અને ઔપચારિક ઉપયોગ ભાષા પ્રમાણે બદલાય છે. આ લેખ માટે, અમે ઉપર મુજબ તફાવત કરીએ છીએ. સામાન્ય રીતે આરક્ષિત શબ્દો અને મુખ્ય શબ્દો એક સાથે આવવાની જરૂર નથી, પરંતુ મોટાભાગની આધુનિક ભાષાઓમાં મુખ્ય શબ્દો એ આરક્ષિત શબ્દોનો સબસેટ છે, કારણ કે આ પદચ્છેદનને સરળ બનાવે છે, કારણ કે મુખ્ય શબ્દોને ઓળખકર્તાઓ સાથે ભેળસેળ કરી શકાતા નથી. કેટલીક ભાષાઓમાં, જેમ કે સી અથવા પાયથોન, આરક્ષિત શબ્દો અને કીવર્ડ્સ એક સાથે આવે છે, જ્યારે અન્ય ભાષાઓમાં, જેમ કે જાવા, બધા કીવર્ડ્સ આરક્ષિત શબ્દો છે, પરંતુ કેટલાક આરક્ષિત શબ્દો કીવર્ડ્સ નથી, જે ભવિષ્યના ઉપયોગ માટે આરક્ષિત છે. હજુ સુધી અન્ય ભાષાઓમાં, જેમ કે જૂની ભાષાઓ ALGOL, FORTRAN અને PL/I, ત્યાં કીવર્ડ્સ છે પરંતુ કોઈ આરક્ષિત શબ્દો નથી, જેમાં કીવર્ડ્સને અન્ય માધ્યમો દ્વારા ઓળખકર્તાઓથી અલગ પાડવામાં આવે છે. ભાષામાં આરક્ષિત શબ્દો અને મુખ્ય શબ્દોનો સમૂહ ઘણીવાર એક સાથે આવે છે અથવા લગભગ સમાન હોય છે, અને તફાવત સૂક્ષ્મ હોય છે, તેથી શબ્દોનો ઉપયોગ ઘણીવાર એકબીજાના બદલે થાય છે. જો કે, સાવચેતીપૂર્વક ઉપયોગમાં તેઓ અલગ પડે છે. કીવર્ડ્સને આરક્ષિત શબ્દો બનાવવાથી લેક્સિંગ સરળ બને છે, કારણ કે અક્ષરોની સ્ટ્રિંગ સ્પષ્ટ રીતે સંદર્ભ પર આધાર રાખ્યા વિના મુખ્ય શબ્દ અથવા ઓળખકર્તા હશે; આમ મુખ્ય શબ્દો સામાન્ય રીતે આરક્ષિત શબ્દોનો સબસેટ હોય છે. જો કે, આરક્ષિત શબ્દો મુખ્ય શબ્દો હોવા જરૂરી નથી. ઉદાહરણ તરીકે, જાવામાં, ગોટો એક આરક્ષિત શબ્દ છે, પરંતુ તેનો કોઈ અર્થ નથી અને તે વ્યાકરણના કોઈપણ ઉત્પાદન નિયમોમાં દેખાતો નથી. આ સામાન્ય રીતે આગળ સુસંગતતા માટે કરવામાં આવે છે, તેથી આરક્ષિત શબ્દ હાલના પ્રોગ્રામ્સને તોડ્યા વિના ભવિષ્યના સંસ્કરણમાં મુખ્ય શબ્દ બની શકે છે. તેનાથી વિપરીત, કીવર્ડ્સને આરક્ષિત શબ્દોની જરૂર નથી, તેમની ભૂમિકાને સંદર્ભથી સમજી શકાય છે, અથવા તેમને અન્ય રીતે અલગ કરી શકાય છે, જેમ કે સ્ટ્રોપિંગ દ્વારા. ઉદાહરણ તરીકે, મોટાભાગના વ્યાકરણમાં શબ્દસમૂહ 'આઇએફ = 1' સ્પષ્ટ છે, કારણ કે 'આઇએફ ક્લોઝ' નું નિયંત્રણ નિવેદન 'એન =' થી શરૂ થઈ શકતું નથી, અને તેથી કેટલીક ભાષાઓમાં તેને મંજૂરી છે, જેમ કે 'ફોરટ્રાન'. વૈકલ્પિક રીતે, ALGOL 68 માં, કીવર્ડ્સને બોલ્ડમાં સૂચિબદ્ધ કરીને કડક ભાષામાં-અલગ પાડવા માટે અમુક રીતે ચિહ્નિત થયેલ હોવા જોઈએ, અને તેથી તે આરક્ષિત શબ્દો નથી. આમ કડક ભાષામાં નીચેની અભિવ્યક્તિ કાયદેસર છે, કારણ કે બોલ્ડ કીવર્ડ્સ જો સામાન્ય ઓળખકર્તા સાથે વિરોધાભાસી ન હોય તોઃ જો eq 0 હોય તો 1 ફાઈ જો કે, ALGOL 68 માં એક સ્ટ્રોપિંગ શાસન પણ છે જેમાં કીવર્ડ્સ આરક્ષિત શબ્દો છે, આ વિશિષ્ટ વિભાવનાઓ ઘણીવાર કેવી રીતે મેળ ખાય છે તેનું ઉદાહરણ છે; આ ઘણી આધુનિક ભાષાઓમાં અનુસરવામાં આવે છે. વાક્યરચના એક આરક્ષિત શબ્દ તે છે જે સામાન્ય શબ્દ જેવો દેખાય છે, પરંતુ તેનો સામાન્ય શબ્દ તરીકે ઉપયોગ કરવાની મંજૂરી નથી. ઔપચારિક રીતે આનો અર્થ એ છે કે તે ઓળખકર્તાઓના સામાન્ય શાબ્દિક વાક્યરચના (શબ્દોની વાક્યરચના) ને સંતોષે છે-ઉદાહરણ તરીકે, અક્ષરોનો ક્રમ હોવાથી-પરંતુ જ્યાં ઓળખકર્તાઓનો ઉપયોગ થાય છે ત્યાં તેનો ઉપયોગ કરી શકાતો નથી. ઉદાહરણ તરીકે, જો શબ્દ સામાન્ય રીતે આરક્ષિત શબ્દ છે, જ્યારે x સામાન્ય રીતે નથી, તેથી x = 1 એ માન્ય સોંપણી છે, પરંતુ જો = 1 નથી. કીવર્ડ્સના વિવિધ ઉપયોગો છે, પરંતુ મુખ્યત્વે કેટલાક વર્ગોમાં આવે છેઃ શબ્દસમૂહ વ્યાકરણનો ભાગ (ખાસ કરીને બિન-અંતિમ પ્રતીકો સાથેનો ઉત્પાદન નિયમ), વિવિધ અર્થો સાથે, ઘણીવાર નિયંત્રણ પ્રવાહ માટે ઉપયોગમાં લેવાય છે, જેમ કે શબ્દ જો મોટાભાગની પ્રક્રિયાગત ભાષાઓમાં, જે શરતી સૂચવે છે અને કલમો (બિન-અંતિમ પ્રતીકો) લે છે; ભાષામાં આદિમ પ્રકારોના નામો જે પ્રકાર પ્રણાલીને ટેકો આપે છે, જેમ કે પૂર્ણાંક; આદિમ શાબ્દિક મૂલ્યો જેમ કે બુલિયન સાચા માટે સાચું; અથવા કેટલીકવાર બહાર નીકળો જેવા વિશેષ આદેશો. શબ્દસમૂહોમાં મુખ્ય શબ્દોનો અન્ય ઉપયોગ ઇનપુટ/આઉટપુટ માટે થાય છે, જેમ કે પ્રિન્ટ. જ્યારે ભાષાનું લેક્સર અને પાર્સરના સંયોજન દ્વારા વિશ્લેષણ કરવામાં આવે છે, અને ભાષાનું વાક્યરચના શબ્દો માટે લેક્સિકલ વ્યાકરણ અને શબ્દસમૂહો માટે ઉત્પાદન નિયમોના સંદર્ભ-મુક્ત વ્યાકરણ દ્વારા પેદા થાય છે ત્યારે અલગ વ્યાખ્યાઓ સ્પષ્ટ થાય છે. આધુનિક ભાષાઓના વિશ્લેષણમાં આ સામાન્ય છે, અને આ કિસ્સામાં કીવર્ડ્સ એ આરક્ષિત શબ્દોનો સબસેટ છે, કારણ કે શબ્દસમૂહ સ્તરે (કીવર્ડ્સ તરીકે) વાક્યરચનાત્મક રીતે અલગ રીતે વિશ્લેષણ કરવા માટે તેમને શબ્દ સ્તર (તેથી આરક્ષિત શબ્દો) પર ઓળખકર્તાઓથી અલગ પાડવું આવશ્યક છે. આ કિસ્સામાં આરક્ષિત શબ્દોને શાબ્દિક વ્યાકરણના ભાગ તરીકે વ્યાખ્યાયિત કરવામાં આવે છે, અને દરેકને ઓળખકર્તાઓથી અલગ, એક અલગ પ્રકાર તરીકે ચિહ્નિત કરવામાં આવે છે. પરંપરાગત સંકેતલિપીમાં, ઉદાહરણ તરીકે આરક્ષિત શબ્દોને અનુક્રમે પ્રકારો IF અને ThEN તરીકે ટોકનાઇઝ કરવામાં આવે છે, જ્યારે x અને y બંનેને પ્રકાર ઓળખકર્તા તરીકે ટોકનાઇઝ કરવામાં આવે છે. કીવર્ડ્સ, તેનાથી વિપરીત, વાક્યરચનાત્મક રીતે શબ્દસમૂહ વ્યાકરણમાં, અંતિમ પ્રતીકો તરીકે દેખાય છે. ઉદાહરણ તરીકે, શરતી અભિવ્યક્તિ માટેનો ઉત્પાદન નિયમ IF એક્સપ્રેશન પછી એક્સપ્રેશન હોઈ શકે છે. આ કિસ્સામાં IF અને ThEN એ અંતિમ પ્રતીકો છે, જેનો અર્થ થાય છે "અનુક્રમે IF અથવા ThEN પ્રકારનું ચિહ્ન"-અને લેક્સિકલ વ્યાકરણને કારણે, આનો અર્થ થાય છે મૂળ સ્રોતમાં જો અથવા તો શબ્દમાળા. આદિમ અચળ મૂલ્યના ઉદાહરણ તરીકે, સાચું એ બુલિયન મૂલ્ય "સાચું" નું પ્રતિનિધિત્વ કરતો મુખ્ય શબ્દ હોઈ શકે છે, જે કિસ્સામાં તે વ્યાકરણમાં ઉત્પાદન દ્વિસંગી અભિવ્યક્તિના સંભવિત વિસ્તરણ તરીકે દેખાવું જોઈએ, ઉદાહરણ તરીકે. અનામત શ્રેણીઓ શબ્દોની ચોક્કસ યાદીઓ અનામત રાખવા ઉપરાંત, કેટલીક ભાષાઓ શબ્દોની સંપૂર્ણ શ્રેણીઓ અનામત રાખે છે, જેનો ઉપયોગ ભવિષ્યની ભાષાના સંસ્કરણ, વિવિધ બોલીઓ, સંકલનકર્તા વિક્રેતા-વિશિષ્ટ વિસ્તરણ અથવા સંકલનકર્તા દ્વારા આંતરિક ઉપયોગ માટે, ખાસ કરીને નામ બદલવા માટે ખાનગી જગ્યાઓ તરીકે થાય છે. આ મોટેભાગે ઉપસર્ગનો ઉપયોગ કરીને કરવામાં આવે છે, ઘણીવાર એક અથવા વધુ અંડરસ્કોર. C અને C + + આ સંદર્ભમાં નોંધપાત્ર છેઃ C99 અનામત ઓળખકર્તાઓ કે જે બે અંડરસ્કોર અથવા અંડરસ્કોરથી શરૂ થાય છે અને ત્યારબાદ મોટા અક્ષરે આવે છે, અને વધુ અનામત ઓળખકર્તાઓ કે જે ફાઇલના અવકાશમાં ઉપયોગ માટે એક જ અંડરસ્કોર (સામાન્ય અને ટેગ જગ્યાઓમાં) થી શરૂ થાય છે; C + + 03 સાથે વધુ અનામત ઓળખકર્તાઓ કે જેમાં ક્યાંય પણ ડબલ અંડરસ્કોર હોય છે-આ ઉદાહરણ તરીકે, વિભાજક તરીકે (વપરાશકર્તા ઓળખકર્તાઓને જોડવા માટે) ડબલ અંડરસ્કોરનો ઉપયોગ કરવાની મંજૂરી આપે છે. પાયથોનમાં આંતરિક ઓળખકર્તાઓમાં બેવડા અન્ડરસ્કોરના વારંવારના ઉપયોગથી સંક્ષિપ્ત નામ ડન્ડરનો ઉદય થયો; આ માર્ક જેક્સન દ્વારા અને સ્વતંત્ર રીતે ટિમ હોચબર્ગ દ્વારા, એકબીજાની થોડી મિનિટોમાં, 2002માં એક જ પ્રશ્નના જવાબમાં રચવામાં આવ્યું હતું. વિશિષ્ટતા ભાષામાં આરક્ષિત શબ્દો અને મુખ્ય શબ્દોની સૂચિ વ્યાખ્યાયિત કરવામાં આવે છે જ્યારે ભાષા વિકસિત થાય છે, અને બંને ભાષાના ઔપચારિક સ્પષ્ટીકરણનો ભાગ બનાવે છે. સામાન્ય રીતે માન્ય ઓળખકર્તાના નામોને પ્રતિબંધિત કરવાનું ટાળવા માટે આરક્ષિત શબ્દોની સંખ્યાને ઓછી કરવા માંગે છે. વધુમાં, નવા આરક્ષિત શબ્દો રજૂ કરવાથી તે શબ્દનો ઉપયોગ કરતા હાલના પ્રોગ્રામ્સ તૂટી જાય છે (તે પાછળની તરફ સુસંગત નથી), તેથી આ ટાળવામાં આવે છે. આને અટકાવવા અને આગળ સુસંગતતા પ્રદાન કરવા માટે, કેટલીકવાર શબ્દો વર્તમાન ઉપયોગ (એક આરક્ષિત શબ્દ જે મુખ્ય શબ્દ નથી) વિના આરક્ષિત કરવામાં આવે છે, કારણ કે આ શબ્દને હાલના પ્રોગ્રામ્સને તોડ્યા વિના ભવિષ્યમાં ઉપયોગમાં લેવાની મંજૂરી આપે છે. વૈકલ્પિક રીતે, નવી ભાષાની સુવિધાઓને પૂર્વવ્યાખ્યાયિત તરીકે અમલમાં મૂકી શકાય છે, જેને ઓવરરાઇડ કરી શકાય છે, આમ હાલના કાર્યક્રમોને તોડતા નથી. લવચિકતાના કારણોમાં કમ્પાઇલર વિક્રેતાઓને બિન-માનક સુવિધાઓ, તેને વિસ્તારવા માટે ભાષાની વિવિધ પ્રમાણભૂત બોલીઓ અથવા વધારાની સુવિધાઓનો સમાવેશ કરવા માટે ભાષાના ભાવિ સંસ્કરણોનો સમાવેશ કરીને સ્પષ્ટીકરણને વિસ્તૃત કરવાની મંજૂરી આપવાનો સમાવેશ થાય છે. ઉદાહરણ તરીકે, પ્રક્રિયાગત ભાષા ભવિષ્યના સંસ્કરણ અથવા કોઈ બોલીમાં ઓબ્જેક્ટ-ઓરિએન્ટેડ ક્ષમતાઓ ઉમેરવાની ધારણા કરી શકે છે, તે સમયે કોઈ વર્ગ અથવા ઓબ્જેક્ટ જેવા મુખ્ય શબ્દો ઉમેરી શકે છે. આ શક્યતાને સમાવવા માટે, વર્તમાન સ્પષ્ટીકરણ આ આરક્ષિત શબ્દો બનાવી શકે છે, ભલે તે હાલમાં ઉપયોગમાં ન હોય. એક નોંધપાત્ર ઉદાહરણ જાવામાં છે, જ્યાં કોન્સ્ટ અને ગોટો આરક્ષિત શબ્દો છે-તેનો જાવામાં કોઈ અર્થ નથી પરંતુ તેનો ઓળખકર્તા તરીકે પણ ઉપયોગ કરી શકાતો નથી. શરતોને અનામત રાખીને, જો ઇચ્છા હોય તો, જૂના જાવા સ્રોત કોડને તોડ્યા વિના, જાવાના ભાવિ સંસ્કરણોમાં તેનો અમલ કરી શકાય છે. ઉદાહરણ તરીકે, 1999માં ભાષામાં C + + જેવા કોન્સ્ટ ઉમેરવાની દરખાસ્ત હતી, જે કોન્સ્ટ શબ્દનો ઉપયોગ કરીને શક્ય હતી, કારણ કે તે આરક્ષિત હતો પરંતુ હાલમાં તેનો ઉપયોગ થતો નથી; જો કે, આ દરખાસ્તને નકારી કાઢવામાં આવી હતી-ખાસ કરીને કારણ કે આ સુવિધાને ઉમેરવાથી કોઈપણ અસ્તિત્વમાં રહેલા પ્રોગ્રામ્સ તૂટી જશે નહીં, તેમ છતાં તેનો પ્રમાણભૂત પુસ્તકાલયમાં (ખાસ કરીને સંગ્રહોમાં) ઉપયોગ કરવાથી સુસંગતતા તૂટી જશે. જાવાસ્ક્રિપ્ટમાં વિશેષ કાર્યક્ષમતા વિના સંખ્યાબંધ આરક્ષિત શબ્દો પણ હોય છે; ચોક્કસ સૂચિ આવૃત્તિ અને સ્થિતિ અનુસાર બદલાય છે. નવા આરક્ષિત શબ્દો અથવા કીવર્ડ્સ કેટલી વાર રજૂ કરવામાં આવે છે અને તેઓ તેમને કેવી રીતે નામ આપે છે તેમાં ભાષાઓ નોંધપાત્ર રીતે અલગ પડે છે, કેટલીક ભાષાઓ ખૂબ જ રૂઢિચુસ્ત હોય છે અને હાલના પ્રોગ્રામ્સને તોડવાનું ટાળવા માટે ભાગ્યે જ અથવા ક્યારેય નવા કીવર્ડ્સ રજૂ કરતી નથી, જ્યારે અન્ય ભાષાઓ નવા કીવર્ડ્સ વધુ મુક્તપણે રજૂ કરે છે, જેમાં હાલના પ્રોગ્રામ્સને હાલના ઓળખકર્તાઓને બદલવાની જરૂર પડે છે જે વિરોધાભાસી હોય છે. 2011 થી C + + 11 ની સરખામણીમાં C11 માં નવા કીવર્ડ્સ દ્વારા કેસ સ્ટડી આપવામાં આવે છે-યાદ રાખો કે C અને C + + માં, ઓળખકર્તાઓ કે જે અન્ડરસ્કોરથી શરૂ થાય છે અને ત્યારબાદ મોટા અક્ષરથી શરૂ થાય છે તે આરક્ષિત છેઃ એટલે કે, C11 એ આરક્ષિત શબ્દોના હાલના સમૂહમાં (ચોક્કસ ઉપસર્ગવાળા) મુખ્ય શબ્દ _ થ્રેડ _ લોકલ રજૂ કર્યો, અને પછી તેનો ઉપયોગ કરવા માટે એક અલગ સુવિધા (મેક્રો પ્રોસેસિંગ) નો ઉપયોગ કર્યો, જાણે કે તે કોઈ પણ ઉપસર્ગ વિના નવો મુખ્ય શબ્દ હોય, જ્યારે C + + 11 વર્તમાન આરક્ષિત શબ્દ ન હોવા છતાં મુખ્ય શબ્દ થ્રેડ _ લોકલ રજૂ કરે છે, જે આનો ઉપયોગ કરતા કોઈપણ પ્રોગ્રામ્સને તોડે છે, પરંતુ મેક્રો પ્રોસેસિંગની જરૂર વગર. પૂર્વવ્યાખ્યાયિત નામો આરક્ષિત શબ્દો સાથે સંબંધિત કલ્પના એ પૂર્વવ્યાખ્યાયિત કાર્યો, પદ્ધતિઓ, સબરૂટિન, પ્રકારો અથવા ચલ છે, ખાસ કરીને પ્રમાણભૂત પુસ્તકાલયમાંથી પુસ્તકાલયની દિનચર્યાઓ. આ સમાન છે કારણ કે તે મૂળભૂત ભાષાનો ભાગ છે, અને સમાન હેતુઓ માટે તેનો ઉપયોગ કરી શકાય છે. જો કે, આ અલગ પડે છે કે આમાંની એક વસ્તુનું નામ સામાન્ય રીતે આરક્ષિત શબ્દને બદલે ઓળખકર્તા તરીકે વર્ગીકૃત કરવામાં આવે છે, અને વાક્યરચના વિશ્લેષણમાં તેને ખાસ ગણવામાં આવતું નથી. વધુમાં, આરક્ષિત શબ્દો પ્રોગ્રામર દ્વારા પુનઃવ્યાખ્યાયિત ન પણ થઈ શકે, પરંતુ અમુક અવકાશની હદ સુધી પૂર્વવ્યાખ્યાયિત શબ્દોને ઘણીવાર ઓવરરાઇડ કરી શકાય છે. મુખ્ય શબ્દ તરીકે શું આપવામાં આવે છે અને પૂર્વવ્યાખ્યાયિત શું છે તે અંગે ભાષાઓ અલગ અલગ હોય છે. કેટલીક ભાષાઓ, ઉદાહરણ તરીકે, ઇનપુટ/આઉટપુટ કામગીરી માટે કીવર્ડ્સ પ્રદાન કરે છે જ્યારે અન્યમાં આ પુસ્તકાલયની દિનચર્યાઓ છે. પાયથોનમાં (3 કરતાં પહેલાંની આવૃત્તિઓ) અને ઘણી બેઝિક બોલીઓમાં, પ્રિન્ટ એ મુખ્ય શબ્દ છે. તેનાથી વિપરીત, સી, લિસ્પ અને પાયથોન 3 સમકક્ષ પ્રિન્ટએફ, ફોર્મેટ અને પ્રિન્ટ એ પ્રમાણભૂત લાઈબ્રેરીમાં કાર્યો છે. તેવી જ રીતે, પાયથોનમાં 3 પહેલાં, કંઈ નહીં, સાચું અને ખોટું એ પૂર્વવ્યાખ્યાયિત ચલ હતા, પરંતુ આરક્ષિત શબ્દો નહોતા, પરંતુ પાયથોન 3 માં તેમને આરક્ષિત શબ્દોમાં બનાવવામાં આવ્યા હતા. વ્યાખ્યા કેટલાક "મુખ્ય શબ્દ" અને "આરક્ષિત શબ્દ" શબ્દોનો એકબીજાના બદલે ઉપયોગ કરે છે, જ્યારે અન્ય વપરાશમાં તફાવત કરે છે, જેમ કે "મુખ્ય શબ્દ" નો ઉપયોગ કરીને એવા શબ્દનો અર્થ થાય છે જે ફક્ત ચોક્કસ સંદર્ભોમાં વિશેષ હોય પરંતુ "આરક્ષિત શબ્દ" નો અર્થ એ થાય કે જેનો ઉપયોગ વપરાશકર્તા-નિર્ધારિત નામ તરીકે કરી શકાતો નથી. મુખ્ય શબ્દોનો અર્થ અને મુખ્ય શબ્દની કલ્પનાનો અર્થ, ભાષાથી ભાષામાં વ્યાપક રીતે અલગ પડે છે. ચોક્કસપણે, ALGOL 68 માં, કીવર્ડ્સ સ્ટ્રોપ કરવામાં આવે છે (કડક ભાષામાં, બોલ્ડમાં લખાયેલા) અને આરક્ષિત શબ્દો નથી-અનસ્ટ્રોપ કરેલા શબ્દનો ઉપયોગ સામાન્ય ઓળખકર્તા તરીકે થઈ શકે છે. "જાવા લેંગ્વેજ સ્પષ્ટીકરણ" શબ્દ "મુખ્ય શબ્દ" નો ઉપયોગ કરે છે. સી ભાષા માટે ISO 9899 ધોરણ "મુખ્ય શબ્દ" શબ્દનો ઉપયોગ કરે છે. ઘણી ભાષાઓમાં, જેમ કે સી અને સી + + જેવા સમાન વાતાવરણમાં, મુખ્ય શબ્દ એ એક આરક્ષિત શબ્દ છે જે વાક્યરચના સ્વરૂપને ઓળખે છે. નિયંત્રણ પ્રવાહ રચનાઓમાં વપરાતા શબ્દો, જેમ કે જો, પછી, અને અન્યથા મુખ્ય શબ્દો છે. આ ભાષાઓમાં, મુખ્ય શબ્દોનો ઉપયોગ ચલ અથવા કાર્યોના નામ તરીકે પણ કરી શકાતો નથી. કેટલીક ભાષાઓમાં, જેમ કે ALGOL અને ALGOL 68, કીવર્ડ્સને શબ્દશઃ લખી શકાતા નથી, પરંતુ તેને નીચે ફેંકવું આવશ્યક છે. આનો અર્થ એ છે કે કીવર્ડ્સને કોઈક રીતે ચિહ્નિત કરવા જોઈએ. ઇ. જી. તેમને ટાંકીને અથવા તેમને વિશેષ અક્ષર દ્વારા ઉપસર્ગ કરીને. પરિણામે, કીવર્ડ્સ આરક્ષિત શબ્દો નથી, અને આમ તે જ શબ્દનો ઉપયોગ સામાન્ય ઓળખકર્તા તરીકે થઈ શકે છે. જો કે, એક સ્ટ્રોપિંગ શાસન એ હતું કે કીવર્ડ્સને ન છોડો, અને તેના બદલે તેમને ફક્ત આરક્ષિત શબ્દો બનાવો. કેટલીક ભાષાઓ, જેમ કે પોસ્ટસ્ક્રિપ્ટ, આ અભિગમમાં અત્યંત ઉદાર છે, જે મુખ્ય કીવર્ડ્સને ચોક્કસ હેતુઓ માટે પુનઃવ્યાખ્યાયિત કરવાની મંજૂરી આપે છે. કોમન લિસ્પમાં, શબ્દ "મુખ્ય શબ્દ" (અથવા "મુખ્ય શબ્દ પ્રતીક") નો ઉપયોગ ખાસ પ્રકારના પ્રતીક અથવા ઓળખકર્તા માટે થાય છે. અન્ય પ્રતીકોથી વિપરીત, જે સામાન્ય રીતે ચલ અથવા કાર્યો માટે વપરાય છે, મુખ્ય શબ્દો સ્વ-અવતરણ અને સ્વ-મૂલ્યાંકન છેઃ 98 છે અને કીવર્ડ પેકેજમાં સમાવિષ્ટ છે. કીવર્ડ્સનો ઉપયોગ સામાન્ય રીતે કાર્યોમાં નામવાળી દલીલોને લેબલ કરવા અને પ્રતીકાત્મક મૂલ્યોનું પ્રતિનિધિત્વ કરવા માટે થાય છે. સામાન્ય-સૂચિ નામના પેકેજમાં કાર્યો, ચલ, વિશેષ સ્વરૂપો અને મેક્રોને નામ આપતા પ્રતીકો મૂળભૂત રીતે આરક્ષિત શબ્દો છે. તેમને ફરીથી વ્યાખ્યાયિત કરવાની અસર એએનએસઆઈ કોમન લિસ્પમાં અવ્યાખ્યાયિત છે. તેમને બાંધવું શક્ય છે. દાખલા તરીકે અભિવ્યક્તિ (જો કેસ અથવા તો) શક્ય છે, જ્યારે જો સ્થાનિક ચલ છે. ડાબી બાજુએ જો આઇએફ ઓપરેટરનો સંદર્ભ આપે છે; બાકીના પ્રતીકોને ચલ નામો તરીકે અર્થઘટન કરવામાં આવે છે. કાર્યો અને ચલ માટે એક અલગ નેમસ્પેસ હોવાથી, જો તે સ્થાનિક ચલ હોઈ શકે છે. કોમન લિસ્પમાં, જોકે, બે વિશેષ પ્રતીકો છે જે મુખ્ય શબ્દ પેકેજમાં નથીઃ પ્રતીકો ટી અને નીલ. જ્યારે અભિવ્યક્તિઓ તરીકે મૂલ્યાંકન કરવામાં આવે છે, ત્યારે તેઓ પોતાને મૂલ્યાંકન કરે છે. તેનો ઉપયોગ કાર્યો અથવા ચલોનાં નામ તરીકે કરી શકાતો નથી, તેથી તે વાસ્તવિક રીતે આરક્ષિત છે. (ચાલો ((ટી 42))) એક સારી રીતે રચાયેલ અભિવ્યક્તિ છે, પરંતુ લેટ ઓપરેટર ઉપયોગની મંજૂરી આપશે નહીં. સામાન્ય રીતે, જ્યારે પ્રોગ્રામર ચલ અથવા કાર્યના નામ માટે મુખ્ય શબ્દનો ઉપયોગ કરવાનો પ્રયાસ કરે છે, ત્યારે સંકલન ભૂલ શરૂ થશે. મોટાભાગના આધુનિક સંપાદકોમાં, પ્રોગ્રામરોને યાદ અપાવવા અથવા જાણ કરવા માટે કે તેઓ કીવર્ડ્સ છે, કીવર્ડ્સ આપમેળે ચોક્કસ ટેક્સ્ટ રંગમાં સેટ થઈ જાય છે. મેક્રો અથવા આળસુ મૂલ્યાંકન ધરાવતી ભાષાઓમાં, નિયંત્રણ પ્રવાહ રચનાઓ જેમ કે આઇ. એફ. ને મેક્રો અથવા કાર્યો તરીકે લાગુ કરી શકાય છે. આ અભિવ્યક્ત લક્ષણો વિનાની ભાષાઓમાં, તે સામાન્ય રીતે મુખ્ય શબ્દો હોય છે. ભાષાઓ દ્વારા સરખામણી વિવિધ ભાષાઓમાં ઘણીવાર આરક્ષિત શબ્દોની સંખ્યા વ્યાપક રીતે અલગ અલગ હોય છે. ઉદાહરણ તરીકે, કોબોલ પાસે લગભગ 400 છે. જાવા અને અન્ય સી ડેરિવેટિવ્ઝ, લગભગ 50 જેટલા વિરલ સમૂહ ધરાવે છે. પ્યોર પ્રોલોગ અને પીએલ/આઈ પાસે કંઈ નથી. ગેરફાયદા ભાષામાં આરક્ષિત શબ્દોની વ્યાખ્યા સમસ્યાઓ ઉભી કરે છે. યાદ રાખવા માટે આરક્ષિત શબ્દોની લાંબી સૂચિને કારણે નવા વપરાશકર્તાઓ માટે ભાષા શીખવી મુશ્કેલ હોઈ શકે છે જેનો ઉપયોગ ઓળખકર્તા તરીકે કરી શકાતો નથી. ભાષાને વિસ્તૃત કરવી મુશ્કેલ હોઈ શકે છે કારણ કે નવી સુવિધાઓ માટે આરક્ષિત શબ્દો ઉમેરવાથી હાલના પ્રોગ્રામ્સ અમાન્ય થઈ શકે છે અથવા, તેનાથી વિપરીત, નવા અર્થો સાથે હાલના આરક્ષિત શબ્દોને "ઓવરલોડિંગ" કરવું મૂંઝવણભર્યું હોઈ શકે છે. પોર્ટિંગ પ્રોગ્રામ્સ સમસ્યારૂપ બની શકે છે કારણ કે એક સિસ્ટમ અથવા કમ્પાઇલર દ્વારા આરક્ષિત શબ્દ બીજા દ્વારા આરક્ષિત હોઈ શકે છે. કારણ કે આરક્ષિત શબ્દોનો ઉપયોગ ઓળખકર્તા તરીકે કરી શકાતો નથી, વપરાશકર્તાઓ તેના બદલે ઓળખકર્તા તરીકે આરક્ષિત શબ્દોની ઇરાદાપૂર્વકની ખોટી જોડણી પસંદ કરી શકે છે, જેમ કે પ્રકારનાં જાવા ચલ માટે. આરક્ષિત શબ્દો અને ભાષા સ્વતંત્રતા માઈક્રોસોફ્ટની. NET કોમન લેંગ્વેજ ઇન્ફ્રાસ્ટ્રક્ચર (CLI) સ્પષ્ટીકરણ 40 + વિવિધ પ્રોગ્રામિંગ ભાષાઓમાં લખાયેલા કોડને અંતિમ ઉત્પાદનમાં જોડવાની મંજૂરી આપે છે. આને કારણે, ઓળખકર્તા/આરક્ષિત શબ્દ અથડામણ ત્યારે થઈ શકે છે જ્યારે એક ભાષામાં લાગુ કરાયેલ કોડ બીજી ભાષામાં લખેલા કોડને અમલમાં મૂકવાનો પ્રયાસ કરે છે. ઉદાહરણ તરીકે, વિઝ્યુઅલ બેઝિક (. NET) લાઈબ્રેરીમાં વર્ગ વ્યાખ્યા હોઈ શકે છે જેમ કેઃ 'વિઝ્યુઅલમાં આની વર્ગ વ્યાખ્યા Basic.NET: સાર્વજનિક વર્ગ આ' આ વર્ગ કંઈક કરે છે. અંતિમ વર્ગ જો આને ટૂલબોક્સના ભાગ રૂપે સંકલિત અને વિતરિત કરવામાં આવે, તો C #પ્રોગ્રામર, જે "આ" પ્રકારનાં ચલને વ્યાખ્યાયિત કરવા માંગે છે, તેને સમસ્યાનો સામનો કરવો પડશેઃ 'આ' એ C #માં આરક્ષિત શબ્દ છે. આમ, નીચેના C #માં સંકલન કરશે નહિંઃ// આ વર્ગનો ઉપયોગ કરીને C #માંઃ આ x = નવું આ ();// સંકલન નહીં કરે! સભ્યોને ઍક્સેસ કરતી વખતે, વર્ચ્યુઅલ પદ્ધતિઓને ઓવરરાઇડ કરતી વખતે અને નેમસ્પેસને ઓળખતી વખતે સમાન સમસ્યા ઊભી થાય છે. આને સ્ટ્રોપિંગ દ્વારા ઉકેલવામાં આવે છે. આ મુદ્દાની આસપાસ કામ કરવા માટે, સ્પષ્ટીકરણ ઓળખકર્તાની સામે (C #માં) સહી કરવાની મંજૂરી આપે છે, જે તેને સંકલનકર્તા દ્વારા આરક્ષિત શબ્દને બદલે ઓળખકર્તા તરીકે ગણવા માટે દબાણ કરે છેઃ// C #માં આ વર્ગનો ઉપયોગ કરવોઃ @this x = નવું @this ();// સંકલન કરશે! સુસંગતતા માટે, સ્થાનિક ચલ, પરિમાણ નામો અને ખાનગી સભ્યો જેવી બિન-જાહેર સેટિંગ્સમાં પણ આ ઉપયોગની મંજૂરી છે. આ પણ જુઓ સી આરક્ષિત કીવર્ડ્સ જાવા કીવર્ડ્સની સૂચિ એસક્યુએલ આરક્ષિત શબ્દોની સૂચિ પ્રતીક (પ્રોગ્રામિંગ) સંદર્ભો પ્રોગ્રામિંગ રચનાઓ પ્રોગ્રામિંગ ભાષાના વિષયો