dmylogi.com

Hoe om `n programmeertaal te skep

Baie mense ervaar probleme of frustrasies met die programmeringstale wat hulle elke dag gebruik. Sommige wil dinge wat meer abstrak hanteer word, terwyl ander nie eienskappe wil gebruik wat hulle normaal wil wees nie. Of jy nou `n rekenaarprofessie of `n amateur is, sal jou dikwels in die gesig staar om `n nuwe programmeringstaal te skep.

stappe

Prent getiteld Skep `n programmeringstaal Stap 1
1
Wees vertroud met die terminologie. Kompileerders skrywers gebruik dikwels onbekende terminologie. Vind uit oor die samestellers voordat jy voortgaan. Maak seker jy weet alles wat jy nodig het.
  • Prent getiteld Skep `n Programmeertaal Stap 2
    2
    Besluit watter probleem jy gaan oplos. Is dit gerig op `n spesifieke domein probleem of is dit `n taal vir algemene gebruik?
  • Prent getiteld Skep `n Programmeertaal Stap 3
    3
    Dink aan die semantiek van taal en die konsepte daarvan.
  • Gaan u direkte toegang toe of nie?
  • Wat is die soorte data in jou taal?
  • Is dit `n statiese of dinamiese taal?
  • Wat is die model van geheue? Gaan jy `n vullis versamelaar of `n handleiding geheue bestuurder gebruik? (As jy `n vullisversamelaar gebruik, wees voorbereid om een ​​te skryf of `n bestaande een aan te pas by jou taal).
  • Hoe sal jy die kompetisie bestuur? Gaan jy `n eenvoudige draad- of blokmodel of iets meer kompleks soos Linda of die akteurmodel gebruik? (sedert vandag het rekenaars verskeie kerns).
  • Sal daar primêre funksies in die taal ingevoeg word of sal hulle almal in `n biblioteek wees?
  • Wat is die paradigma of paradigmas van jou taal? Funksioneel? Gegee na voorwerpe? Prototipe (soos jаvascript)? Gelei na die aspek? Om templates? Of iets heeltemal nuut?
  • Hoe is jou taal verwant aan ander biblioteke en tale (hoofsaaklik C)? Hierdie punt is belangrik as jy `n taal vir `n spesifieke domein wil skep.
  • Ten slotte sal sommige van die antwoorde op hierdie vrae in die tweede stap beantwoord word en sal u help om die volgende stap te beantwoord.
  • Prent getiteld Skep `n Programmeertaal Stap 4
    4
    Dink aan spesifieke take wat iemand met jou taal wil doen. Byvoorbeeld, hulle wil dalk `n robot rig om `n lyn te volg, relatief draagbare lessenaarprogramme daarop te skep, of webprogramme daarby te skep.
  • Prent getiteld Skep `n Programmeertaal Stap 5
    5
    Eksperimenteer met sintaksidees (die taal teks) met die vorige voorbeelde.
  • Wees versigtig om jou taal in `n kategorie vry van kontekste te hou sonder dat daar iets binne is. U en u sintaktiese kragopwekker sal u later bedank.
  • Prent getiteld Skep `n Programmeertaal Stap 6
    6
    Skryf `n formele grammatika vir die sintaksis.
  • Prent getiteld Skep `n Programmeertaal Stap 7
    7
    Besluit of jy die taal wil interpreteer of saamstel. Dit beteken dat die gebruiker in die wêreld van interpretasie waarskynlik jou program sal redigeer met `n redakteur en direk in die tolk loop. In die wêreld van samestelling sal die gebruiker jou program wysig, saamstel, die gevolglike uitvoerbare êrens stoor en sal dit uitvoer.
  • Prent getiteld Skep `n Programmeertaal Stap 8
    8


    Skryf die vertaler en die sintaktiese generator of soek `n instrument om jou hiermee te help.
  • Dink ook aan hoe die samesteller of tolk die gebruiker sal waarsku oor die verkeerde programme en sintaksfoute.
  • Prent getiteld Skep `n Programmeertaal Stap 9
    9
    Gebruik die sintaktiese generator inligting om die voorwerp kode of `n tussenganger te skryf. Het die kragopwekker `n AST en dan die voorwerpkode van die AST met drie kode-adresse of sy "groot broer" SSA, en skep dan `n simbooltafel om sy funksies, globale veranderlikes, ens. Te definieer.
  • Afhangende van die taal, kan jy ook virtuele tabelle of inligting vir jou klasse skep (die reverb of RTTI ondersteun).
  • Prent getiteld Skep `n Programmeertaal Stap 10
    10
    Skryf die eksekuteur of generatorkode wat alles sal verenig.
  • Prent getiteld Skep `n programmeringstaal Stap 11
    11
    Skryf baie toetsprogramme om die taal na te gaan.
  • Skep programme wat "strek die tou" van u formele grammatika om te kan verifieer of die samesteller alles ondersteun wat binne u definisie staan ​​en alles wat buite dit is, verwerp.
  • Prent getiteld Skep `n programmeringstaal Stap 12
    12
    Oorweeg hoe die gebruiker die foute van hul eie programme sal uitskakel.
  • Prent getiteld Skep `n programmeringstaal Stap 13
    13
    Indien u taal `n standaardbiblioteek gebruik, skryf dit. Voeg ook die vullisversamelaar of ander algemene taaluitvoeringsfunksies by indien u dit benodig.
  • Spesifiek, as u `n samesteller gebruik, benodig u die kode wat die bedryfstelsel uitvoer om die gebruikerskode te begin (byvoorbeeld, verdeel al die globale veranderlikes).
  • Prent getiteld Skep `n programmeringstaal Stap 14
    14
    Publiseer jou taal met die beskrywing daarvan en `n paar voorbeelde van wat daarmee gedoen kan word.
  • Moenie vergeet om te dokumenteer hoe om dit te integreer met bestaande biblioteke, tale en hoe om algemene uitvoeringsfunksies of die standaardbiblioteek te gebruik nie.
  • wenke

    • Begin deur die taal te ontwerp en skryf nie enige kode totdat jy tevrede is nie en beantwoord al (of meeste) vrae of probleme rakende jou ontwerp, aangesien dit makliker is om die ontwerp gouer as later te verander.
    • Ken jou teikenplatform (bedryfstelsel en biblioteke) vir jou samesteller en tolk, want jy gaan dit alles gebruik en manipuleer.

    waarskuwings

    • Dink as jy regtig `n nuwe taal nodig het en wat jy weer het wat ander nie het nie (dit kan `n kombinasie van eienskappe of slegs een wees).
    • Dit is moeilik om tale te skryf as jy nie weet wat jy doen nie. Dit verg ook baie oefening.
    • Maak gereed om baie tyd met die taalontwerp te spandeer, aangesien jy nie die geleentheid sal hê om die taal te verander sodra jy die kompileerder geskryf het nie en die ontwerppunt geslaag het.
    • Moenie probeer om jou eienskappe op `n mengsel van verskeie tale te baseer nie, soos om te sê dat die taal `n unie sal wees van die X-, Y- en Z-tale. Geskiedenis het getoon dat tale wat geskep word op hierdie manier nooit suksesvol is nie, want andersins wêreld sou in PL / 1 program in plaas van iets gebaseer op C.

    Dinge wat jy nodig het

    • geduld
    • kennis oor die eienskappe en ontwerp van die taal (jy wil dalk lees "Programmering Taalontwerp Konsepte" ("Programmeertaal en paradigmas" deur David A. Watt)
    • kennis oor samestellingsteorie (aangesien jy `n samesteller en tolk vir jou taal gaan skryf en die implementering daarvan sal die verwysing wees vir die vervulling daarvan)
    • gebruik vir jou taal (onthou dat sommige van die mees gebruikte tale soos C of Lisp geskep is om iets spesifiek te doen, soos om Unix te skep of simboliese berekening te doen)
    Deel op sosiale netwerke:

    Verwante
    Hoe om `n taal op Android by te voegHoe om `n taal op Android by te voeg
    Hoe om `n programmeertaal te leerHoe om `n programmeertaal te leer
    Hoe om die taal op Instagram te veranderHoe om die taal op Instagram te verander
    Hoe om die taal in Google te veranderHoe om die taal in Google te verander
    Hoe om die sleutelbordtaal van `n Mac te veranderHoe om die sleutelbordtaal van `n Mac te verander
    Hoe om die taal in Skype op `n rekenaar of Mac te veranderHoe om die taal in Skype op `n rekenaar of Mac te verander
    Hoe om die taal op Twitter te veranderHoe om die taal op Twitter te verander
    Hoe om die verstek taal in Google Chrome te veranderHoe om die verstek taal in Google Chrome te verander
    Hoe om `n programmeerder te wordHoe om `n programmeerder te word
    Hoe om te begin leer om te programHoe om te begin leer om te program
    » » Hoe om `n programmeertaal te skep
    © 2024 dmylogi.com