Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering 2016
DOI: 10.1145/2997364.2997369
|View full text |Cite
|
Sign up to set email alerts
|

Parsing and reflective printing, bidirectionally

Abstract: Language designers usually need to implement parsers and printers. Despite being two intimately related programs, in practice they are often designed separately, and then need to be revised and kept consistent as the language evolves. It will be more convenient if the parser and printer can be unified and developed in one single program, with their consistency guaranteed automatically. Furthermore, in certain scenarios (like showing compiler optimisation results to the programmer), it is desirable to have a mo… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
7
0

Year Published

2017
2017
2023
2023

Publication Types

Select...
4
4
1

Relationship

5
4

Authors

Journals

citations
Cited by 10 publications
(7 citation statements)
references
References 21 publications
0
7
0
Order By: Relevance
“…• We proposed the notion of bi-filters, which enables BIYACC to disambiguate ambiguous grammars while still respecting the consistency properties. This is the main new contribution compared to the previous SLE'16 version [55].…”
Section: Resultsmentioning
confidence: 80%
“…• We proposed the notion of bi-filters, which enables BIYACC to disambiguate ambiguous grammars while still respecting the consistency properties. This is the main new contribution compared to the previous SLE'16 version [55].…”
Section: Resultsmentioning
confidence: 80%
“…Thus, we are optimizing HaGLR so that it uses a better parse-table representation, and we are also considering to use shared packed parse forests [24] and data structure free compilation [18], which both use sharing to reduce runtime and memory consumption. We are also integrating the disambiguation filters with BiYacc [25], a tool for generating both a parser and a reflective printer [27,26] for an unambiguous context-free grammar. The use of disambiguation filters can be helpful in extending this tool to also support ambiguous context-free grammars, therefore increasing its expressiveness and allowing for more test cases to be supported by this tool.…”
Section: Discussionmentioning
confidence: 99%
“…Thus we are refactoring HaGLR so that uses a better representation for parse-tables (which steer the parser at runtime), and we are also considering to use shared packed parse forests [13] which use sharing to reduce runtime and memory consumption. We are also integrating the disambiguation filters with BiYacc [15], a tool for generating both a parser and a reflective printer [16] for an unambiguous context-free grammar. The use of disambiguation filters can be helpful in extending this tool to also support ambiguous context-free grammars, therefore increasing its expressiveness and allowing for more test cases to be supported by this tool.…”
Section: Discussionmentioning
confidence: 99%