Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^7: Unparseability is A Good Thing

by Zen (Deacon)
on Aug 27, 2009 at 15:31 UTC ( #791682=note: print w/ replies, xml ) Need Help??


in reply to Re^6: Unparseability is A Good Thing
in thread Unparseability is A Good Thing

"The meaning of token" is ambiguous. Do you intend to say the outcome of the token or what the machine is supposed to do with the token?

If you intend to say the "outcome", then yes we do disagree on the meaning of parsability. The meaning of the token isn't to play fortune teller; if you give a machine tape input, the machine doesn't pretend to somehow create a pipeline of the future, knowing the state of machine at time t+1. It only knows the state at execution t, where the reader is.

This isn't a perl problem. I know you know this. So what is this requirement on the parser that you are saying is a perl problem?


Comment on Re^7: Unparseability is A Good Thing
Re^8: Unparseability is A Good Thing
by ikegami (Pope) on Aug 27, 2009 at 16:30 UTC

    (That should be "To determine the meaning of a token", fixed.)

    Do you intend to say the outcome of the token or what the machine is supposed to do with the token?

    Tokens don't have outcomes. They're data.

    To answer your question, neither. I meant "For the tokeniser to determine which token to create for a given sequence of input bytes". (Or at a higher level, "For the parser to determine which opcode to create or error to throw for a given sequence of input bytes".)

    For example, to determine whether "/" starts a pattern or if it's a division operator.

    This isn't a perl problem. I know you know this. So what is this requirement on the parser that you are saying is a perl problem?

    It hinders the ability to do useful things with Perl code by greatly extending the cost of doing so.

      Right. What to do with the token is determined at the read head. I still do not see how this is a perl specific problem, as the "/" operator has to be read and computed, what happens with it 5 minutes from now is fortune telling. Not a perl specific problem.

        Does that mean you think the tokeniser produces a <"/" operator> token? It doesn't. There's no such thing. The tokeniser produces either a regexp pattern token (which is a term) or a division operator token when faced with "/" in the input stream.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (9)
As of 2014-09-23 09:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (216 votes), past polls