Com es crea un llenguatge de programació: 15 passos (amb imatges)

Taula de continguts:

Com es crea un llenguatge de programació: 15 passos (amb imatges)
Com es crea un llenguatge de programació: 15 passos (amb imatges)

Vídeo: Com es crea un llenguatge de programació: 15 passos (amb imatges)

Vídeo: Com es crea un llenguatge de programació: 15 passos (amb imatges)
Vídeo: TUTORIAL: Cómo bajar la temperatura de tu CPU con 2 SENCILLOS TRUCOS 2024, Abril
Anonim

Moltes persones tenen dificultats o frustracions amb els llenguatges de programació que utilitzen cada dia. Alguns volen que les coses es manipulin de manera més abstracta, mentre que d'altres no els agrada implementar les funcions que desitgen que siguin "estàndard". Tant si sou un professional de la informàtica com si només és un aficionat, moltes vegades us podeu trobar amb ganes de crear un llenguatge de programació nou.

Passos

Creeu un llenguatge de programació Pas 1
Creeu un llenguatge de programació Pas 1

Pas 1. Familiaritzeu-vos amb la tecnologia

No podeu crear un llenguatge de programació si no sabeu utilitzar un ordinador.

Creeu un llenguatge de programació Pas 2
Creeu un llenguatge de programació Pas 2

Pas 2. Conegueu-vos amb la terminologia

Els redactors de compiladors solen utilitzar una terminologia desconeguda. Llegiu els compiladors abans de continuar. Assegureu-vos de conèixer tot el que necessiteu saber.

Creeu un llenguatge de programació Pas 3
Creeu un llenguatge de programació Pas 3

Pas 3. Decidiu quin problema està resolent el vostre idioma

Tracta un problema específic de domini o és un llenguatge d’ús general?

Creeu un llenguatge de programació Pas 4
Creeu un llenguatge de programació Pas 4

Pas 4. Penseu en la semàntica del vostre idioma i els seus conceptes

  • Permetreu o no l'accés directe al punter?
  • Quins són els tipus de dades del vostre idioma?
  • És un llenguatge estàtic o dinàmic?
  • Quin és el vostre model de memòria? Fareu servir un recopilador d'escombraries o una gestió manual de memòria? (Si utilitzeu un col·lector d'escombraries, prepareu-vos per escriure'n un o adapteu-ne un al vostre idioma.)
  • Com gestionarem la simultaneïtat? Utilitzarà un model simple de roscat / bloqueig o alguna cosa més complex com Linda o el model d'actor? (Com que actualment els ordinadors tenen diversos nuclis.)
  • Hi ha funcions primitives incrustades en el llenguatge o tot vindrà d’una biblioteca?
  • Quin és el paradigma o paradigmes de la vostra llengua? Funcional? Orientat a objectes? Prototip (com JavaScript)? Orientat a l’aspecte? Orientat a la plantilla? O alguna cosa completament nou?
  • Com es relacionarà el vostre idioma amb biblioteques i idiomes existents (principalment C)? Aquest punt és important si creeu un idioma específic per a un domini.
  • Finalment, algunes de les respostes a aquestes preguntes es respondran pel segon pas i us ajudaran a respondre al següent pas.
Creeu un llenguatge de programació Pas 5
Creeu un llenguatge de programació Pas 5

Pas 5. Penseu en algunes tasques específiques que algú voldria poder realitzar amb el vostre idioma

Per exemple, "és possible que vulguin dirigir un robot perquè segueixi una línia" o "potser vulguin crear-hi programes d'escriptori relativament portàtils" o "poden crear aplicacions web amb ell".

Creeu un llenguatge de programació Pas 6
Creeu un llenguatge de programació Pas 6

Pas 6. Experimenteu amb idees de sintaxi (el text de la llengua) per als exemples anteriors

Tingueu cura de mantenir el vostre idioma a la categoria d'idioma lliure de context o alguna cosa dins d'ella. El vostre generador d’analitzadors i ho agraireu més endavant

Creeu un llenguatge de programació Pas 7
Creeu un llenguatge de programació Pas 7

Pas 7. Escriviu una gramàtica formal per a la sintaxi

Creeu un llenguatge de programació Pas 8
Creeu un llenguatge de programació Pas 8

