Cum se creează un limbaj de programare
Mulți oameni întâmpină dificultăți sau frustrări cu limbile de programare pe care le folosesc în fiecare zi. Unii doresc lucruri care pot fi tratate mai abstract, în timp ce altele nu le place să implementeze caracteristicile pe care le-ar dori să fie normale. Indiferent dacă sunteți un profesionist în domeniul calculatoarelor sau un amator, vă veți confrunta deseori cu situația în care doriți să creați un nou limbaj de programare.
pași
1
Familiarizați-vă cu terminologia. Compilatorii scriu adesea terminologie necunoscută. Aflați despre compilatoare înainte de a continua. Asigurați-vă că știți tot ce aveți nevoie.
2
Decideți ce problemă veți rezolva. Este adresată unei probleme specifice domeniului sau este o limbă de uz general?
3
Gândiți-vă la semantica limbajului și a conceptelor sale.
4
Gândiți-vă la anumite sarcini specifice pe care cineva ar putea să le facă cu limba dvs. De exemplu, ei ar putea dori să îndrume un robot să urmeze o linie, să creeze programe desktop relativ portabile sau să creeze aplicații web cu acesta.
5
Experimentați cu idei de sintaxă (textul lingvistic) cu exemplele anterioare.
6
Scrieți o gramatică formală pentru sintaxa.
7
Decideți dacă doriți ca limbajul să fie interpretat sau compilat. Acest lucru înseamnă că, în lumea în calitate de utilizator, probabil, modifica programul cu un editor și rula direct în interpret, în timp ce în lumea de compilare, modificați programul, compila, salva executabil rezultat undeva și o va executa.
8
Scrieți traducătorul și generatorul sintactic sau căutați un instrument care să vă ajute în acest scop.
9
Utilizați informațiile generatorului sintactic pentru a scrie codul obiect sau un intermediar. Generatorul trebuie să creeze un AST și apoi codul obiect de la AST utilizând trei adrese de cod sau unul al acestuia "mare frate" SSA și apoi creați un tabel de simboluri pentru a defini funcțiile, variabilele globale etc.
10
Scrie codul executor sau generator care va uni totul.
11
Scrieți mai multe programe de testare pentru a verifica limba.
12
Luați în considerare modul în care utilizatorul va elimina defecțiunile propriilor programe.
13
În cazul în care limba dvs. folosește o bibliotecă standard, scrieți-o. De asemenea, adăugați colectorul de gunoi sau alte caracteristici comune de executare a limbajului în cazul în care aveți nevoie de el.
14
Publicați-vă limba cu descrierea acesteia și câteva exemple despre ce se poate face cu ea.
sfaturi
- Începeți prin proiectarea limba și nu scrie orice cod până când sunteți mulțumit și ați răspuns la toate (sau majoritatea) întrebări sau probleme cu design-ul, deoarece este mai ușor de a schimba design mai devreme decât mai târziu.
- Cunoașteți platforma țintă (sistemul de operare și bibliotecile) pentru compilatorul și interpretul dvs., deoarece, la urma urmei, o veți folosi și o veți manipula.
avertismente
- Gândiți-vă dacă într-adevăr aveți nevoie de o nouă limbă și de ceea ce aveți din nou pe care ceilalți nu o au (poate fi o combinație de caracteristici sau numai una).
- Este greu să scrii limbi în cazul în care nu știi ce faci. De asemenea, este nevoie de multă practică.
- Fiți pregătiți să-și petreacă ceva timp cu limbajul de design, și nu va avea posibilitatea de a schimba limba după ce ați scris compilator și a trecut la punctul de proiectare.
- Nu încerca să-ți baza caracteristici într-un amestec de mai multe limbi, spunand ca limba va fi o uniune X limbi, Y și Z. Istoria a arătat că limbile create în acest mod nu va reuși, deoarece în caz contrar toate lumea ar programa în PL / 1 în loc de ceva bazat pe C.
Lucruri de care ai nevoie
- răbdare
- cunoștințe despre caracteristicile și designul limbii (poate doriți să citiți "Concepte de design al limbajului de programare" ("Limbaje de programare și paradigme" de David A. Watt)
- cunoștințe despre teoria compilării (din moment ce veți scrie un compilator și un interpret pentru limba dvs. și punerea sa în aplicare va fi o referință pentru ca acesta să fie îndeplinit)
- folosește pentru limba dvs. (amintiți-vă că unele dintre cele mai frecvent utilizate limbi, cum ar fi C sau Lisp au fost create pentru a face ceva specific, cum ar fi crearea Unix sau pentru a efectua calcule simbolice)
Distribuiți pe rețelele sociale:
înrudit
- Cum se adaugă o limbă preferată pe un Mac
- Cum se învață Microsoft Visual Basic
- Cum să înveți programarea
- Cum să înveți un limbaj de programare
- Cum se codifică un joc video
- Cum să devii programator
- Cum de a sparge un program prin modificarea fișierelor DLL
- Cum se creează un program simplu în Python
- Cum se creează un "mashup" (aplicație web hibrid)
- Cum se creează o funcție definită de utilizator în Microsoft Excel
- Cum să începeți să învățați să programați
- Cum să înțelegeți programarea orientată pe obiecte
- Cum se scrie un algoritm în limbajul de programare
- Cum să evitați să deveniți un script kiddie (hacker fals)
- Cum se face un program folosind Notepad
- Cum se face un joc pe calculator gratuit
- Cum sa alegi un curatator de limba
- Cum de a învăța pe Nahuatl
- Cum să devii un dezvoltator de web
- Cum să studiezi informatica
- Cum să vorbești fluent o limbă