2014
DOI: 10.1145/2775050.2633369
|View full text |Cite
|
Sign up to set email alerts
|

Indentation-sensitive parsing for Parsec

Abstract: Several popular languages including Haskell and Python use the indentation and layout of code as an essential part of their syntax. In the past, implementations of these languages used ad hoc techniques to implement layout. Recent work has shown that a simple extension to context-free grammars can replace these ad hoc techniques and provide both formal foundations and efficient parsing algorithms for indentation sensitivity. However, that pre… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
4
0

Year Published

2017
2017
2023
2023

Publication Types

Select...
3
1

Relationship

0
4

Authors

Journals

citations
Cited by 4 publications
(4 citation statements)
references
References 5 publications
0
4
0
Order By: Relevance
“…In order to rapidly build a prototype, we consciously decided to take advantage of a number of existing technologies. The current prototype takes advantage of the indentation sensitive parsing framework of Adams and Agacan [3], the "type-inference-in-context" technique of Gundry et al [17], and the existing implementation of Shonky [41].…”
Section: Methodsmentioning
confidence: 99%
See 1 more Smart Citation
“…In order to rapidly build a prototype, we consciously decided to take advantage of a number of existing technologies. The current prototype takes advantage of the indentation sensitive parsing framework of Adams and Agacan [3], the "type-inference-in-context" technique of Gundry et al [17], and the existing implementation of Shonky [41].…”
Section: Methodsmentioning
confidence: 99%
“…Much like Haskell, in order to aid readability, the concrete syntax of Frank is indentation sensitive (though we do not explicitly spell out the details in the paper). In order to implement indentation sensitivity, Adams and Agacan [3] introduce an extension to parsing frameworks based on parsing expression grammars. Such grammars provide a formal basis for the Parsec [31] and Trifecta [28] parser combinator Haskell libraries.…”
Section: Methodsmentioning
confidence: 99%
“…Some functional programming languages, like Haskell, use indentation as part of their syntax [30]. The dismantling method doesn't handle indentations, although this could be a future topic of research, namely, whether this method could be extended.…”
Section: Limitations and Open Questionsmentioning
confidence: 99%
“…There are many different options for the semantics of (ňŋ), in particular in this paper we refer to the deterministic-choice operation with backtracking. This operation is a criteria for being able to parse PEG grammars [Adams and Ağacan 2014;Ford 2004]. The operation has a caveat though: backtracking is only permitted when no input was consumed during a failed branch.…”
Section: Introductionmentioning
confidence: 99%