|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Computer Programspråk >> Content

    Hur många kompilatorer, dvs främre ändar och baksida krävs för M -språk N -maskiner genom att använda ett mellanspråk?

    Så här delar du upp kompilatorns krav för flera språk och maskiner med ett mellanspråk:

    Förstå komponenterna

    * frontend (kompilator): Denna del av kompilatorn läser källkoden på ett specifikt programmeringsspråk och översätter den till en mellanliggande representation (IR). Du behöver en frontend för varje programmeringsspråk du vill stödja.

    * mellanliggande språk (IR): Detta är ett vanligt språk som fungerar som bron mellan de främre ändarna och bakändarna. Det är utformat för att vara maskinoberoende.

    * backend (kompilator): Denna del av kompilatorn tar IR och genererar maskinkod för en specifik målmaskin. Du behöver en bakre ände för varje maskinarkitektur du vill stödja.

    Beräkning

    * framändar: Du behöver en frontend för varje språk: m framänden

    * Back Ends: Du behöver en bakre ände för varje maskin: n baksida

    Totalt: Du behöver m + n Kompilatorer (framändar och bakre ändar).

    Exempel

    Låt oss säga att du har:

    * m =3 Programmeringsspråk (C ++, Python, Java)

    * n =2 Maskinarkitekturer (x86 och arm)

    Du skulle behöva:

    * 3 framändar (en för varje språk)

    * 2 Bakändar (en för varje arkitektur)

    * Totalt:5 kompilatorer

    Fördelar med ett mellanspråk

    Att använda ett mellanspråk erbjuder flera fördelar:

    * Kodens återanvändbarhet: IR -koden kan användas med olika främre ändar och bakre ändar, vilket minskar utvecklingsinsatsen.

    * Portabilitet: Kod som sammanställts till IR kan köras på vilken maskin som helst med en motsvarande bakre ände.

    * optimering: Optimeringar kan tillämpas på IR -nivå, vilket gynnar alla språk och maskiner.

    Viktig anmärkning: Valet av mellanliggande språk är avgörande. Det bör vara effektivt, väl lämpat för optimering och ha ett moget ekosystem.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur automatiskt att Avstava ett dokument med Word XP
    ·Hur man visar en primärnyckel begränsning i Oracle
    ·Ställa Moduler på CTS
    ·Hur man skapar Rullande text i HTML
    ·Vad är alfabetet i datorkoden?
    ·Hur du tar bort det första elementet i C String
    ·Lägga till fotnoter och slutkommentarer Använda Micro…
    ·Konvertera Olympus DSS filer
    ·Hur radera från Oracle & SQL
    ·Motstridiga typer i C
    Utvalda artiklarna
    ·Hur man tar bort nollor i Java rekursion
    ·Vad betyder Debugging Query
    ·Hur man tar bort dubbletter från Array PHP
    ·Konvertera ResultSet att Drop - Down i JSP
    ·Användning av en default konstruktor C
    ·Hur Tillåt en PHP Header Anywhere
    ·Hur säkerhetskopierar och återställer du mySQL-datab…
    ·Hur man läser en fil Kommaseparerade i Visual Basic
    ·Hur du returnerar en pekare till en Vector
    ·Hur man tillbaka en STL Vector från en ny funktion
    Copyright © Dator Kunskap https://www.dator.xyz