Information Technology Reference
In-Depth Information
π ε and, in essence, adds Dijkstra's display vector components explicitly, an
Algol60-implementation idea not mentioned in [GJSB00] nor in [IgP02].
Instead of semantics we shall study the preprocessor of the new Java-compiler
as described by [IgP02]. The preprocessor performs a denesting
||
of Java-
programs π J J and
|
π J
|
have essentially equal formal execution trees; work
in [IgP02] may be considered as (or may be modified towards) a proof of this
fact. If we look closer at a denested Java-program
π ε
π ε
|
is essentially a description of how an Algol60-runtime system as in [GHL67]
or [WiM92] is executing an implemented Algol60-program π .Thisimpliesthat
π and
|
|
we see that
|
π ε
π ε
|
|
have essentially equal formal execution trees, i.e. that
|
|
is
structurally simulating π . A closer discussion is following:
2.5
On Denesting of Algol60-Procedures and Java-Classes
The preprocessor's denesting of Java is quite surprising compared to experiences
in Algol60. For Algol60 we have
Theorem 4: Algol60 with non-nested procedures has regular formal execution
trees only. Algol60 in general has also irregular ones [Lan73b, Lan74, Old81b].
Consequence: In Algol60 there is no denesting of procedures possible such that
the formal execution trees are essentially equal, i.e. such that original and den-
ested programs are structurally simulating each other. Reason: Algol60 has no
functional results of procedures, there is no partial evaluation, such that den-
ested programs could structurally simulate all programs. [Lan73b,Lan74] define
a slightly generalized language, Algol60-G, which allows partial evaluation in a
restricted form and therefore facilitates denesting (modularizing). Look at pro-
gram example π 2 as a denested program π 2 G and at the associated formal call
tree generated by generalized copy rule applications and ending up with four
nodes as for π 2 earlier:
{
f(q<g>,false )
proc p(f,g)
}
proc q<g>(r,s) {
print ( g ) }
p(p,true )
|
|
{ p(q<true > , false )
}
|
|
{ q < true > ( q < false > , false ) }
|
|
{ print ( true ) }
Observe the clarity of acting of Algol60-G even in comparison to Algol60.
Search WWH ::




Custom Search