Sankuru Blog: Hinzufügen der Unterstützung für if / while / do Weile, um eine einfache Compiler & virtuelle Maschine in PHP

Die Verbesserung auf seinem letzten Beitrag zum Erstellen eines Bytecode-Compiler in PHP, hat die Sankuru Blog einen neuen Beitrag in der Serie suchen zur Erweiterung des Basis- Compiler Logik.

Zur Erzielung einer Turing-complete Programmiersprache, das heißt, eine Sprache, in der wir implementieren und ausführen können beliebige Algorithmus , das heißt, dass andere Turing-vollständig Maschinen ausführen können auch wir müssen jetzt einen Weg (bedingt) Verzweigung, das heißt, der IF-Anweisung, und zumindest eine Möglichkeit, sich wiederholenden Aussagen hinzuzufügen, ist, dass die WHILE oder DO WHILE-Anweisungen.

Er enthält eine einfache TL-basiertes Skript als Endziel der Compiler ausgeführt werden kann und zeigt, wie Regeln für die es um die Lexer / Parser hinzuzufügen. Regeln für die „if“ sind relativ einfach, aber es gibt einen Haken im Umgang mit embedded „, während“ Aussagen, die er hatte zu umgehen. Der Beitrag endet mit dem Bytecode-Ergebnisse für die Probe-Programm und die resultierende Ausgabe aus dem kompilierten Versionen Ausführung.

PHPDeveloper.org

Marco Tabini Blog: Der einfachste Weg, um Unit-Test zu Ihrer Anwendung hinzufügen

In einem neuen Beitrag in seinem Blog Marco Tabini bietet einige Vorschläge auf Unit-Tests – nicht wirklich eine Anleitung, wie man es eher ein“ easy way in „die Einführung es Ihren Entwicklungsprozess.

Stoppen der Entwicklung über Wochen, während Sie heraus, wie Unit-Tests hinzufügen, um Ihre gesamte Codebasis Abdeckung Figur ist einfach etwas, das nicht getan werden kann (zumindest nicht, wenn Sie Ihren Job behalten wollen), egal, was zukünftige Leistungen bringen könnte. Die gute Nachricht ist, das Hinzufügen Unit-Tests in Ihr bestehendes Projekt dauert nur 5 Minuten – was ziemlich viel ist, wie lange es braucht, um eine Einheit Test-Framework installiert ist. Das war’s. Move on.

Er legt den Schwerpunkt auf Unit-Tests zu ändern in einem Code-Basis zu verwalten, nicht so sehr um sicherzustellen, dass die aktuelle Anwendung, wie es sollte läuft (nicht zumindest anfangs). Er fand sie sehr nützlich, in Bugfixing, Refactoring und beim Hinzufügen neuer Funktionalität. Aktuelle Tests (und sogar Tests in TDD geschrieben) kann mit all diesen zu helfen. Er schließt daran erinnern, dass, wenn die Tests nicht geschrieben gut, sie nutzlos sind, und dass, sobald Sie mit dem Testen begonnen haben, muss er kontinuierlich sein, auch wenn sie nicht perfekt sind.

PHPDeveloper.org