A Reverse Polish Notation (RPN) calculator.
<?php
require_once 'FSM.php';
{
}
{
$n = $n . $symbol;
}
{
}
{
if ($symbol == '+') {
} elseif ($symbol == '-') {
} elseif ($symbol == '*') {
} elseif ($symbol == '/') {
}
}
function DoEqual($symbol, $payload)
{
}
function Error($symbol, $payload)
{
echo "This does not compute: $symbol\n";
}
$stack = array();
$fsm = new FSM('INIT', $stack);
$fsm->addTransition(' ', 'BUILDING_NUMBER', 'INIT', 'EndBuildNumber');
$fsm->addTransitions(array ('+','-','*','/'), 'INIT', 'INIT', 'DoOperator');
echo "Expression:\n";
$stdin = fopen('php://stdin', 'r');
$symbols = preg_split('//', $expression, -1 , PREG_SPLIT_NO_EMPTY );
Documentation generated on Mon, 11 Mar 2019 16:02:22 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.
|
|