Si të krijoni një gjuhë programimi: 15 hapa (me fotografi)

Përmbajtje:

Si të krijoni një gjuhë programimi: 15 hapa (me fotografi)
Si të krijoni një gjuhë programimi: 15 hapa (me fotografi)

Video: Si të krijoni një gjuhë programimi: 15 hapa (me fotografi)

Video: Si të krijoni një gjuhë programimi: 15 hapa (me fotografi)
Video: Необычное решение для стены. Лучше, чем ламинат на стену. ПЕРЕДЕЛКА ХРУЩЕВКИ ОТ А до Я. #13 2024, Mund
Anonim

Shumë njerëz kanë vështirësi ose frustrime me gjuhët e programimit që përdorin çdo ditë. Disa duan që gjërat të trajtohen në mënyrë më abstrakte, ndërsa të tjerëve nuk u pëlqen zbatimi i veçorive që ata dëshirojnë të ishin 'standarde'. Pavarësisht nëse jeni një profesionist i TI -së ose thjesht një hobi, shumë herë mund të gjeni veten duke dashur të krijoni një gjuhë të re programimi.

Hapa

Krijoni një gjuhë programimi Hapi 1
Krijoni një gjuhë programimi Hapi 1

Hapi 1. Njihuni me teknologjinë

Ju nuk mund të krijoni një gjuhë programimi nëse nuk dini si të përdorni një kompjuter.

Krijoni një gjuhë programimi Hapi 2
Krijoni një gjuhë programimi Hapi 2

Hapi 2. Njihuni me terminologjinë

Shkrimtarët përpilues shpesh përdorin terminologji të panjohur. Lexoni përpiluesit para se të vazhdoni. Sigurohuni që të dini gjithçka që duhet të dini.

Krijoni një gjuhë programimi Hapi 3
Krijoni një gjuhë programimi Hapi 3

Hapi 3. Vendosni se çfarë problemi po zgjidh gjuha juaj

A po trajton një problem specifik të fushës, apo është një gjuhë me qëllime të përgjithshme?

Krijoni një gjuhë programimi Hapi 4
Krijoni një gjuhë programimi Hapi 4

Hapi 4. Mendoni për semantikën e gjuhës tuaj dhe konceptet e saj

  • A do të lejoni qasje të drejtpërdrejtë të treguesit apo jo?
  • Cilat janë llojet e të dhënave të gjuhës suaj?
  • A është një gjuhë statike apo dinamike?
  • Cili është modeli juaj i kujtesës? A do të përdorni një grumbullues plehrash ose menaxhim manual të kujtesës? (Nëse përdorni një grumbullues plehrash, përgatituni të shkruani një ose përshtatni një ekzistues në gjuhën tuaj.)
  • Si do të trajtohet njëkohshmëria? A do të përdorni një model të thjeshtë fillesë/mbyllës ose diçka më komplekse si Linda apo modeli aktor? (Që në ditët e sotme kompjuterët kanë bërthama të shumta.)
  • A ka funksione primitive të ngulitura në gjuhë apo gjithçka do të vijë nga një bibliotekë?
  • Cila është paradigma ose paradigmat e gjuhës suaj? Funksionale? I orientuar nga objekti? Prototip (si JavaScript)? Aspekti i orientuar? Orientuar sipas modelit? Apo diçka krejt e re?
  • Si do të ndërlidhet gjuha juaj me bibliotekat dhe gjuhët ekzistuese (kryesisht C)? Kjo pikë është e rëndësishme nëse po ndërtoni një gjuhë specifike për domenin.
  • Së fundi, disa nga përgjigjet e këtyre pyetjeve do të përgjigjen në hapin e dytë dhe do t'ju ndihmojnë t'i përgjigjeni hapit tjetër.
Krijoni një gjuhë programimi Hapi 5
Krijoni një gjuhë programimi Hapi 5

Hapi 5. Mendoni për disa detyra specifike që dikush do të donte të ishte në gjendje t'i kryejë me gjuhën tuaj

Për shembull, "ata mund të duan të drejtojnë një robot që të ndjekë një linjë" ose "ata mund të duan të krijojnë programe desktopi relativisht të lëvizshëm në të" ose "ata mund të duan të krijojnë aplikacione në internet me të".

Krijoni një gjuhë programimi Hapi 6
Krijoni një gjuhë programimi Hapi 6

Hapi 6. Eksperimentoni me idetë sintaksore (tekstin e gjuhës) për shembujt e mësipërm

Kini kujdes që ta mbani gjuhën tuaj në kategorinë e gjuhëve pa kontekst ose diçka brenda saj. Gjeneratori juaj i analizuesit dhe do ta vlerësoni më vonë

Krijoni një gjuhë programimi Hapi 7
Krijoni një gjuhë programimi Hapi 7

Hapi 7. Shkruani një gramatikë zyrtare për sintaksën

Krijoni një gjuhë programimi Hapi 8
Krijoni një gjuhë programimi Hapi 8

Hapi 8. Vendosni nëse gjuha do të interpretohet ose përpilohet

