|
 |
Orchid XP v8 wrote:
>>> Haskell really is a PITA to parse. I mean, think about it:
>>> - Whitespace is significant. (No context-free parsing here!)
>>
>> I don't think "context-free" means what you think it means. Whitespace
>> being significant isn't "context".
>
> Indentation is significant. To parse the next line, you must know how
> far the current line was indented. Hence, "context".
I don't think "context-free" means what you think it means.
That's like saying Pascal isn't context-free because you need to know how
many "begin" statements you're nested within.
A grammar is context-free if none of the left side of the production have
terminal symbols in them. (That's the technical definition, which takes
several paragraphs to explain in prose.)
> No, they can be used *before* they're defined. And they can be defined
> in a completely seperate source file too. Which makes me wonder how it's
> possible to parse an individual file at all... you'd need to potentially
> parse every module it imports to work out the operator precedences!
Could be! :-) Sounds like a real bear to compile, but then, that's what
computers are for.
--
Darren New, San Diego CA, USA (PST)
"We'd like you to back-port all the changes in 2.0
back to version 1.0."
"We've done that already. We call it 2.0."
Post a reply to this message
|
 |