|
Boost : |
From: Jonathan Turkanis (technews_at_[hidden])
Date: 2005-09-27 20:23:58
Simon Buchan wrote:
> Jonathan Turkanis wrote:
>> Simon Buchan wrote:
>>
>>> Jonathan Turkanis wrote:
>>>> ... It would be nice to have
>>>> a truly formal specification, but in the case of C++ it's probably
>>>> not realistic.
>>>>
>>>
>>> I do think it's possible
>>> (If it wasn't, we wouldn't be able to write
>>> compilers for it!),
>> That's like saying: Of course it must be possible to provide a
>> formal semantics for English -- otherwise I'd never be able to
>> understand the instructiosn that come with my coffee maker :-)
>>
> Can you?
Okay, I was exaggerating. I should have picked a simpler example.
> If so, English (or more precisely, the subset used in the
> instructions) can be formally defined (in fact, you can find programs
> that do).
I think it's possible to come pretty close, but nobody knows how to do it yet.
> The problem with natural languages is that they have a
> symbol table with trillions of entries, and that table is dynamicly
> generated based on the situation the compiler (ie, you) is in.
What are the trillions of entries?
>>> but remember the standard has basicly grown out of
>>> rewordings from the days of C (which did likewise back to B, etc...)
>>> I think a formal, but human-readable, grammar, kind of like EBNF for
>>> semantics, would be useful here.
>>
>>
>> It would be very useful (except I'm not sure what you mean by "kind
>> of like EBNF for semantics")
>>
> Think algebra for syntax. That's EBNF. I don't know of any
> generalised definition of semantics
I don't think there is one.
> (Turing machines don't count,
> 'cause they arn't human-readable (even the definition of Turing
> machines arn't!), and Lambda Calculus isn't general enough.) that
> would be useful, but feel
> free to correct me.
I'd settle for unreadable semantics.
-- Jonathan Turkanis www.kangaroologic.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk