kwikius wrote:
>
Steven T. Hatton wrote:
>kwikius wrote:
>
Steven T. Hatton wrote:
>I was really looking for a follow-up on the formalism itself, not so much
the application. I'm currently more interested in non-template end of
things. I don't know if anybody will follow up on my suggestion of
devising an abstract state machine to use as a heuristic to help explain
and understand some of the trickier aspects of the standard such as the
interplay of friend declarations and ADL.
I don't quite know what the above means, but AFAIK trying to express
C++ language just by grammar rules and such like doesnt work. That is
why it is near impossible to write automated tools for C++. What things
mean depends on the context. I guess the best model for a state machine
would be a C++ compiler maybe.
I'm not talking about a comprehensive state machine. That would be a
compiler. What I mean is some way of representing a name, for example, in
such a way that its state is clearly defined at a given point in the token
stream. What attributes should be assigned to it in order to fully
represent it? Is it in scope, visible, valid, defined, accessible etc.
Can an orthogonal set of attributes which fully characterizes the state of
a program component be identified?
OTOH I reckon quite how C++ came to be is something of an enigma, which
its better just to accept. Maybe that is what makes it great. Like
other great things, it is not possible to know it completely.
What can be created with C++ may be boundless, but the language definition
is finite. It should be comprehensible.
--
NOUN:1. Money or property bequeathed to another by will. 2. Something handed
down from an ancestor or a predecessor or from the past: a legacy of
religious freedom. ETYMOLOGY: MidE legacie, office of a deputy, from OF,
from ML legatia, from L legare, to depute, bequeath.
www.bartleby.com/61/