Pas 8. Decidiu si el llenguatge serà interpretat o compilat

És a dir, que en el món interpretat, el vostre usuari normalment editarà el vostre programa en un editor i l’executarà directament a l’intèrpret; mentre es troba al món compilat, l'usuari editarà el programa, el compilarà, desarà l'executable resultant en algun lloc i l'executarà.

Creeu un llenguatge de programació Pas 9
Creeu un llenguatge de programació Pas 9

Pas 9. Escriviu l'escàner i l'analitzador de la portada o trobeu una eina que us ajudi

A més, penseu en com el vostre compilador / intèrpret advertirà al vostre usuari sobre programes erronis i errors de sintaxi

Creeu un llenguatge de programació Pas 10
Creeu un llenguatge de programació Pas 10

Pas 10. Utilitzeu la informació de l'analitzador per escriure el codi de l'objecte o una representació intermèdia

Feu que l’analitzador creï un AST i, a continuació, creeu el codi objecte a partir de l’AST mitjançant tres codis d’adreces o el seu germà gran SSA i, a continuació, creeu una taula de símbols per definir les vostres funcions, variables globals, etc.

A més, segons el vostre idioma, també podeu crear taules de punteres virtuals o taules d'informació per a les vostres classes (per tal de donar suport a la reflexió o RTTI)

Creeu un llenguatge de programació Pas 11
Creeu un llenguatge de programació Pas 11

Pas 11. Escriviu l'executor o el generador de codi que unirà tot

Creeu un llenguatge de programació Pas 12
Creeu un llenguatge de programació Pas 12

Pas 12. Escriviu molts programes de prova per provar l'idioma

Voleu crear programes que posin èmfasi en les càrregues de la vostra gramàtica formal per tal de veure que el vostre compilador accepta tot el que hi ha dins de la vostra definició i rebutja tot el que hi ha fora d’ella

Creeu un llenguatge de programació Pas 13
Creeu un llenguatge de programació Pas 13

Pas 13. Tingueu en compte com l'usuari depurarà els seus propis programes

Creeu un llenguatge de programació Pas 14
Creeu un llenguatge de programació Pas 14

Pas 14. Si el vostre idioma utilitza una biblioteca estàndard, voldreu escriure-la

Juntament amb un col·lector d’escombraries o altres funcions d’execució si ho necessiteu.

En concret, si escriviu un compilador, necessitareu el codi que executarà el sistema operatiu per començar a executar el codi d’usuari (per exemple, assignant totes les variables globals)

Creeu un llenguatge de programació Pas 15
Creeu un llenguatge de programació Pas 15

Pas 15. Publiqueu el vostre idioma, juntament amb les seves especificacions i alguns exemples del que podeu fer-hi

No oblideu documentar com podeu integrar-vos amb biblioteques, idiomes existents i com utilitzar les funcions d'execució i / o la biblioteca estàndard

Vídeo: mitjançant aquest servei, es pot compartir informació amb YouTube

Consells

  • Comenceu dissenyant el vostre idioma i no escriviu cap codi, fins que no esteu satisfets i hagueu respost totes (o la majoria) de les preguntes o problemes relacionats amb el vostre disseny, ja que és més fàcil canviar el disseny abans que després.
  • Conegueu la vostra plataforma de destinació (sistema operatiu i biblioteques) per al vostre compilador / intèrpret, al cap i a la fi, l’utilitzarà i manipularà.

Advertiments

  • Penseu si realment necessiteu un idioma nou i el que el vostre idioma té de nou que altres idiomes no tenen (pot ser una combinació de funcions o una sola funció).
  • Escriure idiomes és difícil si no saps què fas. També requereix molta pràctica.
  • Prepareu-vos per dedicar una estona a dissenyar idiomes, ja que no tindreu l'oportunitat de canviar d'idioma un cop hàgiu escrit el compilador i haureu passat el punt de disseny.
  • No intenteu basar les vostres funcions en una unió de diversos idiomes, com dir que la vostra llengua serà una unió de la llengua X, la llengua Y i la llengua Z. La història ens ha demostrat que les llengües creades de tal manera mai no tindran èxit. o tothom programaria PL / 1 en lloc d’alguna cosa basada en C.

Recomanat: