ML/I
એમ. એલ./1 (મેક્રો લેંગ્વેજ/વન) એક શક્તિશાળી સામાન્ય હેતુવાળું મેક્રો પ્રોસેસર છે. એમ. એલ./1 ના લાક્ષણિક ઉપયોગોમાં નીચેનાનો સમાવેશ થાય છેઃ સ્રોત કોડને એક પ્રોગ્રામિંગ ભાષામાંથી બીજી પ્રોગ્રામિંગ ભાષામાં અનુવાદિત કરતી ટેક્સ્ટ ફાઇલોને સંપાદિત કરવી, તેમાં ફેરફાર કરવો, તેમાં સુધારો કરવો અથવા ફરીથી ગોઠવવી, જે સ્રોત-કોડ પ્રીપ્રોસેસર તરીકે કામ કરે છે, જેથી વપરાશકર્તા હાલની પ્રોગ્રામિંગ ભાષામાં પ્રોગ્રામ સ્રોત-કોડ પરિમાણને ટેકો આપતા નવા વાક્યરચના સ્વરૂપો ઉમેરી શકે (દા. ત. એક પરિમાણ નક્કી કરી શકે છે કે ડિબગીંગ સ્ટેટમેન્ટ્સ પ્રોગ્રામ સોર્સ કોડમાં શામેલ કરવાના છે કે કેમ જે કમ્પાઇલરને પસાર કરવામાં આવે છે) એમએલ/1 1966 માં પીટર જે. દ્વારા વિકસાવવામાં આવ્યું હતું. ઇંગ્લેન્ડમાં કેમ્બ્રિજ યુનિવર્સિટી ખાતે પીએચડી સંશોધનના ભાગરૂપે બ્રાઉન. 1984માં, કેન્ટ યુનિવર્સિટીમાં પીટર બ્રાઉનના સહયોગીઓમાંના એક, રોબર્ટ ડી. ઈગરે, 1981માં બી. સી. પી. એલ. માં અને બાદમાં 1984માં સી. માં એમ. એલ./આઈ. નું પુનઃલેખન કર્યું, જેનાથી તેની પોર્ટેબિલિટીમાં વધારો થયો. નોંધ લો કે ભાષા માટે પીટર બ્રાઉનનું મૂળ નામ એમએલ/આઈ હતું, જ્યાં (આઇબીએમના પીએલ/આઈની જેમ) છેલ્લું અક્ષર રોમન અંક "આઈ" છે, અરબી અંક "1" નથી. જોકે મોટાભાગના અનુગામી અમલીકરણને એમએલ/1 કહેવામાં આવે છે (જ્યાં છેલ્લું અક્ષર અરબી અંક "1" છે). ત્યારથી, એમ. એલ./1 ને વી. એમ. એસ., એમ. વી. એસ., એમ. એસ.-ડોસ, ઓએસ/2 અને યુનિક્સ સહિત ઘણા પ્લેટફોર્મ્સ અને ઓપરેટિંગ સિસ્ટમ્સમાં મૂકવામાં આવ્યું છે. એમએલ/1 ના તેમના અમલીકરણમાં, બોબ ઈગરે પીટર બ્રાઉનના થીસીસમાં મૂળ રૂપે ઉલ્લેખિત સુવિધાઓ અને ક્ષમતાઓ ઉપરાંત સુવિધાઓ અને ક્ષમતાઓ ઉમેર્યા છે. તે સંસ્કરણ એમ. એલ./1 વેબ સાઇટ, <આઇ. ડી. 1> દ્વારા બહુવિધ પ્લેટફોર્મ માટે ઉપલબ્ધ છે. એમ. એલ./1 વેબ સાઇટ એમ. એલ./1 વિશે વધુ માહિતી, તેમજ દસ્તાવેજીકરણ (ટ્યુટોરિયલ, સરળ પ્રારંભિક માર્ગદર્શિકા અને સંપૂર્ણ વપરાશકર્તા માર્ગદર્શિકા સહિત) પ્રદાન કરે છે. વિશ્વમાં એમ. એલ./1 વપરાશકર્તાઓની કુલ સંખ્યા ઓછી હોવા છતાં, સમગ્ર વિશ્વમાં એમ. એલ./1 વપરાશકર્તાઓ છે, અને બોબે યુનાઇટેડ સ્ટેટ્સ, કેનેડા, ઓસ્ટ્રેલિયા, ન્યુઝીલેન્ડ, જર્મની, હોલેન્ડ અને ભારતમાં એમ. એલ./1 વપરાશકર્તાઓ સાથે પત્રવ્યવહાર કર્યો છે. 1976ના એક પેપરમાં, એન્ડ્રુ એસ. ટેનેનબૌમ કમ્પાઇલર-કમ્પાઇલર તરીકે એમ. એલ./આઈ. નો ઉપયોગ કરવાનું વર્ણવે છે. ઝાંખી એમએલ/આઇ ઇનપુટને સંપૂર્ણપણે મુક્ત સ્વરૂપમાં સ્વીકારે છે, ડેટાને રેખાઓ અથવા રેકોર્ડ્સની શ્રેણીને બદલે બાઇટ્સના પ્રવાહ તરીકે ગણવામાં આવે છે. તેને મેક્રો વિસ્તરણ સૂચવવા માટે કોઈ ચોક્કસ ધ્વજની જરૂર નથી, જે તેને મનસ્વી લખાણની પ્રક્રિયા માટે ખાસ કરીને ઉપયોગી બનાવે છે. લખાણની બદલીઓ સરળ હોઈ શકે છે (દા. ત. પી. આઈ. જી. ને ડોગ દ્વારા બદલવામાં આવે છે) અથવા કોમ્પ્લેક્સ (દા. ત. છેલ્લા પૂર્ણ વિરામ પછી ત્રીજા અને ચોથા અલ્પવિરામ વચ્ચેની વસ્તુને કેટલાક કાઉન્ટરની સામગ્રી દ્વારા બદલો). એમ. એલ./આઈ. નો ઉપયોગ પોર્ટેબલ સોફ્ટવેરની ઘણી વસ્તુઓને અમલમાં મૂકવા માટે કરવામાં આવ્યો હતો, જેમાં પોતે પણ સામેલ છે. તે મૂળરૂપે એક વિશેષ વર્ણનાત્મક ભાષામાં લખવામાં આવ્યું હતું, પછી દરેક લક્ષ્ય પ્રણાલી માટે યોગ્ય ભાષામાં મેપ કરવામાં આવ્યું હતું. આ મેપિંગ એમ. એલ./આઈ. નો ઉપયોગ કરીને કરવામાં આવ્યું હતું. આ વર્ણનાત્મક ભાષાના બે અલગ-અલગ સ્વરૂપો હતા; ઉચ્ચ સ્તર અને નિમ્ન સ્તર. આ મેપિંગ પછી એમ. એલ./આઈ. નો ઉપયોગ ઘણીવાર 16-બીટ આર્કિટેક્ચર મિનીકોમ્પ્યુટર્સની નવી પેઢી માટે એસ. આઈ. એલ. (સિસ્ટમ અમલીકરણ ભાષાઓ, જેમ કે સી) ને અમલમાં મૂકવા માટે કરવામાં આવતો હતો. એમએલ/1 કેવી રીતે કામ કરે છે સૌથી મૂળભૂત શબ્દોમાં, એમએલ/1 કેવી રીતે કામ કરે છે તે અહીં છે. વપરાશકર્તા ઇનપુટ ટેક્સ્ટ ધરાવતી ફાઇલ સાથે એમ. એલ./1 પૂરી પાડે છે. અન્ય ફાઇલમાં (અથવા, વૈકલ્પિક રીતે, તે જ ફાઇલમાં) વપરાશકર્તા એમ. એલ./1 મેક્રોનો સમૂહ પૂરો પાડે છે. મેક્રો એમએલ/1 દુભાષિયાને જણાવે છે કે વપરાશકર્તા ઇનપુટ ટેક્સ્ટમાં કયા નિવેશ, કાઢી નાખવા, વિસ્તરણ, અનુવાદો અને અન્ય ફેરફારો કરવા માંગે છે. જ્યારે ઇનપુટ લખાણ પર એમ. એલ./1 ચલાવવામાં આવે છે, ત્યારે એમ. એલ./1 એમ. એલ./1 મેક્રોઝમાં સૂચનોને અનુસરે છે, લખાણમાં ફેરફાર કરે છે અને સુધારેલ લખાણ ધરાવતી નવી ફાઇલ લખે છે. એમ. એલ./1 ની વિશિષ્ટ લાક્ષણિકતાઓ એવી ઘણી રીતો છે જેમાં એમ. એલ./1 સરળ "સ્કેન અને રિપ્લેસ" ઉપયોગિતાઓ કરતાં વધુ શક્તિશાળી છે. એમ. એલ./1 અક્ષર-તારના આધારે અક્ષર-તાર પર લખાણની પ્રક્રિયા કરતું નથી; તે શબ્દ દ્વારા શબ્દ પર લખાણની પ્રક્રિયા કરે છે (અથવા, એમ. એલ./1ની પરિભાષામાં, "અણુ દ્વારા અણુ"). ઘણી એપ્લિકેશનો માટે, અક્ષરોના ક્રમને બદલે અણુઓના ક્રમ તરીકે લખાણ પર પ્રક્રિયા કરવામાં સક્ષમ બનવું અત્યંત ઉપયોગી છે. ઉદાહરણ તરીકે, ધારો કે આપણે કોઈ પ્રોગ્રામને ડી. ઓ. એન્ડ વાક્યરચના ધરાવતી પ્રોગ્રામિંગ ભાષામાંથી બી. ઈ. જી. આઈ. એન. એન્ડ વાક્યરચના ધરાવતી ભાષામાં અનુવાદિત કરવા માંગીએ છીએ. તેથી અમે "કરો" ને "પ્રારંભ કરો" સાથે બદલવા માંગીએ છીએ. જો આપણે સામાન્ય સ્કેન-એન્ડ-રિપ્લેસ યુટિલિટી સાથે રિપ્લેસમેન્ટ કરીએ, તો "ડીઓ" શબ્દમાળાની તમામ ઘટનાઓને "બીઇજીઆઇએન" માં બદલવામાં આવશે, જેમાં "ડોક્યુમેન્ટ" (જે "બીઇજીઆઇએનસીયુએમઇએનટી" બનશે) જેવા શબ્દોમાં જડિત કોઈપણ "ડીઓ" નો સમાવેશ થાય છે. એમ. એલ./1 સાથે, તેનાથી વિપરીત, આવું નહીં થાય કારણ કે શબ્દમાળા "ડી. ઓ". માત્ર ત્યારે જ લખાણ-સ્થાનાંતરને ટ્રિગર કરશે જ્યારે તે શબ્દ તરીકે આવે (એટલે કે, જ્યારે તે જગ્યાઓ, ટૅબ્સ, નવી રેખાઓ અથવા વિરામચિહ્નો જેવા સીમાંકનો દ્વારા આગળ અને અનુસરવામાં આવે છે). એમએલ/1, લાઇન-બાય-લાઇન ધોરણે કામ કરવાને બદલે, લખાણની પેટર્નને ઓળખે છે જે ખૂબ જ જટિલ, નેસ્ટેડ, બહુવિધ સીમાંકન સાથે અને ઘણી રેખાઓ સુધી ફેલાયેલી હોઈ શકે છે. એમ. એલ./1, દાખલા તરીકે, સામાન્ય પ્રોગ્રામિંગ લેંગ્વેજ આઇ. એફ. થેન જેવી પેટર્ન પર પ્રક્રિયા કરી શકે છે. ELSE. ENDIF માળખું જે બહુવિધ રેખાઓ સુધી ફેલાયેલું છે, અને તેમાં એમ્બેડેડ લખાણ છે જે પોતે જ નેસ્ટેડ IF. ThEN નો સમાવેશ કરી શકે છે. ELSE. ENDIF માળખું. એમ. એલ./1 એમ્બેડેડ ટિપ્પણીઓ અને શાબ્દિક અવતરણોને ઓળખી શકે છે અને તેમને ફેરફારથી સુરક્ષિત કરી શકે છે. સામાન્ય સ્કેન-એન્ડ-રિપ્લેસ ઉપયોગિતાઓ સ્ટ્રિંગ્સને આડેધડ બદલે છે, પછી ભલે તે પ્રોગ્રામ ટેક્સ્ટમાં મુખ્ય શબ્દ અથવા ચલ નામ તરીકે હોય, ટિપ્પણીમાં જડિત હોય અથવા ટાંકવામાં આવેલા શાબ્દિક હોય. આવી જટિલ પેટર્નનો સામનો કરવા માટે, એમ. એલ./1 એ તેના પોતાના અધિકારમાં પ્રોગ્રામિંગ ભાષા હોવી જરૂરી છે. અન્ય પ્રોગ્રામિંગ ભાષાઓની જેમ, એમ. એલ./1 ચલ અને સોંપણી નિવેદનો, જી. ઓ. ટી. ઓ. અને લેબલો, આઇ. એફ. પછી પરીક્ષણો અને લૂપ્સને આધાર આપે છે. આ સુવિધાઓ એમ. એલ./1 ને અસામાન્ય માત્રામાં શક્તિ અને સુગમતા આપે છે. મર્યાદાઓ એમએલ/1 કેસ-સંવેદનશીલ છે, તેથી તે કેસ-અસંવેદનશીલ લખાણ પ્રક્રિયાને સમર્થન આપતું નથી. સંદર્ભો બાહ્ય કડીઓ http://www.ml1.org.uk મેક્રો પ્રોગ્રામિંગ ભાષાઓ