On 06/05/2010 08:16 PM, Bernard Helyer wrote:
On 06/06/10 03:26, Ellery Newcomer wrote:
On 06/05/2010 08:22 AM, Bernard Helyer wrote:
I may be trying to write a D2 compiler in D2 (you can't prove
anything!),

ditto, except mine is in java

Awesome! :)

No. Java isn't. :)

Although the jvm talk bearophile linked to suggested that the jvm would be relatively easy to generate machine code for.



---

http://www.digitalmars.com/d/2.0/expression.html#UnaryExpression

"( Type ) . Identifier"

why is that significant?

---

I suppose it's a bid to reduce the amount of incorrect parsing that
would result from

Type . Identifier

And to its credit, I don't think I have come across any trouble with it.

Maybe I'm having a slow morning, but I can't really grok that. Could you
elaborate? Speak slowly. :)


expressions and types are ambiguous, so any place where both can appear will be trouble. Consider the token string

Identifier [ Identifier ] . Identifier

does the part before the dot represent a type, or an expression? It's impossible to say at parse time (in the general case), and the programmer will have cause to use both fairly often.

And yes,

( Identifier [ Identifier ] ) . Identifier

is just as ambiguous, but I think

( Expression ) . Identifier

is much less common than

Expression . Identifier

Ugh. I suppose I'm going to have to write a Type -> Expression routine sometime soon.

Reply via email to