jackiechan
a écrit : Ça ressemble à du RPN je trouve, non ?
PaXaL
a écrit : Finalement le RPN c'est un peu comme un arbre en fait, c'est pour ça que c'est pratique!
HIPPOPOTAME
a écrit : Bien sûr. c'est la notation de calcul la plus naturelle, et c'est pour ça que ça doit être le langage de base d'une calculatrice!
jackiechan a écrit :
Ce sera celle de PedroM
Kevin Kofler a écrit :
Je te signale que Pedrom (du moins la version que j'ai) travaille avec une réimplémentation (partielle) de push_parse_text, donc en algébrique pour l'utilisateur (et en RPN en interne comme AMS). PpHd n'est pas si paresseux que ça.
y'a pas photo, c'est la 1ère expression qui est plus naturelle pour nous.
TiMad
a écrit : question conne mais c'est chaud non de parser une expression algebrique en notion polonaise non?
(a+b+e+f)*(r+t+y-z/(c+d)^2)
pile | |
| |
| |
| |
| |
| |
| |
| |
| |
'-'
[4]([/4]a+b+e+f)*(r+t+y-z/(c+d)^2)
\
|
V
pile | |
| |
| |
| |
| |
| |
| |
| |
|(|
'-'
([4]a[/4]+b+e+f)*(r+t+y-z/(c+d)^2) ------> a
pile | |
| |
| |
| |
| |
| |
| |
| |
|(|
'-'
(a[4]+[/4]b+e+f)*(r+t+y-z/(c+d)^2) a
\
|
V
pile | |
| |
| |
| |
| |
| |
| |
|+|
|(|
'-'
(a+[4]b[/4]+e+f)*(r+t+y-z/(c+d)^2) ------> a b
pile | |
| |
| |
| |
| |
| |
| |
|+|
|(|
'-'
(a+b[4]+[/4]e+f)*(r+t+y-z/(c+d)^2) a b
\
|
V
pile | |
| |
| |
| |
| |
| |
|+|
|+|
|(|
'-'
(a+b+[4]e[/4]+f)*(r+t+y-z/(c+d)^2) ------> a b e
pile | |
| |
| |
| |
| |
| |
|+|
|+|
|(|
'-'
(a+b+e[4]+[/4]f)*(r+t+y-z/(c+d)^2) a b e
\
|
V
pile | |
| |
| |
| |
| |
|+|
|+|
|+|
|(|
'-'
(a+b+e+[4]f[/4])*(r+t+y-z/(c+d)^2) -------> a b e f
pile | |
| |
| |
| |
| |
|+|
|+|
|+|
|(|
'-'
(a+b+e+f[4])[/4]*(r+t+y-z/(c+d)^2) a b e f +
.----->
/
|
pile | |
| |
| |
| |
| |
| |
|+|
|+|
|(|
'-'
(a+b+e+f[4])[/4]*(r+t+y-z/(c+d)^2) a b e f + +
.----->
/
|
pile | |
| |
| |
| |
| |
| |
| |
|+|
|(|
'-'
(a+b+e+f[4])[/4]*(r+t+y-z/(c+d)^2) a b e f + + +
.----->
/
|
pile | |
| |
| |
| |
| |
| |
| |
| |
| |
'-'
(a+b+e+f)[4]*[/4](r+t+y-z/(c+d)^2) a b e f + + +
\
|
V
pile | |
| |
| |
| |
| |
| |
| |
| |
|*|
'-'
(a+b+e+f)*[4]([/4]r+t+y-z/(c+d)^2) a b e f + + +
\
|
V
pile | |
| |
| |
| |
| |
| |
| |
|(|
|*|
'-'
(a+b+e+f)*([4]r[/4]+t+y-z/(c+d)^2) ------> a b e f + + + r
pile | |
| |
| |
| |
| |
| |
| |
|(|
|*|
'-'
(a+b+e+f)*(r[4]+[/4]t+y-z/(c+d)^2) a b e f + + + r
\
|
V
pile | |
| |
| |
| |
| |
| |
|+|
|(|
|*|
'-'
(a+b+e+f)*(r+[4]t[/4]+y-z/(c+d)^2) ------> a b e f + + + r t
pile | |
| |
| |
| |
| |
| |
|+|
|(|
|*|
'-'
(a+b+e+f)*(r+t[4]+[/4]y-z/(c+d)^2) a b e f + + + r t
\
|
V
pile | |
| |
| |
| |
| |
|+|
|+|
|(|
|*|
'-'
(a+b+e+f)*(r+t+[4]y[/4]-z/(c+d)^2) -------> a b e f + + + r t y
pile | |
| |
| |
| |
| |
|+|
|+|
|(|
|*|
'-'
(a+b+e+f)*(r+t+y[4]-[/4]z/(c+d)^2) a b e f + + + r t y
\
|
V
pile | |
| |
| |
| |
|-|
|+|
|+|
|(|
|*|
'-'
(a+b+e+f)*(r+t+y-[4]z[/4]/(c+d)^2) ------> a b e f + + + r t y z
pile | |
| |
| |
| |
|-|
|+|
|+|
|(|
|*|
'-'
(a+b+e+f)*(r+t+y-z[4]/[/4](c+d)^2) a b e f + + + r t y z
\
|
V
pile | |
| |
| |
|/|
|-|
|+|
|+|
|(|
|*|
'-'
(a+b+e+f)*(r+t+y-z/[4]([/4]c+d)^2) a b e f + + + r t y z
\
|
V
pile | |
| |
|(|
|/|
|-|
|+|
|+|
|(|
|*|
'-'
(a+b+e+f)*(r+t+y-z/([4]c[/4]+d)^2) ------> a b e f + + + r t y z c
pile | |
| |
|(|
|/|
|-|
|+|
|+|
|(|
|*|
'-'
(a+b+e+f)*(r+t+y-z/(c[4]+[/4]d)^2) a b e f + + + r t y z c
\
|
V
pile | |
|+|
|(|
|/|
|-|
|+|
|+|
|(|
|*|
'-'
(a+b+e+f)*(r+t+y-z/(c+[4]d[/4])^2) ------> a b e f + + + r t y z c d
pile | |
|+|
|(|
|/|
|-|
|+|
|+|
|(|
|*|
'-'
(a+b+e+f)*(r+t+y-z/(c+d[4])[/4]^2) a b e f + + + r t y z c d +
.------->
/
|
pile | |
| |
| |
|/|
|-|
|+|
|+|
|(|
|*|
'-'
(a+b+e+f)*(r+t+y-z/(c+d)[4]^[/4]2) a b e f + + + r t y z c d +
\
|
V
pile | |
| |
|^|
|/|
|-|
|+|
|+|
|(|
|*|
'-'
(a+b+e+f)*(r+t+y-z/(c+d)^[4]2[/4]) ------> a b e f + + + r t y z c d + 2
pile | |
| |
|^|
|/|
|-|
|+|
|+|
|(|
|*|
'-'
(a+b+e+f)*(r+t+y-z/(c+d)^2[4])[/4] a b e f + + + r t y z c d + 2 ^
.------->
/
|
pile | |
| |
| |
|/|
|-|
|+|
|+|
|(|
|*|
'-'
(a+b+e+f)*(r+t+y-z/(c+d)^2[4])[/4] a b e f + + + r t y z c d + 2 ^ /
.------->
/
|
pile | |
| |
| |
| |
|-|
|+|
|+|
|(|
|*|
'-'
(a+b+e+f)*(r+t+y-z/(c+d)^2[4])[/4] a b e f + + + r t y z c d + 2 ^ / -
.------->
/
|
pile | |
| |
| |
| |
| |
|+|
|+|
|(|
|*|
'-'
(a+b+e+f)*(r+t+y-z/(c+d)^2[4])[/4] a b e f + + + r t y z c d + 2 ^ / - +
.------->
/
|
pile | |
| |
| |
| |
| |
| |
|+|
|(|
|*|
'-'
(a+b+e+f)*(r+t+y-z/(c+d)^2[4])[/4] a b e f + + + r t y z c d + 2 ^ / - + +
.------->
/
|
pile | |
| |
| |
| |
| |
| |
| |
|(|
|*|
'-'
(a+b+e+f)*(r+t+y-z/(c+d)^2) a b e f + + + r t y z c d + 2 ^ / - + + *
.------->
/
|
pile | |
| |
| |
| |
| |
| |
| |
| |
| |
'-'
)
