From: | George Neuner <gneuner2@comcast.net> |
Newsgroups: | comp.compilers |
Date: | Sun, 29 Jun 2014 07:56:55 -0400 |
Organization: | A noiseless patient Spider |
References: | 14-06-010 14-06-023 14-06-025 14-06-027 |
Keywords: | semantics |
Posted-Date: | 29 Jun 2014 11:28:25 EDT |
Hi Ivan,
On Sat, 28 Jun 2014 12:25:18 -0700, Ivan Godard <ivan@ootbcomp.com>
wrote:
>Where would you place VWG on the operational/denotational/axiomatic
>spectrum?
Denotational.
Technically any grammar formalism is a denotational description of the
syntax of the accepted/generated language. But I think what you
really may be asking is whether a vW-grammar also is a semantic
description of the language it describes.
The only place I have seen a 2 level grammar used was in the original
Algol68 report. Despite the inclusion of semantically meaningful
terms like "inseparable" and "strongly", etc., in actuality the vW
grammar in the report was used only for syntax specification. Language
semantics were not described *using* the formalism but rather were
given by accompanying text and only were *referenced* by the
formalism.
[Quickly reviewing the reports I noticed that the revised report
adopted a different (though equally dense) 2 level grammar "to make
its study easier for the uninitiated reader". Honestly, I don't see
how the "NEST" grammar was any improvement on the vW.]
At the most basic, any grammar imparts some (very limited) semantics
to the described language by constraining[*] the symbolic alphabet and
the set of strings that are to be considered valid. However, the
meaning of those strings is knowable only to an observer/manipulator at
a level higher than the grammar that describes them.
[*] Even though the set of valid strings may, in fact, be infinite,
owing to constraints the set must be countably infinite and therefore
(theoretically) enumerable. 8-)
Of course, 2-level grammars like vW can be shown to be Turing Complete
- so in theory one could describe Yet Another Grammar which, in turn,
could be used to describe both the syntax and denotation semantics of
Yet Another Language. I can imagine that the YAG is some sort of a
declarative programming language in its own right and the YAL is a
program "written" in YAG which is (or generates) the compiler for YAL.
Ouch! I've just gotten a meta-circular headache!
George
Return to the
comp.compilers page.
Search the
comp.compilers archives again.