Sweble
સ્વિબલ વિકિટેક્સ્ટ પાર્સર એ વિકિપીડિયા પાછળના સોફ્ટવેર મીડિયાવિકી દ્વારા ઉપયોગમાં લેવાતી વિકિટેક્સ્ટ માર્કઅપ ભાષાનું વિશ્લેષણ કરવા માટેનું એક ઓપન સોર્સ ટૂલ છે. પ્રારંભિક વિકાસ 2009 થી 2011 સુધી એર્લાન્જેન-ન્યુરેમબર્ગ યુનિવર્સિટી ખાતે પ્રોફેસર ડર્ક રીહલેના ઓપન સોર્સ રિસર્ચ ગ્રૂપ ખાતે પીએચ. ડી. થીસીસ પ્રોજેક્ટ તરીકે હેન્સ ડોહર્ન દ્વારા કરવામાં આવ્યો હતો. પરિણામો 2011 માં વિકીસિમ પરિષદમાં પ્રથમ વખત જાહેર જનતા સમક્ષ રજૂ કરવામાં આવ્યા હતા. તે પહેલાં, આ શોધ નિબંધનું નિરીક્ષણ કરવામાં આવ્યું હતું અને સ્વતંત્ર વૈજ્ઞાનિક પીઅર-રીવ્યુ દ્વારા તેને મંજૂરી આપવામાં આવી હતી અને તેને એસીએમ પ્રેસમાં પ્રકાશિત કરવામાં આવ્યો હતો. ઓહલોહ ખાતેના આંકડાઓના આધારે પાર્સર મુખ્યત્વે જાવા પ્રોગ્રામિંગ ભાષામાં લખવામાં આવે છે. તે મે 2011 માં ઓપન સોર્સ કરવામાં આવ્યું હતું. પાર્સર પોતે ઉંદરોનો ઉપયોગ કરીને પાર્સિંગ એક્સપ્રેશન વ્યાકરણ (PEG) માંથી પેદા થાય છે! પાર્સર જનરેટર. એન્કોડિંગ માન્યતા જેફ્લેક્સમાં લખાયેલા ફ્લેક્સ લેક્સિકલ વિશ્લેષકનો ઉપયોગ કરીને કરવામાં આવે છે. સ્વિબલ વિકિટેક્સ્ટ પાર્સરની ડિઝાઇન પર પેપરનું પ્રીપ્રિન્ટ વર્ઝન પ્રોજેક્ટના હોમપેજ પર મળી શકે છે. તે ઉપરાંત, મીડિયાવિકીના ફ્યુચર્સમાં સારાંશ પૃષ્ઠ અસ્તિત્વમાં છે. પદચ્છેદનની હાલની સ્થિતિ મીડિયાવિકીમાં વપરાતું પદચ્છેદન વિકિટેક્સ્ટમાંથી સામગ્રીને સીધા એચટીએમએલમાં રૂપાંતરિત કરે છે. આ પ્રક્રિયા બે તબક્કામાં કરવામાં આવે છેઃ નમૂનાઓની શોધ અને વિસ્તરણ (જેમ કે ઇન્ફોબોક્સ), ચલ અને મેટા-માહિતી (જેમ કે. {{lc: ABC}} લોઅર-કેસ એબીસીમાં રૂપાંતરિત થાય છે). નમૂના પૃષ્ઠોમાં ફરીથી આવી મેટા-માહિતી હોઈ શકે છે જેથી તેનું મૂલ્યાંકન પણ કરવું પડે (પુનરાવર્તન). આ અભિગમ ઉપયોગમાં લેવાતા મેક્રો વિસ્તરણ જેવો જ છે. સી + + જેવી પ્રોગ્રામિંગ ભાષાઓમાં. હવે સંપૂર્ણ રીતે વિસ્તૃત થયેલા લખાણનું પદચ્છેદન અને રેન્ડરિંગ. આથી, લખાણને મીડિયાવિકીના બિલ્ટ-ઇન કાર્યોના ક્રમ દ્વારા પ્રક્રિયા કરવામાં આવે છે જે દરેક એક જ રચનાને ઓળખે છે. તે નિયમિત અભિવ્યક્તિઓનો ઉપયોગ કરીને સામગ્રીનું વિશ્લેષણ કરે છે અને તેનું સ્થાન લે છે, દા. ત. = હેડ = તેના એચટીએમએલ સમકક્ષ <એચ1> હેડ </એચ1> સાથે. મોટાભાગના કિસ્સાઓમાં, કોષ્ટકો અથવા યાદીઓના અપવાદો સાથે, આ પગલાંઓ રેખા દ્વારા કરવામાં આવે છે. જેમ કે સ્વિબલના લેખકો તેમના પેપરમાં લખે છે, મીડિયાવિકીના પદચ્છેદનના સ્રોત કોડનું વિશ્લેષણ દર્શાવે છે કે અલગ પરિવર્તન પગલાંનો ઉપયોગ કરવાની વ્યૂહરચના નવી સમસ્યાઓ તરફ દોરી જાય છેઃ મોટાભાગના વપરાયેલ કાર્યો આસપાસના તત્વોના અવકાશને ધ્યાનમાં લેતા નથી. આ પરિણામે પરિણામી એચ. ટી. એમ. એલ. આઉટપુટમાં ખોટા માળખા તરફ દોરી જાય છે. પરિણામે, પછીનું મૂલ્યાંકન અને રેન્ડરિંગ અસ્પષ્ટ હોઈ શકે છે અને વપરાયેલ વેબ બ્રાઉઝરના રેન્ડરિંગ એન્જિન પર આધાર રાખે છે. તેઓ જણાવે છેઃ "વ્યક્તિગત પ્રક્રિયા પગલાં ઘણીવાર પાર્સરની અનપેક્ષિત અને અસંગત વર્તણૂક તરફ દોરી જાય છે. ઉદાહરણ તરીકે, સૂચિઓ કોષ્ટક કોષોની અંદર ઓળખાય છે. જો કે, જો કોષ્ટક પોતે ફ્રેમ કરેલી છબીની અંદર દેખાય છે, તો સૂચિઓ ઓળખાતી નથી. 2008માં વિકીસિમ પરિષદમાં દલીલ કરવામાં આવી હતી તેમ, ભાષાની ચોકસાઇનો અભાવ અને ઘટકને અલગ પાડવાથી વિકી સોફ્ટવેરની ઉત્ક્રાંતિમાં અવરોધ આવે છે. જો વિકી સામગ્રીમાં સારી રીતે નિર્દિષ્ટ રજૂઆત હોય જે સંપૂર્ણપણે મશીન પ્રક્રિયા કરી શકાય તેવી હોય, તો તે માત્ર તેની સામગ્રીની વધુ સારી સુલભતા તરફ દોરી જશે નહીં પણ તેની પ્રક્રિયા કરવાની રીતોને પણ સુધારશે અને વિસ્તૃત કરશે. વધુમાં, વિકી સામગ્રી માટે સારી રીતે વ્યાખ્યાયિત ઓબ્જેક્ટ મોડેલ તેના પર વધુ સાધનોને કામ કરવાની મંજૂરી આપશે. અત્યાર સુધી મીડિયાવિકી માટે નવા પાર્સરને અમલમાં મૂકવાના અસંખ્ય પ્રયાસો થયા છે (જુઓ). તેમાંથી એક પણ હજુ સુધી સફળ થયું નથી. સ્વબલના લેખકો જણાવે છે કે આ "તેમની વ્યાકરણની પસંદગી, એટલે કે જાણીતા એલ. એ. એલ. આર. (1) અને એલ. એલ. (કે) વ્યાકરણને કારણે હોઈ શકે છે. જ્યારે આ વ્યાકરણ માત્ર સંદર્ભ-મુક્ત વ્યાકરણનો સબસેટ છે, ત્યારે વિકિટેક્સ્ટને વૈશ્વિક પદચ્છેદન સ્થિતિની જરૂર છે અને તેથી તેને સંદર્ભ-સંવેદનશીલ ભાષા ગણી શકાય. પરિણામે, તેઓ તેમના પદચ્છેદનને પદચ્છેદન અભિવ્યક્તિ વ્યાકરણ (PEG) પર આધારિત કરે છે. સ્વીબલ કેવી રીતે કામ કરે છે સ્વીબલ વિકિટેક્સ્ટનું વિશ્લેષણ કરે છે અને આઉટપુટ તરીકે અમૂર્ત વાક્યરચના વૃક્ષ ઉત્પન્ન કરે છે. આ ખોટા માર્કઅપ કોડમાંથી ભૂલો ટાળવામાં મદદ કરે છે (દા. ત. કોષ્ટકના બહુવિધ કોષો પર ફેલાયેલી કડી). અમૂર્ત વાક્યરચના વૃક્ષ મોડેલનું વિગતવાર વર્ણન વિકિટેક્સ્ટ ઓબ્જેક્ટ મોડેલ (WOM) વિશેના તકનીકી અહેવાલમાં મળી શકે છે. પાર્સિંગના પગલાં પાર્સર વિકિટેક્સ્ટને પાંચ તબક્કામાં પ્રક્રિયા કરે છેઃ 1. એન્કોડિંગ માન્યતા કારણ કે વિકિટેક્સ્ટમાં તમામ સંભવિત અક્ષરોને મંજૂરી નથી (દા. ત. યુનિકોડમાં નિયંત્રણ અક્ષરો), વાસ્તવિક પદચ્છેદન શરૂ કરતા પહેલા સફાઇ પગલું જરૂરી છે. વધુમાં, અસ્તિત્વ માટેના પરિણામી નામોને અનન્ય બનાવીને પછીના પગલાંને સરળ બનાવવા માટે કેટલાક આંતરિક નામકરણ કરવામાં આવે છે. આ પ્રક્રિયામાં તે સુનિશ્ચિત કરવું આવશ્યક છે કે પાર્સર માટે ઉપસર્ગ તરીકે ઉપયોગમાં લેવાતા અક્ષર બચી ગયા નથી અથવા બદલાયા નથી. જો કે, આ તબક્કે ઇનપુટમાંથી અક્ષરોને અલગ કરવાને કારણે માહિતીની ખોટ થવી જોઈએ નહીં. 2. પૂર્વ પ્રક્રિયા ગેરકાયદેસર અક્ષરોમાંથી લખાણને સાફ કર્યા પછી, પરિણામી વિકિટેક્સ્ટ વિસ્તરણ માટે તૈયાર કરવામાં આવે છે. આ હેતુ માટે તેને XML જેવી ટિપ્પણીઓ, મેટા-માહિતી જેવી કે રીડાયરેક્શન્સ એટ સેટેરા, શરતી ટેગ્સ અને ટેગ એક્સ્ટેન્શન્સ માટે સ્કેન કરવામાં આવે છે. બાદમાં XML ઘટકો છે જે અનુક્રમે પાર્સર કાર્યો અથવા ચલો જેવા જ ગણવામાં આવે છે. અજ્ઞાત નામોવાળા XML ઘટકોને સામાન્ય text.The તરીકે ગણવામાં આવે છે, આ તબક્કાનું પરિણામ એ. એસ. ટી. છે જેમાં મોટે ભાગે લખાણ નોડ્સનો સમાવેશ થાય છે પરંતુ લિંક્સ, ટ્રાન્સક્લુઝન નોડ્સ અને ટેગ એક્સ્ટેંશનના નોડ્સને પણ રીડાયરેક્ટ કરે છે. 3. મીડિયાવિકીમાં વિસ્તરણ પૃષ્ઠો ઘણીવાર નમૂનાઓ, જાદુઈ શબ્દો, પાર્સર કાર્યો અને ટેગ એક્સ્ટેંશનનો ઉપયોગ કરીને બનાવવામાં આવે છે. ડબલ્યુ. વાય. એસ. આઇ. ડબલ્યુ. વાય. વાય. જી. સંપાદકમાં એ. એસ. ટી. નો ઉપયોગ કરવા માટે, મૂળ પૃષ્ઠમાં બિન-વિસ્તૃત ટ્રાન્સક્લુઝન સ્ટેટમેન્ટ અને પાર્સર ફંક્શન કૉલ્સ જોવા માટે વિસ્તરણ છોડી દેવું જોઈએ. જો કે, સામગ્રી પ્રસ્તુત કરવા માટે દા. ત. એચટીએમએલ પૃષ્ઠ તરીકે સંપૂર્ણ આઉટપુટ મેળવવા માટે આની પ્રક્રિયા કરવી આવશ્યક છે. વધુમાં, નમૂનાઓ તરીકે ઉપયોગમાં લેવાતા પૃષ્ઠો પોતે અન્ય પૃષ્ઠોને સ્થાનાંતરિત કરી શકે છે જે વિસ્તરણને પુનરાવર્તિત પ્રક્રિયા બનાવે છે. 4. પદચ્છેદન શરૂ થાય તે પહેલાં, એ. એસ. ટી. ને ફરીથી વિકિટેક્સ્ટમાં રૂપાંતરિત કરવું પડશે. એકવાર આ પગલું પૂર્ણ થઈ જાય પછી, PEG પાર્સર લખાણનું વિશ્લેષણ કરે છે અને વિકિ પૃષ્ઠના વાક્યરચના અને શબ્દાર્થને કબજે કરતી AST બનાવે છે. 5. પોસ્ટ-પ્રોસેસિંગ આ તબક્કામાં સંપૂર્ણ આઉટપુટ ઘટકો બનાવવા માટે ટૅગ્સ મેળ ખાય છે. વધુમાં, એપોસ્ટ્રોફીનું વિશ્લેષણ એ નક્કી કરવા માટે કરવામાં આવે છે કે તેમાંથી કઈ વાસ્તવિક ગદ્ય એપોસ્ટ્રોફી છે અને જેને વિકિટેક્સ્ટમાં બોલ્ડ અથવા ઇટાલિક ફોન્ટ માટે માર્કઅપ તરીકે અર્થઘટન કરવું પડશે. ફકરાની એસેમ્બલી પણ આ પગલામાં હાથ ધરવામાં આવે છે. આથી, એ. એસ. ટી. વૃક્ષની રચના પર ઊંડાઈ-પ્રથમ ટ્રેવર્સલનો ઉપયોગ કરીને પ્રક્રિયા કરવામાં આવે છે. વિવિધ પ્રકારના આઉટપુટનું રેન્ડરિંગ તેમજ વિશ્લેષણ કાર્યો મુલાકાતીઓ તરીકે સાકાર થાય છે. આ AST ડેટા માળખાને ડેટા પર કામ કરતા અલ્ગોરિધમ્સથી અલગ કરવામાં મદદ કરે છે. સંદર્ભો પાર્સિંગ મીડિયાવિકી સંકલન સાધનો યુનિક્સ પ્રોગ્રામિંગ સાધનો