Do të thotë që në botën e interpretuar përdoruesi juaj zakonisht do të redaktojë programin tuaj në një redaktues dhe do ta ekzekutojë atë drejtpërdrejt në përkthyesin; ndërsa në botën e përpiluar, përdoruesi juaj do të redaktojë programin tuaj, do ta përpilojë atë, do ta ruajë ekzekutuesin që rezulton diku dhe do ta ekzekutojë.

Krijoni një gjuhë programimi Hapi 9
Krijoni një gjuhë programimi Hapi 9

Hapi 9. Shkruani skanerin dhe analizuesin e përparmë ose gjeni një mjet që ju ndihmon me këtë

Gjithashtu, mendoni se si përpiluesi/përkthyesi juaj do të paralajmërojë përdoruesin tuaj për programet e gabuara dhe gabimet sintaksore

Krijoni një gjuhë programimi Hapi 10
Krijoni një gjuhë programimi Hapi 10

Hapi 10. Përdorni informacionin e analizuesit për të shkruar kodin e objektit ose një paraqitje të ndërmjetme

Bëni analizuesin të krijojë një AST, pastaj krijoni kodin tuaj të objektit nga AST duke përdorur kodin e tre adresave ose vëllain e tij të madh SSA, pastaj krijoni një tabelë simboli për të përcaktuar funksionet tuaja, ndryshoret globale, etj.

Gjithashtu, në varësi të gjuhës tuaj, ju gjithashtu mund të dëshironi të krijoni tabela treguese virtuale ose tabela informacioni për klasat tuaja (në mënyrë që të mbështetni reflektimin ose RTTI)

Krijoni një gjuhë programimi Hapi 11
Krijoni një gjuhë programimi Hapi 11

Hapi 11. Shkruani ekzekutuesin ose gjeneratorin e kodit që do të lidhë gjithçka së bashku

Krijoni një gjuhë programimi Hapi 12
Krijoni një gjuhë programimi Hapi 12

Hapi 12. Shkruani shumë programe testimi për të testuar gjuhën

Ju dëshironi të krijoni programe që theksojnë barrën e gramatikës suaj formale në mënyrë që të shihni që përpiluesi juaj pranon gjithçka që është brenda përkufizimit tuaj dhe refuzon gjithçka që është jashtë tij

Krijoni një gjuhë programimi Hapi 13
Krijoni një gjuhë programimi Hapi 13

Hapi 13. Konsideroni se si përdoruesi do të korrigjojë programet e tij

Krijimi i një gjuhe programimi Hapi 14
Krijimi i një gjuhe programimi Hapi 14

Hapi 14. Nëse gjuha juaj përdor një bibliotekë standarde, ju do të dëshironi ta shkruani atë

Së bashku me një grumbullues plehrash ose veçori të tjera të kohës së funksionimit nëse keni nevojë për të.

Në mënyrë të veçantë, nëse shkruani një përpilues, do t'ju duhet kodi që sistemi operativ do të ekzekutojë në mënyrë që të filloni të ekzekutoni kodin e përdoruesit (për shembull, ndarja e të gjitha variablave globale)

Krijoni një gjuhë programimi Hapi 15
Krijoni një gjuhë programimi Hapi 15

Hapi 15. Publikoni gjuhën tuaj, së bashku me specifikimet për të dhe disa shembuj se çfarë mund të bëni në të

Mos harroni të dokumentoni se si mund të integroheni me bibliotekat, gjuhët ekzistuese dhe si të përdorni veçoritë e ekzekutimit dhe/ose bibliotekën standarde

Video - Duke përdorur këtë shërbim, disa informacione mund të ndahen me YouTube

Këshilla

  • Filloni duke hartuar gjuhën tuaj dhe mos shkruani asnjë kod, derisa të jeni të kënaqur dhe të jeni përgjigjur në të gjitha (ose shumicën) e pyetjeve ose problemeve që lidhen me modelin tuaj pasi është më e lehtë të ndryshoni modelin më herët se më vonë.
  • Njihni platformën tuaj të synuar (sistemin operativ dhe bibliotekat) për përpiluesin/përkthyesin tuaj, në fund të fundit, ju do ta përdorni dhe manipuloni atë.

Paralajmërimet

  • Mendoni nëse keni vërtet nevojë për një gjuhë të re dhe atë që gjuha juaj ka të re që gjuhët e tjera nuk e kanë (Mund të jetë një kombinim i veçorive ose një veçori e vetme).
  • Shkrimi i gjuhëve është i vështirë nëse nuk e dini se çfarë po bëni. Duhet gjithashtu shumë praktikë.
  • Përgatituni për të kaluar pak kohë në hartimin e gjuhës, pasi nuk do të keni mundësi të ndryshoni gjuhën tuaj pasi të keni shkruar përpiluesin dhe të keni kaluar pikën e projektimit.
  • Mos u mundoni të bazoni tiparet tuaja në një bashkim të disa gjuhëve, si të thuash se gjuha juaj do të jetë një bashkim i gjuhës X, gjuhës Y dhe gjuhës Z. Historia na ka treguar se gjuhët e krijuara në një mënyrë të tillë nuk do të gjejnë kurrë sukses, ose të gjithë do të programonin PL/1 në vend të diçkaje të bazuar në C.

Recommended: