Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: Operator Associativity and Eliminating Left-Recursion in Parse::RecDescent

by hexcoder (Curate)
on Jun 13, 2014 at 23:33 UTC ( [id://1089860]=note: print w/replies, xml ) Need Help??


in reply to Operator Associativity and Eliminating Left-Recursion in Parse::RecDescent

Thanks very much, a very very useful tutorial! I especially like the methodical and analytical approach very much.

Some small things I found in the text:


The document provides two implementation
=>
The document provides two implementations

have the same preceedence
=>
have the same precedence

The following subsections show how to evaluate the list how to treeify it.
=>
The following subsections show how to evaluate the list and how to treeify it.

In a list, that means the means the last (right-most) element encountered will be executed first.
=>
In a list, that means the last (right-most) element encountered will be executed first.

Fortuantely, Parse::RecDescent provides a means
=>
Fortunately, Parse::RecDescent provides a means

and each reference to that rule
=>
and of each reference to that rule

Just like function can have arguments, so can subrules.
=>
Just like functions can have arguments, so can subrules.

However, Parse::RecDescent handles rule with productions
=>
However, Parse::RecDescent handles rules with productions

Just like Parse::RecDescent has an directive for creating a flat list for a left-associative operator (<lefttop>),
=>
Just like Parse::RecDescent has a directive for creating a flat list for a left-associative operator (<leftop>),

The problem we have to pass $item[1] from pow to pow_.
=>
The problem is we have to pass $item[1] from pow to pow_.

The following subsections contains complete, working code
=>
The following subsections contain complete, working code

Replies are listed 'Best First'.
Re^2: Operator Associativity and Eliminating Left-Recursion in Parse::RecDescent
by ikegami (Patriarch) on Jun 14, 2014 at 02:49 UTC

    If you had posted that a week earlier, it would have been posted on the 8th anniversary of the OP!

    Thanks, fixes applied.

      Well, I just discovered the OP.

      Originally I wanted to email this to you, but I could not find a way in Perlmonks to do that. The private msg function only offers a tiny line, which did not seem to fit.

      So I posted it (which lowered my reputation a tiny bit).

      What would you suggest in this case?

      Thanks hexcoder

        It wasn't a complaint. I wasn't pointing out the date of your post because I found it annoying; I pointed it out because I thought it was cool!

        > What would you suggest in this case?

        You could have put it into hexcoder's scratchpad, and messaged the link.

        (Correcting orthography is indeed often regarded as a waste of bandwidth. ;)

        Cheers Rolf

        (addicted to the Perl Programming Language)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2024-04-23 22:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found