{"entities":{"Q1121033":{"pageid":1131782,"ns":120,"title":"Item:Q1121033","lastrevid":66172890,"modified":"2026-04-12T08:02:04Z","type":"item","id":"Q1121033","labels":{"en":{"language":"en","value":"Towards an algebraic specification of code generation"}},"descriptions":{"en":{"language":"en","value":"scientific article; zbMATH DE number 4102506"}},"aliases":{},"claims":{"P31":[{"mainsnak":{"snaktype":"value","property":"P31","hash":"fd5912e4dab4b881a8eb0eb27e7893fef55176ad","datavalue":{"value":{"entity-type":"item","numeric-id":56887,"id":"Q56887"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q1121033$596126C7-4223-4C6B-AED6-468FEFC4F3BD","rank":"normal"}],"P159":[{"mainsnak":{"snaktype":"value","property":"P159","hash":"c56abecbf23147b5a0da38d60339986133720af2","datavalue":{"value":{"text":"Towards an algebraic specification of code generation","language":"en"},"type":"monolingualtext"},"datatype":"monolingualtext"},"type":"statement","id":"Q1121033$3CE0D318-A857-4914-8591-B979E5CEF777","rank":"normal"}],"P225":[{"mainsnak":{"snaktype":"value","property":"P225","hash":"cd0f5df4ff4428be0fbcc63fd5fdb54381d77640","datavalue":{"value":"0673.68047","type":"string"},"datatype":"external-id"},"type":"statement","id":"Q1121033$A2530156-6571-4C5B-95D3-879E7B73AB74","rank":"normal"}],"P27":[{"mainsnak":{"snaktype":"value","property":"P27","hash":"18fa6f3c2983e83b84bc5a617b7848d7c4b8aca8","datavalue":{"value":"10.1016/0167-6423(88)90064-0","type":"string"},"datatype":"external-id"},"type":"statement","id":"Q1121033$8BA57A4F-977B-46BF-98CB-421D1214FD3D","rank":"normal"}],"P16":[{"mainsnak":{"snaktype":"value","property":"P16","hash":"299080fcb4d10db6bc9f243afdb0b2f6a4f09785","datavalue":{"value":{"entity-type":"item","numeric-id":246438,"id":"Q246438"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q1121033$65B277DE-D608-4D7D-9CC2-327E80A7C3EC","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P16","hash":"8720fbec5da4db846e91d180ea28b9a0ad71c571","datavalue":{"value":{"entity-type":"item","numeric-id":1121032,"id":"Q1121032"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q1121033$6BC17C1A-D3E9-4DAC-87DB-366E3E52BBF9","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P16","hash":"b3ffa4994338efd06013be21830dd4928bee170b","datavalue":{"value":{"entity-type":"item","numeric-id":582126,"id":"Q582126"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q1121033$CCDBC48B-41B0-4C1F-BE4F-803BA2C941FA","rank":"normal"}],"P200":[{"mainsnak":{"snaktype":"value","property":"P200","hash":"4082512e7d3530b9726df691c7c28e9fec542a8c","datavalue":{"value":{"entity-type":"item","numeric-id":169675,"id":"Q169675"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q1121033$C5237410-A3F1-439D-B2A3-C8EE2A8CCCEE","rank":"normal"}],"P28":[{"mainsnak":{"snaktype":"value","property":"P28","hash":"31a1937240ca4a323604b4728c31d242b5596d7c","datavalue":{"value":{"time":"+1988-00-00T00:00:00Z","timezone":0,"before":0,"after":0,"precision":9,"calendarmodel":"http://www.wikidata.org/entity/Q1985727"},"type":"time"},"datatype":"time"},"type":"statement","id":"Q1121033$1B317FC0-BF18-42E9-90A6-9C4F6E2DA88C","rank":"normal"}],"P1448":[{"mainsnak":{"snaktype":"value","property":"P1448","hash":"dc648799f2b26ec8eb398cc2c25f65a86804ba38","datavalue":{"value":"The authors show how the problem of code generation can be treated fully algebraically. They demonstrate the approach by specifying the compiler for a very simple language, which describes arithmetic expressions. The authors first define the abstract syntax and the semantics of this language and then that of the target language. For this purpose, they use a stack machine.    The main section of the paper defines the code generator as an operation of an appropriate abstract data type and proves this translation to be correct. The proof clarifies the major advantage of this approach: Theorems about the code generator can be proved by induction on the term structure of the abstract syntax. In addition, the authors consider an ``a posteriori'' optimization and show that the approach is applicable to this phase, too. Finally, they mention a prototype implementation using the Passau RAP system.    The paper is written very clearly and is an important step towards a uniform specification of all compiler phases.","type":"string"},"datatype":"string"},"type":"statement","id":"Q1121033$249849A8-417D-4A86-AD01-105BD8CA9B61","rank":"normal"}],"P226":[{"mainsnak":{"snaktype":"value","property":"P226","hash":"40d293f5d2161e80872b42afb12a3fc45e5d1401","datavalue":{"value":"68Q55","type":"string"},"datatype":"external-id"},"type":"statement","id":"Q1121033$D95F29E1-8037-4B41-86FE-6F55558BAE64","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P226","hash":"b8e3f40e3cc87753c4e0b7d7ce4bdc00805f626f","datavalue":{"value":"68N01","type":"string"},"datatype":"external-id"},"type":"statement","id":"Q1121033$EB951021-06A6-4228-907B-639CC3FB9253","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P226","hash":"6be78f1bad1f2f19058dbde65eb124c0430a7d27","datavalue":{"value":"68W30","type":"string"},"datatype":"external-id"},"type":"statement","id":"Q1121033$FBC09F51-3DF8-4B69-ABDE-73472A275C6C","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P226","hash":"092d9a7dfbbaaa84ba458f8d83190fce94c9aa54","datavalue":{"value":"68Q65","type":"string"},"datatype":"external-id"},"type":"statement","id":"Q1121033$FE91295B-B2C9-4E56-9D88-7892D54E415E","rank":"normal"}],"P1451":[{"mainsnak":{"snaktype":"value","property":"P1451","hash":"7f18f4f5d49b94d38da2a2d953d1780059e099f4","datavalue":{"value":"4102506","type":"string"},"datatype":"external-id"},"type":"statement","id":"Q1121033$BFB42E45-51F6-420D-8943-4ACF3036EECA","rank":"normal"}],"P1450":[{"mainsnak":{"snaktype":"value","property":"P1450","hash":"47aefda07ac5d6e74103bdf2455b1df41b0e324b","datavalue":{"value":"algebraic specification","type":"string"},"datatype":"string"},"type":"statement","id":"Q1121033$511ED1EC-18B8-45C6-A99F-C98D75750F51","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1450","hash":"d6bc6768f771e8ae47ba1683cf1d33a808061abb","datavalue":{"value":"code generation","type":"string"},"datatype":"string"},"type":"statement","id":"Q1121033$F0BE8B2A-3801-431E-973A-9526ECE51C7E","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1450","hash":"326b6718664360da5b758d5b2bae19e8c24689d7","datavalue":{"value":"Passau RAP system","type":"string"},"datatype":"string"},"type":"statement","id":"Q1121033$C355D307-C858-48EE-BDC0-1F05C109EEA6","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1450","hash":"901c6d511d35303a6a968c1174234f4350020c8b","datavalue":{"value":"compiler","type":"string"},"datatype":"string"},"type":"statement","id":"Q1121033$133A8633-E842-43F8-8E3B-0D6DA9F638F0","rank":"normal"}],"P1447":[{"mainsnak":{"snaktype":"value","property":"P1447","hash":"022fe16d37aa700fea70e7a830c42e0ea8776f70","datavalue":{"value":{"entity-type":"item","numeric-id":685457,"id":"Q685457"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q1121033$170B4B05-1798-4C4F-9F44-888F38862893","rank":"normal"}],"P1460":[{"mainsnak":{"snaktype":"value","property":"P1460","hash":"57f7fea50d2ce1b39b695c4a1313582eed405e38","datavalue":{"value":{"entity-type":"item","numeric-id":5976449,"id":"Q5976449"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","id":"Q1121033$95A2B393-F487-455C-B3C0-0FAE0B63EED3","rank":"normal"}],"P205":[{"mainsnak":{"snaktype":"value","property":"P205","hash":"cba9a1cb67a70b094910858fced808aa4b7b47f1","datavalue":{"value":"https://doi.org/10.1016/0167-6423(88)90064-0","type":"string"},"datatype":"url"},"type":"statement","id":"Q1121033$6EADD9C8-0BE2-43B7-80A5-F13E428E7CFF","rank":"normal"}],"P388":[{"mainsnak":{"snaktype":"value","property":"P388","hash":"40b8895e7c6f487c4556e47b57515fc2546a1da2","datavalue":{"value":"W2094145777","type":"string"},"datatype":"external-id"},"type":"statement","id":"Q1121033$7B29A249-05D0-4D94-986F-3AC79354B43C","rank":"normal"}],"P1643":[{"mainsnak":{"snaktype":"value","property":"P1643","hash":"9dd3c22360f8cd4d41f22a7a6b836fec550451ad","datavalue":{"value":{"entity-type":"item","numeric-id":1853753,"id":"Q1853753"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","qualifiers":{"P1659":[{"snaktype":"value","property":"P1659","hash":"b2850b68dbd670be017048cd0512273c37fd49d3","datavalue":{"value":{"amount":"+0.8921271","unit":"1"},"type":"quantity"},"datatype":"quantity"}],"P1660":[{"snaktype":"value","property":"P1660","hash":"ac3c626774dcd0d16f89557f66586245841a01db","datavalue":{"value":{"entity-type":"item","numeric-id":6767936,"id":"Q6767936"},"type":"wikibase-entityid"},"datatype":"wikibase-item"}]},"qualifiers-order":["P1659","P1660"],"id":"Q1121033$7CC9BF1F-F62A-43A4-8AD1-79C4F29336F5","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1643","hash":"e137737ec2c8c556dbfef331f92e50ec06fc1ae3","datavalue":{"value":{"entity-type":"item","numeric-id":4234217,"id":"Q4234217"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","qualifiers":{"P1659":[{"snaktype":"value","property":"P1659","hash":"2da89d3268b7efd46eb133e8059ff56ae2e310c7","datavalue":{"value":{"amount":"+0.8907685","unit":"1"},"type":"quantity"},"datatype":"quantity"}],"P1660":[{"snaktype":"value","property":"P1660","hash":"ac3c626774dcd0d16f89557f66586245841a01db","datavalue":{"value":{"entity-type":"item","numeric-id":6767936,"id":"Q6767936"},"type":"wikibase-entityid"},"datatype":"wikibase-item"}]},"qualifiers-order":["P1659","P1660"],"id":"Q1121033$A6391938-1CA9-47CB-801E-F6A5DD366B0D","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1643","hash":"a56c0aea0bcbf4bc3b475f565e7169110d06dd2e","datavalue":{"value":{"entity-type":"item","numeric-id":4412516,"id":"Q4412516"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","qualifiers":{"P1659":[{"snaktype":"value","property":"P1659","hash":"08669d363c27a0f6c798e42285f4d6c3f54f51c8","datavalue":{"value":{"amount":"+0.8905889","unit":"1"},"type":"quantity"},"datatype":"quantity"}],"P1660":[{"snaktype":"value","property":"P1660","hash":"ac3c626774dcd0d16f89557f66586245841a01db","datavalue":{"value":{"entity-type":"item","numeric-id":6767936,"id":"Q6767936"},"type":"wikibase-entityid"},"datatype":"wikibase-item"}]},"qualifiers-order":["P1659","P1660"],"id":"Q1121033$B606813D-C48D-476B-9390-4544BC88EA04","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1643","hash":"cb5588e159850c7bcd47fad3066dbbcb9fd130ea","datavalue":{"value":{"entity-type":"item","numeric-id":3709886,"id":"Q3709886"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","qualifiers":{"P1659":[{"snaktype":"value","property":"P1659","hash":"5c4ff3b823ef0a8733df1f01862b44ab4b3a131a","datavalue":{"value":{"amount":"+0.887852","unit":"1"},"type":"quantity"},"datatype":"quantity"}],"P1660":[{"snaktype":"value","property":"P1660","hash":"ac3c626774dcd0d16f89557f66586245841a01db","datavalue":{"value":{"entity-type":"item","numeric-id":6767936,"id":"Q6767936"},"type":"wikibase-entityid"},"datatype":"wikibase-item"}]},"qualifiers-order":["P1659","P1660"],"id":"Q1121033$62EE8CF8-4D0D-4579-BEDE-7DA3027DF58A","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1643","hash":"383060196ad085683e5c438e775f8792873d6ace","datavalue":{"value":{"entity-type":"item","numeric-id":5309592,"id":"Q5309592"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","qualifiers":{"P1659":[{"snaktype":"value","property":"P1659","hash":"99071c199c0c4795684c401f9a05e48d4d7636f9","datavalue":{"value":{"amount":"+0.88706183","unit":"1"},"type":"quantity"},"datatype":"quantity"}],"P1660":[{"snaktype":"value","property":"P1660","hash":"ac3c626774dcd0d16f89557f66586245841a01db","datavalue":{"value":{"entity-type":"item","numeric-id":6767936,"id":"Q6767936"},"type":"wikibase-entityid"},"datatype":"wikibase-item"}]},"qualifiers-order":["P1659","P1660"],"id":"Q1121033$D159B17C-AC64-4F3D-94C4-ADC7DEF6FA4B","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1643","hash":"8f8db0d2b0e88faf89f8acf78254dd748364d5a9","datavalue":{"value":{"entity-type":"item","numeric-id":3731020,"id":"Q3731020"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","qualifiers":{"P1659":[{"snaktype":"value","property":"P1659","hash":"64e5f429f6a666abe47c49e399fa03d53acb7889","datavalue":{"value":{"amount":"+0.88596755","unit":"1"},"type":"quantity"},"datatype":"quantity"}],"P1660":[{"snaktype":"value","property":"P1660","hash":"ac3c626774dcd0d16f89557f66586245841a01db","datavalue":{"value":{"entity-type":"item","numeric-id":6767936,"id":"Q6767936"},"type":"wikibase-entityid"},"datatype":"wikibase-item"}]},"qualifiers-order":["P1659","P1660"],"id":"Q1121033$504BF634-316B-4A6B-9B10-3D184670F0A9","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1643","hash":"40d9a5eb0137648266dab2e0ada2b56f609aad21","datavalue":{"value":{"entity-type":"item","numeric-id":3347271,"id":"Q3347271"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","qualifiers":{"P1659":[{"snaktype":"value","property":"P1659","hash":"64e5f429f6a666abe47c49e399fa03d53acb7889","datavalue":{"value":{"amount":"+0.88596755","unit":"1"},"type":"quantity"},"datatype":"quantity"}],"P1660":[{"snaktype":"value","property":"P1660","hash":"ac3c626774dcd0d16f89557f66586245841a01db","datavalue":{"value":{"entity-type":"item","numeric-id":6767936,"id":"Q6767936"},"type":"wikibase-entityid"},"datatype":"wikibase-item"}]},"qualifiers-order":["P1659","P1660"],"id":"Q1121033$D5BF5560-5552-46AA-AA1E-D389F97DD4A3","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1643","hash":"9281499684fa640d08bf592f60ce70e66cf58948","datavalue":{"value":{"entity-type":"item","numeric-id":3741040,"id":"Q3741040"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","qualifiers":{"P1659":[{"snaktype":"value","property":"P1659","hash":"e0c257b5707be12d9ffbc0f08e369798cafbb1c4","datavalue":{"value":{"amount":"+0.88486665","unit":"1"},"type":"quantity"},"datatype":"quantity"}],"P1660":[{"snaktype":"value","property":"P1660","hash":"ac3c626774dcd0d16f89557f66586245841a01db","datavalue":{"value":{"entity-type":"item","numeric-id":6767936,"id":"Q6767936"},"type":"wikibase-entityid"},"datatype":"wikibase-item"}]},"qualifiers-order":["P1659","P1660"],"id":"Q1121033$4954C6EA-CE5B-49D6-9DA5-D949D1B085BD","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1643","hash":"320614a55b36fc09047e11fb8e4de0f07f7010b0","datavalue":{"value":{"entity-type":"item","numeric-id":3540070,"id":"Q3540070"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","qualifiers":{"P1659":[{"snaktype":"value","property":"P1659","hash":"e74167bdc4aa2efa2de89016cd2647285beace1a","datavalue":{"value":{"amount":"+0.8829924","unit":"1"},"type":"quantity"},"datatype":"quantity"}],"P1660":[{"snaktype":"value","property":"P1660","hash":"ac3c626774dcd0d16f89557f66586245841a01db","datavalue":{"value":{"entity-type":"item","numeric-id":6767936,"id":"Q6767936"},"type":"wikibase-entityid"},"datatype":"wikibase-item"}]},"qualifiers-order":["P1659","P1660"],"id":"Q1121033$5B3DB1D6-8D30-4248-A9AC-305225003D6C","rank":"normal"},{"mainsnak":{"snaktype":"value","property":"P1643","hash":"d23a6f713380009ce7176c34cc062d6ca4ec244a","datavalue":{"value":{"entity-type":"item","numeric-id":4861677,"id":"Q4861677"},"type":"wikibase-entityid"},"datatype":"wikibase-item"},"type":"statement","qualifiers":{"P1659":[{"snaktype":"value","property":"P1659","hash":"7b902ff990061da087a5b28bcb064a521b938e8c","datavalue":{"value":{"amount":"+0.8828218","unit":"1"},"type":"quantity"},"datatype":"quantity"}],"P1660":[{"snaktype":"value","property":"P1660","hash":"ac3c626774dcd0d16f89557f66586245841a01db","datavalue":{"value":{"entity-type":"item","numeric-id":6767936,"id":"Q6767936"},"type":"wikibase-entityid"},"datatype":"wikibase-item"}]},"qualifiers-order":["P1659","P1660"],"id":"Q1121033$A9439D3F-0101-4DDE-AE6B-E9B7F58656F5","rank":"normal"}]},"sitelinks":{"mardi":{"site":"mardi","title":"Towards an algebraic specification of code generation","badges":[]}}}}}