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.