Watu wengi wana shida au kufadhaika na lugha za programu wanazotumia kila siku. Wengine wanataka vitu vishughulikiwe zaidi, lakini wengine hawapendi kutekeleza huduma ambazo wanataka kuwa 'za kawaida'. Iwe wewe ni mtaalam wa IT au mtu anayependa tu kupendeza, mara nyingi unaweza kujikuta unataka kuunda lugha mpya ya programu.
Hatua
Hatua ya 1. Jijulishe na teknolojia
Hauwezi kuunda lugha ya programu ikiwa haujui kutumia kompyuta.
Hatua ya 2. Jijulishe na istilahi
Waandishi wa mkusanyaji mara nyingi hutumia istilahi isiyojulikana. Soma juu ya watunzi kabla ya kuendelea. Hakikisha kujua kila kitu unachohitaji kujua.
Hatua ya 3. Amua ni shida gani lugha yako inasuluhisha
Je! Ni kushughulikia shida maalum ya kikoa, au ni lugha ya kusudi la jumla?
Hatua ya 4. Fikiria juu ya semantiki ya lugha yako na dhana zake
- Je! Utaruhusu ufikiaji wa moja kwa moja wa pointer au la?
- Je! Ni aina gani za data za lugha yako?
- Je! Ni lugha ya tuli au yenye nguvu?
- Mfano wako wa kumbukumbu ni nini? Je! Utatumia mkusanyaji wa takataka au usimamizi wa kumbukumbu ya mwongozo? (Ikiwa unatumia mkusanyaji wa takataka, jitayarishe kuandika moja au ubadilishe iliyopo kwa lugha yako.)
- Je! Utashughulikia vipi concurrency? Je! Utatumia mtindo rahisi wa kufunga / kufunga au kitu ngumu zaidi kama Linda au mfano wa mwigizaji? (Kwa kuwa siku hizi kompyuta zina cores nyingi.)
- Je! Kuna kazi za zamani zilizowekwa ndani ya lugha au kila kitu kitatoka kwenye maktaba?
- Ni nini dhana au dhana za lugha yako? Inatumika? Inayolenga kitu? Mfano (kama JavaScript)? Inayolenga sura? Uelekezaji wa kiolezo? Au kitu kipya kabisa?
- Je! Lugha yako itaunganishaje na maktaba na lugha zilizopo (haswa C)? Hoja hii ni muhimu ikiwa unaunda lugha maalum ya kikoa.
- Mwishowe, majibu mengine ya maswali haya yatajibiwa na hatua ya pili na itakusaidia kujibu hatua inayofuata.
Hatua ya 5. Fikiria juu ya majukumu maalum ambayo mtu angetaka kuweza kufanya na lugha yako
Kwa mfano.
Hatua ya 6. Jaribu maoni ya sintaksia (maandishi ya lugha) kwa mifano hapo juu
Kuwa mwangalifu kuweka lugha yako katika kitengo cha lugha isiyo na muktadha au kitu ndani yake. Jenereta wako na utashukuru baadaye
Hatua ya 7. Andika sarufi rasmi ya sintaksia
Hatua ya 8. Amua ikiwa lugha hiyo itafasiriwa au kukusanywa
Maana yake ni kwamba katika ulimwengu uliotafsirika mtumiaji wako atahariri programu yako kama mhariri, na kuiendesha moja kwa moja kwenye mkalimani; ukiwa katika ulimwengu uliokusanywa, mtumiaji wako atahariri programu yako, kuiandaa, kuokoa inayoweza kutekelezwa mahali pengine na kuiendesha.
Hatua ya 9. Andika skana ya mwisho na kisomaji cha mbele au pata zana ambayo inakusaidia kwa hii
Pia, fikiria juu ya jinsi mkusanyaji / mkalimani wako atamuonya mtumiaji wako juu ya programu zenye makosa na makosa ya sintaksia
Hatua ya 10. Tumia habari ya mshauri kuandika nambari ya kitu au uwakilishi wa kati
Mfanyie msanidi kuunda AST, kisha uunda nambari yako ya kitu kutoka kwa AST ukitumia nambari ya anwani tatu au kaka yake mkubwa SSA, kisha uunda meza ya alama kufafanua kazi zako, anuwai za ulimwengu, n.k.
Pia, kulingana na lugha yako, unaweza pia kutaka kuunda meza za pointer au meza za habari kwa madarasa yako (ili kusaidia kutafakari au RTTI)
Hatua ya 11. Andika msimamizi au jenereta ya nambari ambayo itafunga kila kitu pamoja
Hatua ya 12. Andika programu nyingi za mtihani ili ujaribu lugha
Unataka kuunda mipango ambayo inasisitiza mizigo ya sarufi yako rasmi ili uone kuwa mkusanyaji wako anakubali kila kitu kilicho ndani ya ufafanuzi wako na anakataa kila kitu kilicho nje yake
Hatua ya 13. Fikiria jinsi mtumiaji atatatua programu zao
Hatua ya 14. Ikiwa lugha yako inatumia maktaba ya kawaida, utahitaji kuiandika
Pamoja na mtoza takataka au huduma zingine za wakati wa kukimbia ikiwa unahitaji.
Hasa, ikiwa utaandika mkusanyaji, utahitaji nambari ambayo mfumo wa uendeshaji utafanya ili kuanza kutumia nambari ya mtumiaji (kwa mfano, kutenga anuwai zote za ulimwengu)
Hatua ya 15. Chapisha lugha yako, pamoja na maelezo yake na mifano kadhaa ya kile unaweza kufanya ndani yake
Usisahau kuandika jinsi unavyoweza kujumuika na maktaba zilizopo, lugha na jinsi ya kutumia vipengee vya wakati wa kukimbia na / au maktaba ya kawaida
Video - Kwa kutumia huduma hii, habari zingine zinaweza kushirikiwa na YouTube
Vidokezo
- Anza kwa kubuni lugha yako na usiandike nambari yoyote, mpaka utakaporidhika na kujibu maswali yote (au mengi) ya maswali au shida zinazohusiana na muundo wako kwani ni rahisi kubadilisha muundo mapema zaidi kuliko baadaye.
- Jua jukwaa lako lengwa (mfumo wa uendeshaji na maktaba) kwa mkusanyaji / mkalimani wako, baada ya yote, utaitumia na kuitumia.
Maonyo
- Fikiria ikiwa unahitaji lugha mpya, na lugha yako ina nini mpya ambayo lugha zingine hazina (Inaweza kuwa mchanganyiko wa huduma au huduma moja).
- Kuandika lugha ni ngumu ikiwa haujui unachofanya. Inachukua mazoezi mengi, pia.
- Jitayarishe kutumia muda katika usanifu wa lugha, kwani hautakuwa na nafasi ya kubadilisha lugha yako ukishaandika mkusanyaji na kupita hatua ya muundo.
- Usijaribu kuweka huduma zako katika umoja wa lugha kadhaa, kama kusema kwamba lugha yako itakuwa umoja wa lugha X, lugha Y na lugha Z. Historia imetuonyesha kuwa lugha zilizoundwa kwa njia kama hiyo hazitapata mafanikio kamwe, au kila mtu angekuwa akipanga PL / 1 badala ya kitu kulingana na C.