Hoe een programmeertaal te maken
Veel mensen hebben moeilijkheden of frustraties met de programmeertalen die ze elke dag gebruiken. Sommigen willen dat dingen abstracter worden afgehandeld, terwijl anderen niet van implementatiefuncties die ze wensen, `standaard`. Of u nu een IT-professional of gewoon een hobbyist bent, vele malen kunt u merken dat u een nieuwe programmeertaal wilt maken.
Stappen
1. Vertrouwd raken met de technologie. U kunt geen programmeertaal maken als u niet weet hoe u een computer kunt gebruiken.

2. Vertrouwd raken met de terminologie. Compiler-schrijvers gebruiken vaak onbekende terminologie. Lees op compilers voordat u doorgaat. Zorg ervoor dat u alles weet wat u moet weten.

3. Bepaal welk probleem uw taal is oplossen. Is het aan het aanpakken van een domeinspecifiek probleem, of is het een algemene taal?

4. Denk aan de semantiek van uw taal en de concepten ervan.

5. Denk aan sommige specifieke taken die iemand met uw taal zou willen uitvoeren. `Ze willen bijvoorbeeld een robot sturen om een regel` of `te volgen die ze misschien relatief draagbare desktopprogramma`s erin willen creëren` of `ze kunnen web-applicaties ermee maken`.

6. Experimenteer met syntaxisideeën (de tekst van de taal) voor de bovenstaande voorbeelden.

7. Schrijf een formele grammatica op voor de syntaxis.

8. Bepaal of de taal wordt geïnterpreteerd of gecompileerd. Betekenis dat in de geïnterpreteerde wereld uw gebruiker uw programma in een editor doorgaans bewerkt en rechtstreeks op de tolk wordt uitgevoerd terwijl in de samengestelde wereld, uw gebruiker uw programma bewerkt, het compileren, bespaart het resulterende uitvoerbare uitvoerbaar.

9. Schrijf de front-end scanner en parser of vind een tool waarmee je hiermee helpt.

10. Gebruik de PARDER-informatie om de objectcode of een tussenprogramma`s te schrijven. Laat de parser een AST maken en maak vervolgens uw objectcode van de AST met behulp van drie adrescode of zijn Big Brother SSA, maak vervolgens een symbooltabel om uw functies, globale variabelen, enzovoort te definiëren.

11. Schrijf de executor of code generator die alles bij elkaar zal binden.

12. Schrijf veel testprogramma`s om de taal te testen.

13. Overweeg hoe de gebruiker hun eigen programma`s zal debuggen.

14. Als uw taal een standaardbibliotheek gebruikt, wilt u het schrijven. Samen met een vuilnisbak of andere runtime-functies als je het nodig hebt.

15. Publiceer uw taal, samen met de specificatie voor IT en enkele voorbeelden van wat u erin kunt doen.
Video
Door deze service te gebruiken, kan sommige informatie worden gedeeld met YouTube.
Tips
Begin met het ontwerpen van uw taal en schrijf geen code, totdat u tevreden bent en alle (of de meeste) van de vragen of problemen met betrekking tot uw ontwerp hebt beantwoord, omdat het gemakkelijker is om het ontwerp eerder dan later het ontwerp te wijzigen.
Ken uw doelplatform (besturingssysteem en bibliotheken) voor uw compiler / tolk, u gaat het tenslotte gebruiken en het manipuleren.
Waarschuwingen
Denk dat als je echt een nieuwe taal nodig hebt en wat je taal heeft van nieuw dat andere talen niet hebben (het kan een combinatie van functies of een enkele functie zijn).
Het schrijven van talen is moeilijk als je niet weet wat je doet. Het kost ook veel oefening.
Bereid je voor om wat tijd in het taalontwerp door te brengen, omdat je geen kans hebt om je taal te veranderen zodra je de compiler en het ontwerppunt hebt geschreven.
Probeer uw kenmerken niet in een unie van verschillende talen te baseren, zoals zeggen dat uw taal een Unie van taal X, Taal Y en Taal Z zal zijn. De geschiedenis heeft ons aangetoond dat de talen die op een zodanige manier zijn aangemaakt, nooit succes zullen vinden, of iedereen zou PL / 1 programmeren in plaats van iets op basis van C.
Dingen die je nodig hebt
- Geduld.
- Kennis over taalfuncties en taalontwerp (misschien wil je programmeertaal ontwerpconcepten van David A lezen. Watt).
- Kennis over Compiler Theory (Aangezien u een compiler / tolk schrijft voor uw taal en uw implementatie is de referentie-implementatie).
- Gebruikt voor uw taal (onthoud dat enkele van de meest gebruikte talen zoals C of Lisp zijn gemaakt om iets specifieks te doen zoals het maken van Unix of het doen van symbolische berekening).
Deel in het sociale netwerk: