PHP Virtual Machine
Virtuelle Maschinen sind auch Computer. Wenn Sie eine virtuelle Maschine entwerfen, sollten Sie dies zuerst tun Betrachten Sie drei Elemente: Anweisungen, Datenspeicherung, Funktionsstapelrahmen;
Anweisungen (Empfohlenes Lernen: PHP-Video-Tutorial)
Anweisungen bestehen aus Opcodes und Operanden ;Der Opcode gibt den Operationstyp dieser Anweisung an, und der Operand gibt den Operanden selbst oder die Adresse des Operanden an
Datenspeicherung
PHP virtuell Die Maschine unterstützt mehrere Datentypen: Ganzzahl, Gleitkomma, Zeichenfolge, Array, Objekt usw.;
Funktionsstapelrahmen
Die virtuelle PHP-Maschine implementiert einen ähnlichen Funktionsstapelrahmen zur Struktur einer physischen Maschine; Verwenden Sie _zend_vm_stack, um die Stapelstruktur darzustellen; , und sind Zeiger vom Typ zval;
ZusammenfassungDie virtuelle PHP-Maschine ist auch ein Computer. Es gibt drei Punkte, auf die wir uns konzentrieren müssen: Befehlssatz (einschließlich Befehlsverarbeitungsfunktionen), Datenspeicherung (zval) und Funktionsstapelrahmen;
An diesem Punkt kann die virtuelle Maschine Anweisungen annehmen und den Befehlscode ausführen
Die virtuelle PHP-Maschine dient jedoch der Ausführung von PHP-Code. Wie kann der PHP-Code in eine virtuelle PHP-Maschine umgewandelt werden? stellt außerdem einen Compiler bereit, der den PHP-Code in eine Reihe von Anweisungen umwandeln kann, die erkannt werden können.
Theorie: Sie können jede Sprache anpassen, solange Sie einen Compiler implementieren, der Ihre eigene Sprache konvertieren kann In Anweisungscodes umwandeln, die PHP erkennen kann, kann es von der virtuellen PHP-Maschine ausgeführt werdenDas obige ist der detaillierte Inhalt vonHat PHP eine virtuelle Maschine?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!