Implementieren Sie einen Compiler (für jede Sprache, die Sie kennen) für Ihre Sprache in der Sprache selbst.
Versuchen Sie, verschiedene Arten von Sortierungen und Suchen zu implementieren, indem Sie Arrays und dann Zeiger verwenden.
Probieren Sie Dinge aus Projekt Euler - diese Rätsel sind immer gut zum Testen neuer Sprachen.
Ich habe eine experimentelle Spielzeug-Programmiersprache mit einem (jetzt) funktionierenden Interpreter erstellt. Es ist turing-complete und hat einen ziemlich niedrigen Befehlssatz.
Selbst wenn alles vier- bis sechsmal mehr Code und Zeit benötigt als in PHP, Python oder Ruby, programmiere ich immer noch alle möglichen Dinge darin.
So habe ich die "grundlegenden" Dinge, die in vielen Sprachen geschrieben sind, verstanden:
Collatz-Vermutung
Quine (das war ein lustiger!)
Also habe ich alle obigen Beispiele implementiert, weil:
Jetzt ist mein Problem: Ich habe keine Ideen mehr! Ich finde keine Beispiele mehr, welche Probleme ich mit meiner Sprache lösen könnte.
Anstatt mehr Dinge zu tun, die in dieser Spielzeugsprache zu tun sind, würde ich mir viel Mühe geben, eine Sprache zu implementieren, die etwas vollständiger und nützlicher ist. Insbesondere sollten Sie einige Zeit darüber nachdenken, was Sie an anderen Sprachen nicht mögen und ob Sie sie nicht verbessern können.
Sie könnten die Tests für das "Shootout" in Erwägung ziehen.
Etwas rekursiv vielleicht?
Ich habe zwei Spielzeug eigene Sprachen. Ich habe etwas von dem gemacht, was du beschrieben hast. Eine andere Sache, die ich tat, war zu versuchen, die Fibonacci-Sequenz auszudrucken. Noch etwas, was Sie tun können, ist ein Programm zu schreiben, das prüft, ob eine Zahl prim ist .
Haben Sie einen Link zu Ihrer Sprache? Ich würde es gerne sehen!
Dies könnte eine gute Anwendung der Elemente sein, die Sie in Ссылка
findenNachdem Sie eine Reihe kurzer Anwendungen geschrieben haben, ist es vielleicht interessant, einen einfachen Server zu schreiben. Viele Themen kommen mit Servern, die Ihnen helfen könnten, zu erkennen, ob Ihre Sprache Dinge wie UDP / TCP, Threading, Warteschlangen, Sicherheit usw. angehen kann.
Schauen Sie sich die RubyQuiz Website an. Viele dumme kleine Dinge, die Sie tun könnten, um Ihre Sprache zu testen.
Wie wäre es mit kanonischen Datenstrukturen und Algorithmen? Oder halb kanonisch? Zum Beispiel wollte ich immer ein assoziatives Array basierend auf Radix-Trie implementieren. Das sieht lustig aus.
Versuche etwas Reales zu implementieren. Zum Beispiel webbasierter Mail-Client. Nur abstrakte Aufgabe ist boaring.
Sie könnten Unterstützung für willkürliche Präzisionsarithmetik hinzufügen, indem Sie es entweder als Modul für Ihre Sprache in Ihrer Sprache schreiben oder als ein erstklassiges Sprachkonstrukt.