芝麻web文件管理V1.00
编辑当前文件:/home/strato/chroot/opt/RZphp80/includes/doc/FSM/examples/rpn.php
setDefaultTransition('INIT', 'Error'); $fsm->addTransitionAny('INIT', 'INIT'); $fsm->addTransition('=', 'INIT', 'INIT', 'DoEqual'); $fsm->addTransitions(range(0,9), 'INIT', 'BUILDING_NUMBER', 'BeginBuildNumber'); $fsm->addTransitions(range(0,9), 'BUILDING_NUMBER', 'BUILDING_NUMBER', 'BuildNumber'); $fsm->addTransition(' ', 'BUILDING_NUMBER', 'INIT', 'EndBuildNumber'); $fsm->addTransitions(array('+','-','*','/'), 'INIT', 'INIT', 'DoOperator'); echo "Expression:\n"; $stdin = fopen('php://stdin', 'r'); $expression = rtrim(fgets($stdin)); $symbols = preg_split('//', $expression, -1, PREG_SPLIT_NO_EMPTY); $fsm->processList($symbols);