{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,16]],"date-time":"2026-02-16T03:11:13Z","timestamp":1771211473744,"version":"3.50.1"},"reference-count":9,"publisher":"Cambridge University Press (CUP)","issue":"3","license":[{"start":{"date-parts":[[2008,11,7]],"date-time":"2008-11-07T00:00:00Z","timestamp":1226016000000},"content-version":"unspecified","delay-in-days":5973,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Funct. Prog."],"published-print":{"date-parts":[[1992,7]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>In <jats:italic>combinator parsing<\/jats:italic>, the text of parsers resembles BNF notation. We present the basic method, and a number of extensions. We address the special problems presented by white-space, and parsers with separate lexical and syntactic phases. In particular, a combining form for handling the \u2018offside rule\u2019 is given. Other extensions to the basic method include an \u2018into\u2019 combining form with many useful applications, and a simple means by which combinator parsers can produce more informative error messages.<\/jats:p>","DOI":"10.1017\/s0956796800000411","type":"journal-article","created":{"date-parts":[[2008,11,7]],"date-time":"2008-11-07T11:14:19Z","timestamp":1226056459000},"page":"323-343","source":"Crossref","is-referenced-by-count":105,"title":["Higher-order functions for parsing"],"prefix":"10.1017","volume":"2","author":[{"given":"Graham","family":"Hutton","sequence":"first","affiliation":[]}],"member":"56","published-online":{"date-parts":[[2008,11,7]]},"reference":[{"key":"S0956796800000411_ref001","volume-title":"Compilers \u2013 Principles, Techniques and Tools","author":"Aho","year":"1986"},{"key":"S0956796800000411_ref005","volume-title":"Proc. Glasgow Workshop on Functional Programming","author":"Hutton","year":"1989"},{"key":"S0956796800000411_ref008","volume-title":"Proc. FPCA 85, Vol. 201 of Lecture Notes in Computer Science","author":"Wadler","year":"1985"},{"key":"S0956796800000411_ref009","volume-title":"Proc. FPCA 90","author":"Wadler","year":"1990"},{"key":"S0956796800000411_ref007","doi-asserted-by":"publisher","DOI":"10.1145\/365230.365257"},{"key":"S0956796800000411_ref003","volume-title":"Constructing Natural Language Interpreters in Lazy Functional Languages","author":"Frost","year":"1988"},{"key":"S0956796800000411_ref006","volume-title":"Lecture Notes in Computer Science","volume":"274","author":"Johnsson","year":"1987"},{"key":"S0956796800000411_ref002","volume-title":"Making Form Follow Function","author":"Fairbairn","year":"1986"},{"key":"S0956796800000411_ref004","volume-title":"Report on the Programming Language Haskell","author":"Hudak","year":"1990"}],"container-title":["Journal of Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0956796800000411","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,16]],"date-time":"2019-05-16T17:21:25Z","timestamp":1558027285000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0956796800000411\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1992,7]]},"references-count":9,"journal-issue":{"issue":"3","published-print":{"date-parts":[[1992,7]]}},"alternative-id":["S0956796800000411"],"URL":"https:\/\/doi.org\/10.1017\/s0956796800000411","relation":{},"ISSN":["0956-7968","1469-7653"],"issn-type":[{"value":"0956-7968","type":"print"},{"value":"1469-7653","type":"electronic"}],"subject":[],"published":{"date-parts":[[1992,7]]}}}