Com Escriure Un Traductor

Taula de continguts:

Com Escriure Un Traductor
Com Escriure Un Traductor

Vídeo: Com Escriure Un Traductor

Vídeo: Com Escriure Un Traductor
Vídeo: #Transcreación: ¿cómo se cobra? | #Transcreation | Entrevista para “La Brújula del #Traductor” 2024, Maig
Anonim

Hi ha molts llenguatges de programació que tenen les seves pròpies característiques úniques. Però perquè un programa escrit en qualsevol d’ells funcioni, cal que l’emetreu. De vegades, els llenguatges de programació es desenvolupen per a les seves pròpies necessitats (per exemple, suport per a l'automatització en aplicacions grans) i, a continuació, es fa necessari escriure un traductor.

Com escriure un traductor
Com escriure un traductor

Necessari

  • - gramàtica natural o BNF de la llengua d'origen;
  • - eines de desenvolupament.

Instruccions

Pas 1

Prepareu les dades per a l’anàlisi lèxica del text en la llengua d’origen. Enumereu totes les fitxes en l'idioma. Distribuïu-los en categories (paraules clau, literals numèrics i de cadenes, identificadors, espais en blanc, puntuació, etc.).

Pas 2

Implementar un mòdul o lexer. A l'entrada, hauria de rebre un flux de dades "en brut" i a la sortida formaria una llista d'elements que contenen fitxes i els seus identificadors de tipus en la seqüència en què es produeixen al text d'origen. El programa d'anàlisi pot ser bastant senzill " "escàner d'un sol nivell. Implementar la recuperació d’errors no té sentit. Els caràcters no vàlids s’han de tractar com a errors.

Pas 3

Prepareu les dades per analitzar-les. Basant-vos en la gramàtica natural o BNF del llenguatge d'origen, redacteu-ne la gramàtica LL1. A partir d’aquest tipus de gramàtica, elaboreu un esquema d’anàlisi en funció de les categories de fitxes vàlides i construccions semàntiques del llenguatge.

Pas 4

Implementar un mòdul o analitzador. A l’entrada, hauria de rebre una llista de fitxes preparades en l’etapa de l’anàlisi lèxica. Desenvolupeu algoritmes de comprovació de sintaxi recursiva mitjançant l'esquema que heu creat al pas tres. Si cal, implementeu mecanismes de recuperació d'errors. Afegiu funcionalitat als algorismes d'anàlisi per crear un arbre per calcular funcions, mètodes de classe. Amb l’estructura correcta d’algorismes d’anàlisi, aquesta funcionalitat es pot implementar sense problemes. Això evita la necessitat d’implementar-lo com a mòdul independent. Les estructures de dades creades han de contenir llistes d'instruccions en forma de seqüències "planes" (expressions aritmètiques ampliades en forma de postfix adequades per al càlcul en una màquina de pila, bucles convertits en combinacions de seqüències d'instruccions computacionals i salts condicionals o incondicionals, etc.).

Pas 5

Creeu un mòdul d'optimització si cal. Hauria de processar i transformar les estructures de dades preparades al pas anterior. Els algoritmes i mètodes d’optimització són molt diversos.

Pas 6

Desenvolupeu un generador de codi. En processar les estructures preparades en el quart o cinquè pas, hauria de transformar simplement les seqüències d’instruccions abstractes en instruccions d’execució en una plataforma específica.

Pas 7

Creeu un programa d’enquadernació (linker) si cal. Hauria de formar el mòdul executable resultant escollint la ubicació dels segments de codi, calculant les adreces de les etiquetes, etc.

Recomanat: