On 07/11/2012 10:23 AM, Christophe Travert wrote:
Timon Gehr , dans le message (digitalmars.D:171814), a écrit :
On 07/11/2012 01:16 AM, deadalnix wrote:
On 09/07/2012 10:14, Christophe Travert wrote:
deadalnix , dans le message (digitalmars.D:171330), a écrit :
D isn't 100% CFG. But it is close.

What makes D fail to be a CFG?

type[something]<= something can be a type or an expression.
typeid(somethning)<= same here
identifier!(something)<= again

'something' is context-free:

something ::= type | expression.

Do you have to know if something is a type or an expression for a simple
parsing?

No. Some token sequences can be both a type and an expression based on
the context (the CFG is ambiguous), but that is the analysers business.
Parsing D code does not require any kind of analysis.

The langage would better not require this, otherwise simple
parsing is not possible without looking at all forward references and
imported files.

Reply via email to