abstract syntax grammars

Albertina Lourenci lourenci at lsi.usp.br
Sun Jan 21 19:31:34 UTC 2001


Dear Selfers:

Let's make things simple. Having read Chapter 3 Syntax
from Bertrand Meyer's Introduction to the Theory of
Programming languages (he is the author of Eiffel)
I would like someone to tell me if the syntax of all
programming languages (even functional languages? or
everything comes from functional languages?)
are described by a grammar consisting of a set of
productions; each production describes the form
of a certain class of language elements such as
instructions, expressions, routines, etc?
Thilo, my darling I am very sorry but after having
spent lots of time responding to your nice message
the send message command had a problem and I
lost the message!!!
But what is fundamental is that there was a mistake
in the message. The paper Annotating objects for
transport to other worlds was published at
OOPSLA'1995 Proceedings and could be downloaded
 at http://self.smli.com/ ~ungar (Dave please is it OK?).
On page 84  Dave states 5. Previous Work
The Beta fragment system is more versatile than the
transporter because while the transporter cannot dissect
slots, a Beta fragment can be any abstract syntax tree
node.
Moreover he puts forward (ASTs defined by the context
free grammar may be described as Lisp S-
expressions - What's this? and how it is related
to ASTs?)
that in the Interlisp environment data were represented
as S-expressions and Loops objects (built out of
S-expressions).Then he traces the differences and
similarities between Interlisp and Self.
Why did Dave talk about these things?
We were talking about expressiveness. So here
the use of ASTs affects the Beta fragment how?


Moreover Meyer argues there are two ways to
describe the details of the attribute approach:
a procedural way or an OO way, where the
emphasis is on the constructs.
So is it at the level of the attribute grammar
that an OO language is defined? In this
approach constructs will be viewed as abstractly
data types such as classes in class-based
languages, patterns in Beta and object in Self?


Madsen states that the highly interactive,
integrated and incremental programming
environments of many Lisp systtems such as
Interlisp are in many aspects much more
advanced than most environments for
developmet of production software.
So if Self and Interlisp environments
are similar, how can I understand the
Self environment better?
And in this case the language is
designed according to  a set of production?

Well I feel this is not the case because
Dave says The beta system embodies a
very classical view about the nature of
a program: a Beta program is a collection
of abstract conceptual patterns that
describe concrete phenomena without
themselves partaking of the
concreteness of the phenomena.

Hence only the metaprogramming tools
in the Mjolner Beta System manipulate programs
through a common representation, that is
ASTs?
My question is one uses ASTs to design
programming languages as well the
programming environment?

I am very confused.

Thanks for your kind attention.

Albertina



--
.----------------------------------------------------------.
| Albertina Lourenci                                       |
| PhD  in Architecture and Urbanism                        |
| post-doctorate researcher                                |
| Laboratory of Integrated Systems University of Sao Paulo |
| Avenida Professor Luciano Gualberto, 158 Travessa 3      |
| CEP: 05508-900                                           |
| Sao Paulo Sao Paulo State Brazil                         |
| Voice: +55 011 818 5254                                  |
| Fax: +55 11 211 4574                                     |
.----------------------------------------------------------.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.selflanguage.org/pipermail/self-interest/attachments/20010121/8127584c/attachment.html>


More information about the Self-interest mailing list