iBet uBet web content aggregator. Adding the entire web to your favor.
iBet uBet web content aggregator. Adding the entire web to your favor.



Link to original content: https://api.crossref.org/works/10.1145/68127.68138
{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,1,4]],"date-time":"2023-01-04T05:21:16Z","timestamp":1672809676403},"reference-count":19,"publisher":"Association for Computing Machinery (ACM)","issue":"9","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGPLAN Not."],"published-print":{"date-parts":[[1989,8,11]]},"abstract":"Application programming is often carried out in an ad hoc way compared to the construction of code for implementing operations in 'standard calculi' such as relational calculus, number theory, set theory, etc. The various programming techniques, such as 'abstraction' and 'transformation', which are often used in the latter are infrequently used in application programming. We believe that more structured approaches to application programming may facilitate the use of established programming techniques in application programming. In this paper, we explore one such approach that is based on the notion of 'application programming as the construction of language interpreters'. We have built a 'system' to support this approach. The system that we have built consists of a number of higher order functions that can be used to 'glue together' parts of a specification of an attribute grammar such that the result is an executable interpreter. These functions facilitate the 'language processing' part of application programming. Our implementation language is a higher order, lazy, pure functional programming language; this facilitates the 'standard calculi' part of application programming. We claim that for certain types of application programming, our system not only helps the programmer to separate these two aspects of the problem, but that it also provides a framework in which both aspects can be addressed methodically, taking advantage of various programming techniques such as 'abstraction' and 'transformation', and subsequently re-integrated to obtain the required program. We have extended the basic notion of attribute grammars so that our approach has wider application. The extension is based upon a new notion of 'multi-input parsing'.<\/jats:p>","DOI":"10.1145\/68127.68138","type":"journal-article","created":{"date-parts":[[2005,11,14]],"date-time":"2005-11-14T18:08:27Z","timestamp":1131991707000},"page":"142-151","update-policy":"http:\/\/dx.doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Application programming as the construction of language interpreters"],"prefix":"10.1145","volume":"24","author":[{"given":"R. A.","family":"Frost","sequence":"first","affiliation":[{"name":"School of Computer Science, University of Windsor, Ontario N9B 3P4, Canada"}]}],"member":"320","published-online":{"date-parts":[[1989,8,11]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/359576.359579"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.21743"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/359997.359999"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/321992.321996"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/6041.6042"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/62058.62060"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/360933.360975"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/32.1.36"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/872726.806992"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/26.3.277"},{"key":"e_1_2_1_12_1","unstructured":"Henderson P. (1980) Functional Programming : Application and Implementation Prentice-Hall. Henderson P. (1980) Functional Programming : Application and Implementation Prentice-Hall."},{"key":"e_1_2_1_13_1","first-page":"155","article-title":"Attribute grammars as a functional programming paradigm","volume":"274","author":"Johnsson T.","year":"1987","journal-title":"Springer Lecture Notes"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01692511"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/50087.50091"},{"key":"e_1_2_1_16_1","unstructured":"Manna Z. and Waldinger R. (1977) Studies in Automatic Programming Logic. North Holland Amsterdam. Manna Z. and Waldinger R. (1977) Studies in Automatic Programming Logic . North Holland Amsterdam."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/27632.28054"},{"key":"e_1_2_1_18_1","doi-asserted-by":"crossref","unstructured":"Reps T. W. and Teitelbaum T. (1988) The Synthesizer Generator . Springer-Verlag. Reps T. W. and Teitelbaum T. (1988) The Synthesizer Generator . Springer-Verlag.","DOI":"10.1007\/978-1-4613-9623-9"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/5280.5281"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/954063.954071"}],"container-title":["ACM SIGPLAN Notices"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/68127.68138","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,1,3]],"date-time":"2023-01-03T09:21:58Z","timestamp":1672737718000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/68127.68138"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1989,8,11]]},"references-count":19,"journal-issue":{"issue":"9","published-print":{"date-parts":[[1989,8,11]]}},"alternative-id":["10.1145\/68127.68138"],"URL":"https:\/\/doi.org\/10.1145\/68127.68138","relation":{},"ISSN":["0362-1340","1558-1160"],"issn-type":[{"value":"0362-1340","type":"print"},{"value":"1558-1160","type":"electronic"}],"subject":[],"published":{"date-parts":[[1989,8,11]]},"assertion":[{"value":"1989-08-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}