Portable C Compiler
પોર્ટેબલ સી કમ્પાઇલર (જેને પી. સી. સી. અથવા ક્યારેક પી. સી. સી. એમ.-પોર્ટેબલ સી કમ્પાઇલર મશીન તરીકે પણ ઓળખવામાં આવે છે) એ 1970 ના દાયકાના મધ્યમાં બેલ લેબ્સના સ્ટીફન સી. જ્હોનસન દ્વારા લખાયેલી સી પ્રોગ્રામિંગ ભાષા માટેનું પ્રારંભિક કમ્પાઇલર છે, જે અંશતઃ 1973 માં એલન સ્નાઇડર દ્વારા પ્રસ્તાવિત વિચારો પર આધારિત છે, અને "ડેનિસ રિચીના આશીર્વાદ સાથે બેલ લેબ્સ દ્વારા સી કમ્પાઇલર તરીકે વિતરિત". વિવિધ કોમ્પ્યુટર આર્કિટેક્ચર માટે આઉટપુટ કોડમાં સરળતાથી અનુકૂળ થઈ શકે તેવા પ્રથમ કમ્પાઇલર્સમાંના એક હોવાને કારણે, કમ્પાઇલરનું આયુષ્ય લાંબુ હતું. તે સાતમી આવૃત્તિ યુનિક્સમાં રજૂ થયું હતું અને 1994માં 4.4BSD ના પ્રકાશન સુધી બીએસડી યુનિક્સ સાથે મોકલવામાં આવ્યું હતું, જ્યારે તેને જીએનયુ સી કમ્પાઇલર દ્વારા બદલવામાં આવ્યું હતું. તે તેના દિવસોમાં ખૂબ જ પ્રભાવશાળી હતું, એટલું કે 1980 ના દાયકાની શરૂઆતમાં, મોટાભાગના સી કમ્પાઇલર્સ તેના પર આધારિત હતા. એન્ડર્સ મેગ્નસન અને પીટર એ. જોન્સને 2007માં પી. સી. સી. નો વિકાસ ફરી શરૂ કર્યો હતો, અને C99 ધોરણને ટેકો આપવા માટે તેને વ્યાપક રીતે ફરીથી લખ્યું હતું. લક્ષણો પી. સી. સી. ની મુખ્ય લાક્ષણિકતાઓ તેની પોર્ટેબિલિટી અને સુધારેલી નિદાન ક્ષમતાઓ છે. કમ્પાઇલરની રચના એવી રીતે કરવામાં આવી હતી કે જેથી તેની માત્ર કેટલીક સ્રોત ફાઇલો મશીન આધારિત હોય. તે વાક્યરચના ભૂલો માટે પ્રમાણમાં મજબૂત છે અને તેના સમકાલિન કરતા વધુ સંપૂર્ણ માન્યતા તપાસ કરે છે. ડેનિસ રિચી દ્વારા લખાયેલા પ્રથમ સી કમ્પાઇલરમાં રિકર્સિવ ડિસેન્ટ પાર્સરનો ઉપયોગ કરવામાં આવ્યો હતો, જેમાં પીડીપી-11 વિશે ચોક્કસ જ્ઞાનનો સમાવેશ કરવામાં આવ્યો હતો અને તે જનરેટ કરેલા એસેમ્બલી લેંગ્વેજ કોડને સુધારવા માટે વૈકલ્પિક મશીન-વિશિષ્ટ ઓપ્ટિમાઇઝર પર આધાર રાખ્યો હતો. તેનાથી વિપરીત, જ્હોનસનનું પી. સી. સી. એમ. યાક-જનરેટેડ પાર્સર પર આધારિત હતું અને વધુ સામાન્ય લક્ષ્ય મશીન મોડેલનો ઉપયોગ કર્યો હતો. બંને કમ્પાઇલરોએ લક્ષ્ય-વિશિષ્ટ એસેમ્બલી લેંગ્વેજ કોડનું ઉત્પાદન કર્યું હતું, જે પછી તેઓ લિંક કરી શકાય તેવા ઓબ્જેક્ટ મોડ્યુલો બનાવવા માટે ભેગા થયા હતા. બેલ લેબ્સમાં "ક્યુસીસી" અને "આરસીસી" તરીકે ઓળખાતી પીસીસીની પછીની આવૃત્તિઓએ અન્ય લક્ષિત સ્થાપત્ય મોડેલોને ટેકો આપ્યો હતો. પીસીસી જે ભાષાનો અમલ કરે છે તે કે એન્ડ આરસીનું વિસ્તૃત સંસ્કરણ છે જેને બાર્ને સ્ટ્રોસ્ટ્રપ "ક્લાસિક સી" કહે છે, જેમાં રદબાતલ વળતર પ્રકાર (એવા કાર્યો માટે કે જે કોઈ મૂલ્ય પરત ન કરે), ગણતરીઓ અને માળખાની સોંપણીનો સમાવેશ થાય છે. વર્તમાન સંસ્કરણ સ્ટીવ જોહ્ન્સન દ્વારા મૂળ પર આધારિત પી. સી. સી. નું નવું સંસ્કરણ હવે એન્ડર્સ મેગ્નસન દ્વારા જાળવવામાં આવે છે. કમ્પાઇલર બીએસડી લાઇસન્સ હેઠળ પ્રદાન કરવામાં આવે છે અને તેના વિકાસને બીએસડી ફંડ નામની બિન-નફાકારક સંસ્થા દ્વારા ભંડોળ પૂરું પાડવામાં આવે છે. મેગ્નસનના જણાવ્યા અનુસારઃ આ નવું સંસ્કરણ સપ્ટેમ્બર 2007માં નેટબીએસડી પી. જી. એસ. આર. સી. અને ઓપનબીએસડી સ્રોત વૃક્ષોમાં ઉમેરવામાં આવ્યું હતું, અને બાદમાં મુખ્ય નેટબીએસડી સ્રોત વૃક્ષમાં ઉમેરવામાં આવ્યું હતું. કેટલીક અટકળો હતી કે આખરે તેનો ઉપયોગ બીએસડી-આધારિત ઓપરેટિંગ સિસ્ટમ્સ પર જીએનયુ સી કમ્પાઇલરને બદલવા માટે થઈ શકે છે, જોકે ફ્રીબીએસડી અને નેટબીએસડી બંને ક્લાંગને સંભવિત રિપ્લેસમેન્ટ તરીકે જોઈ રહ્યા છે, અને ઓપનબીએસડીના થિયો ડી રાડ્ટ ભારપૂર્વક જણાવે છે કે પીસીસી હજી જીસીસી રિપ્લેસમેન્ટ બનવા માટે તૈયાર નથી, અને જીસીસીનો નિકાલ એ ટોચની પ્રાથમિકતા નથી. 29 ડિસેમ્બર, 2009ના રોજ, પી. સી. સી. કાર્યાત્મક x86 ઓપનબીએસડી કર્નલ ઈમેજ બનાવવા માટે સક્ષમ બન્યું. પી. સી. સી. આવૃત્તિ 1 એપ્રિલ 2011ના રોજ રજૂ કરવામાં આવી હતી. આ પ્રકાશન મુજબ, કમ્પાઇલર x86 અને x64 પ્રોસેસર આર્કિટેક્ચરને સપોર્ટ કરે છે અને નેટબીએસડી, ઓપનબીએસડી, ફ્રીબીએસડી, વિવિધ લિનક્સ વિતરણો અને માઇક્રોસોફ્ટ વિન્ડોઝ પર ચાલે છે. વધુ આર્કિટેક્ચર અને FORTRAN 77 અને C + + ફ્રન્ટ એન્ડ માટે સપોર્ટ સહિત વધુ વિકાસ 2022 સુધી ચાલુ છે. પીસીસીને 2012માં ઓપનબીએસડી સ્રોત વૃક્ષમાંથી દૂર કરવામાં આવ્યું હતું. તેના પર વિકાસ અટકી ગયો હતો અને કોઈ જાળવણીકારે તેને એવી વસ્તુમાં વિકસાવવા માટે પગલું ભર્યું ન હતું જે જીએનયુ કમ્પાઇલર કલેક્શનનો વ્યવહારુ વિકલ્પ બનાવી શકે. પી. સી. સી. નું નવીનતમ સંસ્કરણ, એટલે કે 1.1.0,10 ડિસેમ્બર 2014ના રોજ બહાર પાડવામાં આવ્યું હતું. એમ્સ્ટર્ડમ કમ્પાઇલર કિટ ક્લાંગ ઓપન વોટકોમ રેફરન્સ બાહ્ય લિંક્સ આર્કાઇવ એટ ટીયુએચએસ સી (પ્રોગ્રામિંગ લેંગ્વેજ) કમ્પાઇલર્સ ફ્રી કમ્પાઇલર્સ એન્ડ ઇન્ટરપ્રિટર્સ સોફ્ટવેર યુઝિંગ બીએસડી લાઇસન્સ ઓપનબીએસડી નેટબીએસડી પણ જુઓ.