Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
OK, I agree it's going too far to ask us to write the code. However, hints seem more than reasonable - here is a starting point:

First define the grammar that your input obeys in a format that can be read into a parser. For example, if you choose yapp, Parse::Yapp will also tell you how to define the grammar file it needs to parse your input and how to run the relevant lexer and parser. And when you know that, the code generation should be a relatively trivial matter.

Update: The lexer, albeit simple enough for your example input, also has to be written yourself, but the linked documentation explains that thoroughly. 'Tokens' refer to the named categories of substrings you will return as grammatical elements for the parser - these might be 'TK_DIGITS' or 'TK_ID' etc. and 'values' refer to the actual value found under that category for each execution of your lexer - each such execution therefore returning a single substring and the category under which it falls.

The documentation doesn't mention that one also normally writes a throw routine to consume comments and whitespace.

One world, one people


In reply to Re: How can I parse grouped data? by anonymized user 468275
in thread How can I parse grouped data? by Anonymous Monk

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 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?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (7)
As of 2024-03-28 19:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found