bg5sbk/CalcPHP
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
=== Introduction ===
CalcPHP is a math expression calculator write in PHP.
I write it just for fun and programming language implement study purpose.
It define and implement a small language to do calculation works.
You can use it as a command line tool like :
$ php CalcPHP.php
CalcPHP command line interface V1.0
> 1.
result: 1.000000 (0.000102 sec)
> 1 + 2.
result: 3.000000 (0.000133 sec)
> 1 + 2 * 3.
result: 7.000000 (0.000426 sec)
> 1 + 2 * 3 / 4.
result: 2.500000 (0.000357 sec)
> (1 + 2) * (3 / 4).
result: 2.250000 (0.000329 sec)
> a = 1, b = 2, c = 3, (a + b) / c.
result: 1.000000 (0.000782 sec)
> add = fun(a, b) -> a + b end.
result: 1.000000 (0.000448 sec)
> add(10, 20).
result: 30.000000 (0.000431 sec)
> exit
And you can embed CalcPHP in your app by include "CalcPHP.php", and use it like:
//create global state
$state = new CalcState();
//create a parser
$parser = new CalcParser($code, $state);
//parse code as AST
$doc = $parser->Parse();
//execute AST and get result
$result = $doc->Exec();