Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Re: (Golf) Reversing RPN Notation

by MeowChow (Vicar)
on May 22, 2001 at 09:38 UTC ( #82164=note: print w/ replies, xml ) Need Help??


in reply to Re: (Golf) Reversing RPN Notation
in thread (Golf) Reversing RPN Notation

You have the right idea. Perhaps this will help you get started:

sub rpn_ptree { my@s;$o{$_}?$s[--$#s]=[$_,@s[-2,-1]]:push@s,$_ for@_;@s }
It's a pretty well-golfed sub that builds a parse tree out of an RPN expression. The only tricky part is the --$#s, which simultaneously pops off the top element of @s (by assigning to $#s), and returns the index of the new end of the array. And here's another way to build a parse tree:
sub rpn_ptree { my$i;$o{$_[$i]}&&splice@_,$i-=2,3,[@_[$i..$i+2]]while++$i<@_;@_ }
   MeowChow                                   
               s aamecha.s a..a\u$&owag.print


Comment on Re: Re: (Golf) Reversing RPN Notation
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://82164]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (2)
As of 2014-08-21 04:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (127 votes), past polls