Standard

Declarative specification of indentation rules : A tooling perspective on parsing and pretty-printing layout-sensitive languages. / de Souza Amorim, Luís Eduardo; Erdweg, Sebastian; Steindorfer, Michael J.; Visser, Eelco.

SLE 2018 - Proceedings of the 11th ACM SIGPLAN International Conference on Soft ware Language Engineering. ed. / D. Pearce ; S. Friedrich; T. Mayerhofer. New York, NY : Association for Computing Machinery (ACM), 2018. p. 3-15.

Research output: Chapter in Book/Report/Conference proceedingConference contributionScientificpeer-review

Harvard

de Souza Amorim, LE, Erdweg, S, Steindorfer, MJ & Visser, E 2018, Declarative specification of indentation rules: A tooling perspective on parsing and pretty-printing layout-sensitive languages. in D Pearce , S Friedrich & T Mayerhofer (eds), SLE 2018 - Proceedings of the 11th ACM SIGPLAN International Conference on Soft ware Language Engineering. Association for Computing Machinery (ACM), New York, NY, pp. 3-15, SLE 2018, Boston, United States, 5/11/18. https://doi.org/10.1145/3276604.3276607

APA

de Souza Amorim, L. E., Erdweg, S., Steindorfer, M. J., & Visser, E. (2018). Declarative specification of indentation rules: A tooling perspective on parsing and pretty-printing layout-sensitive languages. In D. Pearce , S. Friedrich, & T. Mayerhofer (Eds.), SLE 2018 - Proceedings of the 11th ACM SIGPLAN International Conference on Soft ware Language Engineering (pp. 3-15). New York, NY: Association for Computing Machinery (ACM). https://doi.org/10.1145/3276604.3276607

Vancouver

de Souza Amorim LE, Erdweg S, Steindorfer MJ, Visser E. Declarative specification of indentation rules: A tooling perspective on parsing and pretty-printing layout-sensitive languages. In Pearce D, Friedrich S, Mayerhofer T, editors, SLE 2018 - Proceedings of the 11th ACM SIGPLAN International Conference on Soft ware Language Engineering. New York, NY: Association for Computing Machinery (ACM). 2018. p. 3-15 https://doi.org/10.1145/3276604.3276607

Author

de Souza Amorim, Luís Eduardo ; Erdweg, Sebastian ; Steindorfer, Michael J. ; Visser, Eelco. / Declarative specification of indentation rules : A tooling perspective on parsing and pretty-printing layout-sensitive languages. SLE 2018 - Proceedings of the 11th ACM SIGPLAN International Conference on Soft ware Language Engineering. editor / D. Pearce ; S. Friedrich ; T. Mayerhofer. New York, NY : Association for Computing Machinery (ACM), 2018. pp. 3-15

BibTeX

@inproceedings{c67aa82ace0d42fcba28fb9e0f1e02b6,
title = "Declarative specification of indentation rules: A tooling perspective on parsing and pretty-printing layout-sensitive languages",
abstract = "In layout-sensitive languages, the indentation of an expression or statement can influence how a program is parsed. While some of these languages (e.g., Haskell and Python) have been widely adopted, there is little support for software language engineers in building tools for layout-sensitive languages. As a result, parsers, pretty-printers, program anal-yses, and refactoring tools often need to be handwritten, which decreases the maintainability and extensibility of these tools. Even state-of-the-art language workbenches have little support for layout-sensitive languages, restricting the development and prototyping of such languages. In this paper, we introduce a novel approach to declarative specification of layout-sensitive languages using layout declarations. Layout declarations are high-level specifications of indentation rules that abstract from low-level technicalities. We show how to derive an efficient layout-sensitive generalized parser and a corresponding pretty-printer automatically from a language specification with layout declarations. We validate our approach in a case-study using a syntax definition for the Haskell programming language, investigating the performance of the generated parser and the correctness of the generated pretty-printer against 22191 Haskell files.",
author = "{de Souza Amorim}, {Lu{\'i}s Eduardo} and Sebastian Erdweg and Steindorfer, {Michael J.} and Eelco Visser",
year = "2018",
doi = "10.1145/3276604.3276607",
language = "English",
pages = "3--15",
editor = "{Pearce }, D. and Friedrich, { S.} and Mayerhofer, { T.}",
booktitle = "SLE 2018 - Proceedings of the 11th ACM SIGPLAN International Conference on Soft ware Language Engineering",
publisher = "Association for Computing Machinery (ACM)",
address = "United States",

}

RIS

TY - GEN

T1 - Declarative specification of indentation rules

T2 - A tooling perspective on parsing and pretty-printing layout-sensitive languages

AU - de Souza Amorim, Luís Eduardo

AU - Erdweg, Sebastian

AU - Steindorfer, Michael J.

AU - Visser, Eelco

PY - 2018

Y1 - 2018

N2 - In layout-sensitive languages, the indentation of an expression or statement can influence how a program is parsed. While some of these languages (e.g., Haskell and Python) have been widely adopted, there is little support for software language engineers in building tools for layout-sensitive languages. As a result, parsers, pretty-printers, program anal-yses, and refactoring tools often need to be handwritten, which decreases the maintainability and extensibility of these tools. Even state-of-the-art language workbenches have little support for layout-sensitive languages, restricting the development and prototyping of such languages. In this paper, we introduce a novel approach to declarative specification of layout-sensitive languages using layout declarations. Layout declarations are high-level specifications of indentation rules that abstract from low-level technicalities. We show how to derive an efficient layout-sensitive generalized parser and a corresponding pretty-printer automatically from a language specification with layout declarations. We validate our approach in a case-study using a syntax definition for the Haskell programming language, investigating the performance of the generated parser and the correctness of the generated pretty-printer against 22191 Haskell files.

AB - In layout-sensitive languages, the indentation of an expression or statement can influence how a program is parsed. While some of these languages (e.g., Haskell and Python) have been widely adopted, there is little support for software language engineers in building tools for layout-sensitive languages. As a result, parsers, pretty-printers, program anal-yses, and refactoring tools often need to be handwritten, which decreases the maintainability and extensibility of these tools. Even state-of-the-art language workbenches have little support for layout-sensitive languages, restricting the development and prototyping of such languages. In this paper, we introduce a novel approach to declarative specification of layout-sensitive languages using layout declarations. Layout declarations are high-level specifications of indentation rules that abstract from low-level technicalities. We show how to derive an efficient layout-sensitive generalized parser and a corresponding pretty-printer automatically from a language specification with layout declarations. We validate our approach in a case-study using a syntax definition for the Haskell programming language, investigating the performance of the generated parser and the correctness of the generated pretty-printer against 22191 Haskell files.

UR - http://www.scopus.com/inward/record.url?scp=85058241773&partnerID=8YFLogxK

U2 - 10.1145/3276604.3276607

DO - 10.1145/3276604.3276607

M3 - Conference contribution

SP - 3

EP - 15

BT - SLE 2018 - Proceedings of the 11th ACM SIGPLAN International Conference on Soft ware Language Engineering

A2 - Pearce , D.

A2 - Friedrich, S.

A2 - Mayerhofer, T.

PB - Association for Computing Machinery (ACM)

CY - New York, NY

ER -

ID: 47929947