Jinsi ya Kuunda Lugha ya Programu: Hatua 15 (na Picha)

Orodha ya maudhui:

Jinsi ya Kuunda Lugha ya Programu: Hatua 15 (na Picha)
Jinsi ya Kuunda Lugha ya Programu: Hatua 15 (na Picha)

Video: Jinsi ya Kuunda Lugha ya Programu: Hatua 15 (na Picha)

Video: Jinsi ya Kuunda Lugha ya Programu: Hatua 15 (na Picha)
Video: 28 панфиловцев. Самая полная версия. Panfilov's 28 Men (English subtitles) 2024, Aprili
Anonim

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

Unda Lugha ya Programu Hatua ya 1
Unda Lugha ya Programu Hatua ya 1

Hatua ya 1. Jijulishe na teknolojia

Hauwezi kuunda lugha ya programu ikiwa haujui kutumia kompyuta.

Unda Lugha ya Programu Hatua ya 2
Unda Lugha ya Programu Hatua ya 2

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.

Unda Lugha ya Programu Hatua ya 3
Unda Lugha ya Programu Hatua ya 3

Hatua ya 3. Amua ni shida gani lugha yako inasuluhisha

Je! Ni kushughulikia shida maalum ya kikoa, au ni lugha ya kusudi la jumla?

Unda Lugha ya Programu Hatua ya 4
Unda Lugha ya Programu Hatua ya 4

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.
Unda Lugha ya Programu Hatua ya 5
Unda Lugha ya Programu Hatua ya 5

Hatua ya 5. Fikiria juu ya majukumu maalum ambayo mtu angetaka kuweza kufanya na lugha yako

Kwa mfano.

Unda Lugha ya Programu Hatua ya 6
Unda Lugha ya Programu Hatua ya 6

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

Unda Lugha ya Programu Hatua ya 7
Unda Lugha ya Programu Hatua ya 7

Hatua ya 7. Andika sarufi rasmi ya sintaksia

Unda Lugha ya Programu Hatua ya 8
Unda Lugha ya Programu Hatua ya 8

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.

Unda Lugha ya Programu Hatua ya 9
Unda Lugha ya Programu Hatua ya 9

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

Unda Lugha ya Programu Hatua ya 10
Unda Lugha ya Programu Hatua ya 10

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)

Unda Lugha ya Programu Hatua ya 11
Unda Lugha ya Programu Hatua ya 11

Hatua ya 11. Andika msimamizi au jenereta ya nambari ambayo itafunga kila kitu pamoja

Unda Lugha ya Programu Hatua ya 12
Unda Lugha ya Programu Hatua ya 12

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

Unda Lugha ya Programu Hatua ya 13
Unda Lugha ya Programu Hatua ya 13

Hatua ya 13. Fikiria jinsi mtumiaji atatatua programu zao

Unda Lugha ya Programu Hatua ya 14
Unda Lugha ya Programu Hatua ya 14

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)

Unda Lugha ya Programu Hatua ya 15
Unda Lugha ya Programu Hatua ya 15

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.

Ilipendekeza: