Skip to main content Accessibility help
×
Home
Hostname: page-component-59b7f5684b-qn7h5 Total loading time: 0.39 Render date: 2022-09-29T22:35:53.358Z Has data issue: true Feature Flags: { "shouldUseShareProductTool": true, "shouldUseHypothesis": true, "isUnsiloEnabled": true, "useRatesEcommerce": false, "displayNetworkTab": true, "displayNetworkMapGraph": false, "useSa": true } hasContentIssue true

Higher-order functions for parsing*

Published online by Cambridge University Press:  07 November 2008

Graham Hutton
Affiliation:
Department of Computing Science, University of Glasgow (graham@cs.chalmers. se)
Rights & Permissions[Opens in a new window]

Abstract

HTML view is not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

In combinator parsing, 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 ‘offside rule’ is given. Other extensions to the basic method include an ‘into’ combining form with many useful applications, and a simple means by which combinator parsers can produce more informative error messages.

Type
Articles
Copyright
Copyright © Cambridge University Press 1992

References

Aho, A., Sethi, R. and Ullman, J. 1986. Compilers – Principles, Techniques and Tools. Addison-Wesley.Google Scholar
Fairbairn, J. 1986. Making Form Follow Function. Glasgow University.Google Scholar
Frost, R. and Launchbury, J. 1988. Constructing Natural Language Interpreters in Lazy Functional Languages. Glasgow University.Google Scholar
Hudak, P. and Wadler, P. (eds). 1990. Report on the Programming Language Haskell. Glasgow University-Yale University.Google Scholar
Hutton, G. 1989. Parsing using combinators. In Proc. Glasgow Workshop on Functional Programming. August 1989, Springer Workshops in Computing, Springer-Verlag.Google Scholar
Johnsson, T. 1987. Attribute grammars as a functional programming paradigm. In Proc. FPCA 87, Vol. 274 of Lecture Notes in Computer Science. Springer-Verlag.Google Scholar
Landin, P. 1966. The Next 700 Programming Languages. Comm. ACM, 9 (Mar.).CrossRefGoogle Scholar
Wadler, P. 1985. How to Replace Failure by a List of Successes. In Proc. FPCA 85, Vol. 201 of Lecture Notes in Computer Science. Springer-Verlag.Google Scholar
Wadler, P. 1990. Comprehending Mondads. In Proc. FPCA 90.Google Scholar
Submit a response

Discussions

No Discussions have been published for this article.
You have Access
88
Cited by

Save article to Kindle

To save this article to your Kindle, first ensure coreplatform@cambridge.org is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about saving to your Kindle.

Note you can select to save to either the @free.kindle.com or @kindle.com variations. ‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi. ‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

Find out more about the Kindle Personal Document Service.

Higher-order functions for parsing*
Available formats
×

Save article to Dropbox

To save this article to your Dropbox account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you used this feature, you will be asked to authorise Cambridge Core to connect with your Dropbox account. Find out more about saving content to Dropbox.

Higher-order functions for parsing*
Available formats
×

Save article to Google Drive

To save this article to your Google Drive account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you used this feature, you will be asked to authorise Cambridge Core to connect with your Google Drive account. Find out more about saving content to Google Drive.

Higher-order functions for parsing*
Available formats
×
×

Reply to: Submit a response

Please enter your response.

Your details

Please enter a valid email address.

Conflicting interests

Do you have any conflicting interests? *