COMBIEs 1 Pass Formelparser und Interpreter

Einleitung

Grundfunktion

Der Parser durchläuft den Formelstring von links nach rechts und versucht diesen auszuwerten.

Benutzung

Am Beispiel: "Flächeninhalt eines Kreises mit 12 cm Durchmesser berechen"
Die Formel: 12²*pi/4

<?php
error_reporting
(E_ALL E_STRICT);
ini_set('display_errors'TRUE); 

require_once 
"./Combie/Autoload.php"// Pfad zum Autoloader anpassen
Combie_Autoload::register(); // selbst erklärend, oder?

// Helper laden, siehe Doku
require_once "./helper/operatoren.php"//Pfad anpassen
require_once "./helper/variablen.php";  //Pfad anpassen
require_once "./helper/funktionen.php"//Pfad anpassen

$parser = new Combie_FormelParser($operatoren,$variablen);
$parser->parse('12²*pi/4'); // Flächeninhalt eines Kreises berechen
echo 'Ergebnis: '.$parser->wert();

?>
Das sieht dann so aus:
Deprecated: Return type of Combie_Struktur_Stack::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /mnt/web108/e2/47/53574947/htdocs/combie/fragmente/formelparser/NeuerParser/Combie/Struktur/Stack.php on line 20 Deprecated: Creation of dynamic property Combie_FormelParser_Ausdruck::$wert is deprecated in /mnt/web108/e2/47/53574947/htdocs/combie/fragmente/formelparser/NeuerParser/Combie/FormelParser/Ausdruck.php on line 66 Ergebnis: 88.792929