Siideynta luuqadda barnaamijka Lua 5.4

Shan sano oo horumar ah ka dib la heli karo sii daayo Lua 5.4, Luuqad qoraal ah oo degdeg ah oo kooban oo si weyn loogu isticmaalo luqad la dhex-gudlan (tusaale ahaan, qeexida qaabaynta ama kordhinta qoraalka). Koodhka turjubaanka Lua waxa uu ku qoran yahay C iyo qaybiyey hoos shatiga MIT.

Lua waxay isku daraysaa habraac fudud oo leh awoodo sifayn xogta oo awood leh iyadoo la adeegsanayo hab-raacyo la xidhiidha iyo semanti afka la fidin karo. Lua waxay isticmaashaa qorid firfircooni leh, u beddela samaynta luqadda bytecode kaas oo ku shaqeeya korka mashiinka farsamada ee diiwaanka ku salaysan ee leh ururinta qashinka otomaatiga ah. Turjubaanka laftiisa waxaa loo qaabeeyey sidii maktabad si fudud loogu dhex dari karo mashaariicda luuqadaha C iyo C++.

Main wax cusub:

  • Qaab cusub oo loo shaqeeyo qashin ururinta ayaa la hirgeliyay - β€œjiilβ€œ, kaas oo kaabiyay qaabkii qashin ururinta kordhinta ee hore loo heli jiray. Habka cusubi waxa uu ku lug leeyahay in guurguurto la soo gaabiyo si joogta ah, oo daboolaysa oo kaliya walxaha dhawaan la abuuray. Gudbinta buuxda ee dhammaan walxaha waxaa la sameeyaa kaliya haddii, ka dib socod gaaban, aysan suurtagal ahayn in la gaaro isticmaalka xusuusta ee la rabay. Habkani wuxuu kuu ogolaanayaa inaad gaarto waxqabad sare oo aad hoos u dhigto isticmaalka xusuusta markaad kaydinayso tiro badan oo walxo ah oo ku nool wakhti gaaban.
  • Lagu daray awoodda lagu qeexo doorsoomayaal joogto ah oo lagu qeexay sifada "const". Doorsoomayaashan oo kale hal mar ayaa la meelayn karaa, marka la bilaabo, lama beddeli karo.
  • Taageero lagu daray doorsoomayaasha"la xidho", kuwaas oo loo qoondeeyey iyada oo la adeegsanayo sifada" dhow" oo u eg doorsoomayaal maxalli ah oo joogto ah (oo leh sifada const), iyaga oo ka duwan iyaga in qiimaha xiran yahay (habka "__xid" ayaa loo yaqaan) mar kasta oo baaxadda laga baxo, tusaale ahaan, Kadib dhamaystirka caadiga ah ee xannibaadda, u gudubka iyadoo la isticmaalayo nasasho/goto/soo noqosho ama bixitaan marka uu khalad dhaco.
  • Nooca"xogta isticmaalaha", kaas oo siiya awoodda lagu kaydiyo xogta C kasta ee doorsoomayaasha Lua (waxay ka dhigan tahay block of data ee xusuusta ama ka kooban tilmaame C), hadda waxay ka koobnaan kartaa dhowr qiyam (waxay leeyihiin dhowr metatables).
  • Hirgelinta cusub ee shaqada ee abuuritaanka tirooyinka beenta ah ayaa la soo bandhigay - math.random.
  • Waxaa lagu daray nidaam digniin ah oo lagu go'aamiyay iyadoo la adeegsanayo tibaaxaha digniin iyo, ka duwan khaladaadka, ma saameeyaa fulinta dheeraad ah ee barnaamijka.
  • Waxaa lagu daray macluumaadka qaladka ee ku saabsan doodaha shaqada iyo soo celinta qiyamka.
  • Semantic cusub ayaa loo soo jeediyay in la tiriyo isku dhafka wareegyada "waayo," Tirada soo noqnoqota waxa la xisaabiyaa ka hor inta aanu wareegtu bilaabmin, taas oo ka fogaynaysa qulqulka doorsoomayaasha ah iyo wareegtada. Haddii qiimaha hore uu ka weyn yahay qiimaha xaddidan, qalad ayaa la soo bandhigayaa.
  • shaqaynaysaxadhig.gmatch' ayaa lagu daray dood cusub oo ikhtiyaari ah 'init', kaas oo go'aaminaya booska laga bilaabayo raadinta (sida caadiga ah, laga bilaabo 1 xaraf).
  • Tilmaamo cusub ayaa lagu daray 'lua_resetthread' (dib u cusboonaysiinta dunta, waxay nadiifisaa xidhmada wicitaanka oo dhan oo xidhaa dhammaan doorsoomayaasha "in-la-xiran") iyo 'coroutine.xiran' (waxay xidhaysaa corutine-ka iyo dhammaan doorsoomayaasha "in-la-xiran" ee la xidhiidha).
  • Hawsha loogu badalo xargaha tirooyinka waxaa loo raray maktabadda "xadhig".
  • Wicitaannada ku saabsan shaqada qoondaynta xusuusta ayaa hadda fashilmi kara haddii cabbirka xannibaadda xusuusta la yareeyo.
  • shaqaynaysaxadhig.qaabTaageerada lagu daray qaabka cusub ee tilmaame '%p' (tilmaamaha waxaa soo celiyay lua_topointer).
  • Maktabada utf8 waxay bixisaa taageero codes jilayaasha oo leh tirooyinka ilaa 2^31.

Source: opennet.ru

Add a comment