Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

See ppi_dumper or Re: ppiwx / wxPPI / wxppixregexp xPPIx_Regexp_linecol_onize / PPIx::Regexp::Element::column_number or Re: Wanted: Perl Regex Pretty Printer (almost, rxrx, rxplain)

PPIx::Regexp is pretty good although I've had to enhance it to do proper regexp modifiers propagation ... I've got code (PPIx::Regexp::xplain), still in need of some refactoring ... you can see sample output above at rxplain link

Regexp::Debugger parses the regex, modifies the regex (adds callbacks), and then runs the modified regex, needs to run it so it can explain the regex -- Re^2: Wanted: Perl Regex Pretty Printer (rxrx bug) -- translating to another regex language would require the amount of context/knowledge as explaining -- thats if you want to adapt it (though patching the module)

So I would go with PPIx::Regexp because it doesn't require running the regex in the perl regex engine, does a pretty good job, and is designed for this kind of task

All other solutions (Regexp::Debugger) are too much work -- sure the tokenizer is good, but there is too much context to keep track off .... basically you end up starting from scratch and learning waaaaaaay too much about regexes ... PPIx::Dumper embodies a lot of that knowledge


In reply to Re: Parsing and translating Perl Regexes ( PPIx::Regexp::xplain Regexp::Debugger ) by Anonymous Monk
in thread Parsing and translating Perl Regexes by LanX

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (3)
As of 2022-05-21 00:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you prefer to work remotely?



    Results (76 votes). Check out past polls.

    Notices?