Let AG be an attribute grammar, with underlying context free grammar G and attribute evaluation r... more Let AG be an attribute grammar, with underlying context free grammar G and attribute evaluation rules A. The function that decorates���according to A���a parse tree with attribute values and then delivers the synthesized attribute value of the root node, is denoted [[A]]. We translate G into a functor F such that any parse tree for G is an element of the initial F-algebra. The attribute evaluation rules A are translated to a function �� such that ([F| ��]) is, in a precise sense, equivalent to [[A]].
... GGGd G !GGd!Gd k k commutes F a!FFa F !FFFa FFf ! FF Gb F ! F GF b F Gg ! F GGc F ! F Gc ! GF... more ... GGGd G !GGd!Gd k k commutes F a!FFa F !FFFa FFf ! FF Gb F ! F GF b F Gg ! F GGc F ! F Gc ! GF c Gh ! GGd ! Gd ... F a!FFa F !FFFa FFf ! FF Gb F ! F GF b F Gg ! F GGc F ! F Gc ! GF c Gh ! GGd ! Gd diagram notation ; F f ; ; G = ; F ; FFf ; F ; F ^ GF g ; G = F ; F Gg ^ ...
In this paper we explain, independent of any formalism, how to construct an expression in a forma... more In this paper we explain, independent of any formalism, how to construct an expression in a formal system that ‘does something with itself’. As an application of this procedure we show how to construct a program that writes its own text, lay-out included. The emphases is on the systematic development in concrete programming languages, rather than on the abstract theory
In this paper we explain, independent of any formalism, how to construct an expression in a forma... more In this paper we explain, independent of any formalism, how to construct an expression in a formal system that ‘does something with itself’. As an application of this procedure we show how to construct a program that writes its own text, lay-out included. The emphases is on the systematic development in concrete programming languages, rather than on the abstract theory
Let AG be an attribute grammar, with underlying context free grammar G and attribute evaluation r... more Let AG be an attribute grammar, with underlying context free grammar G and attribute evaluation rules A. The function that decorates���according to A���a parse tree with attribute values and then delivers the synthesized attribute value of the root node, is denoted [[A]]. We translate G into a functor F such that any parse tree for G is an element of the initial F-algebra. The attribute evaluation rules A are translated to a function �� such that ([F| ��]) is, in a precise sense, equivalent to [[A]].
... GGGd G !GGd!Gd k k commutes F a!FFa F !FFFa FFf ! FF Gb F ! F GF b F Gg ! F GGc F ! F Gc ! GF... more ... GGGd G !GGd!Gd k k commutes F a!FFa F !FFFa FFf ! FF Gb F ! F GF b F Gg ! F GGc F ! F Gc ! GF c Gh ! GGd ! Gd ... F a!FFa F !FFFa FFf ! FF Gb F ! F GF b F Gg ! F GGc F ! F Gc ! GF c Gh ! GGd ! Gd diagram notation ; F f ; ; G = ; F ; FFf ; F ; F ^ GF g ; G = F ; F Gg ^ ...
In this paper we explain, independent of any formalism, how to construct an expression in a forma... more In this paper we explain, independent of any formalism, how to construct an expression in a formal system that ‘does something with itself’. As an application of this procedure we show how to construct a program that writes its own text, lay-out included. The emphases is on the systematic development in concrete programming languages, rather than on the abstract theory
In this paper we explain, independent of any formalism, how to construct an expression in a forma... more In this paper we explain, independent of any formalism, how to construct an expression in a formal system that ‘does something with itself’. As an application of this procedure we show how to construct a program that writes its own text, lay-out included. The emphases is on the systematic development in concrete programming languages, rather than on the abstract theory
Uploads
Papers by Maarten Fokkinga