Document Open Access Logo

Context in Parsing: Techniques and Applications

Author Eric Van Wyk



PDF
Thumbnail PDF

File

OASIcs.EVCS.2023.30.pdf
  • Filesize: 0.52 MB
  • 10 pages

Document Identifiers

Author Details

Eric Van Wyk
  • Department of Computer Science and Engineering, University of Minnesota, Minneapolis, MN, USA

Cite AsGet BibTex

Eric Van Wyk. Context in Parsing: Techniques and Applications. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 30:1-30:10, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)
https://doi.org/10.4230/OASIcs.EVCS.2023.30

Abstract

This paper discusses two approaches to parsing: Eelco Visser’s scannerless generalized LR parsing and our context-aware scanning paired with deterministic LR parsing. We compare the underlying techniques, specifically how parser context is used to disambiguate lexical syntax, and their use in the context of language evolution and composition applications. We also reflect on the many discussions shared with Eelco on these topics, and on our shared realization that our different assumptions about the contexts in which our approaches were used drove and justified the technical decisions made in each.

Subject Classification

ACM Subject Classification
  • Software and its engineering → Syntax
  • Software and its engineering → Parsers
  • Software and its engineering → Domain specific languages
Keywords
  • Parsing
  • Generalized LR Parsing
  • Context-aware Scanning

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. A.V. Aho, R. Sethi, and J.D. Ullman. Compilers - Principles, Techniques, and Tools. Addison-Wesley, Reading, MA, 1986. Google Scholar
  2. Martin Bravenboer, Éric Tanter, and Eelco Visser. Declarative, formal, and extensible syntax definition for aspectJ. In Proceedings of the Conference on Object-oriented Programming Systems, Languages, and Applications (OOPSLA), pages 209-228. ACM, 2006. URL: https://doi.org/10.1145/1167473.1167491.
  3. Martin Bravenboer and Eelco Visser. Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions. In Proceedings of the Conference on Object Oriented Programming, Systems, Languages, and Systems (OOPSLA), pages 365-383. ACM, 2004. URL: https://doi.org/10.1145/1028976.1029007.
  4. Luis Eduardo de Souza Amorim, Michael J. Steindorfer, and Eelco Visser. Deep priority conflicts in the wild: a pilot study. In Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering, SLE, pages 55-66. ACM, 2017. URL: https://doi.org/10.1145/3136014.3136020.
  5. Luis Eduardo de Souza Amorim, Michael J. Steindorfer, and Eelco Visser. Towards zero-overhead disambiguation of deep priority conflicts. Programming Journal, 2(3):13, 2018. URL: https://doi.org/10.22152/programming-journal.org/2018/2/13.
  6. C. Heitmeyer, A. Bull, C. Gasarch, and B. Labaw. SCR^*: A toolset for specifying and analyzing requirements. In Proceedings of the Tenth Annual Conference on Computer Assurance (COMPASS), 1995. Google Scholar
  7. Ted Kaminski. Reliably Composable Language Extensions. PhD thesis, University of Minnesota, Department of Computer Science and Engineering, Minneapolis, Minnesota, USA, 2017. URL: http://hdl.handle.net/11299/188954.
  8. Ted Kaminski, Lucas Kramer, Travis Carlson, and Eric Van Wyk. Reliable and automatic composition of language extensions to C: The ableC extensible language framework. Proceedings of the ACM on Programming Languages, 1(OOPSLA):98:1-98:29, October 2017. URL: https://doi.org/10.1145/3138224.
  9. Lennart C. L. Kats and Eelco Visser. The Spoofax language workbench. Rules for declarative specification of languages and IDEs. In Proceedings of the Conference on Object Oriented Programming, Systems, Languages, and Systems (OOPSLA), OOPSLA. ACM, 2010. URL: https://doi.org/10.1145/1869459.1869497.
  10. Lennart C.L. Kats, Eelco Visser, and Guido Wachsmuth. Pure and declarative syntax definition: Paradise lost and regained. In Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, Onward!'10, pages 918-932. ACM, 2010. URL: https://doi.org/10.1145/1869459.1869535.
  11. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An overview of AspectJ. In J. L. Knudsen, editor, ECOOP 2001 Object-Oriented Programming, volume 2072 of Lecture Notes in Computer Science, pages 327-353, 2001. URL: https://doi.org/10.1007/3-540-45337-7_18.
  12. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J. Loingtier, and J. Irwin. Aspect-oriented programming. In M. Aksit and S. Matsuoka, editors, ECOOP'97 Object-Oriented Programming, volume 1241 of Lecture Notes in Computer Science, pages 220-242, 1997. URL: https://doi.org/10.1007/BFb0053381.
  13. Paul Klint and Eelco Visser. Using filters for the disambiguation of context-free grammars. In Proceedings of the ASMICS Workshop on Parsing Theory, Milano, Italy, October 1994. Tech. Rep. 126-1994, Dipartimento di Scienze dell'Informazione, Università di Milano. Google Scholar
  14. D. E. Knuth. On the translation of languages from left to right. Information and Control, 8(6):607-639, 1965. URL: https://doi.org/10.1016/S0019-9958(65)90426-2.
  15. Pierre Néron, Andrew P. Tolmach, Eelco Visser, and Guido Wachsmuth. A theory of name resolution. In Programming Languages and Systems - 24th European Symposium on Programming, ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015. Proceedings, volume 9032 of Lecture Notes in Computer Science, pages 205-231. Springer, 2015. URL: https://doi.org/10.1007/978-3-662-46669-8_9.
  16. August Schwerdfeger. A declarative specification of a deterministic parser and scanner for AspectJ. Technical Report 09-007, University of Minnesota, March 2009. URL: https://hdl.handle.net/11299/215794.
  17. August Schwerdfeger. Context-Aware Scanning and Determinism-Preserving Grammar Composition, in Theory and Practice. PhD thesis, University of Minnesota, Department of Computer Science and Engineering, Minneapolis, Minnesota, USA, 2010. URL: http://purl.umn.edu/95605.
  18. August Schwerdfeger and Eric Van Wyk. Verifiable composition of deterministic grammars. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 199-210, New York, NY, USA, June 2009. ACM. URL: https://doi.org/10.1145/1542476.1542499.
  19. Jeffrey M. Thompson, Mats P.E. Heimdahl, and Steven P. Miller. Specification based prototyping for embedded systems. In Proceedings of the 7th ACM SIGSOFT Symposium on the Foundations on Software Engineering, volume 1687 of Lecture Notes in Computer Science, September 1999. URL: https://doi.org/10.1145/318774.318940.
  20. Hendrik van Antwerpen, Pierre Néron, Andrew P. Tolmach, Eelco Visser, and Guido Wachsmuth. A constraint language for static semantic analysis based on scope graphs. In Proceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM, pages 49-60. ACM, 2016. URL: https://doi.org/10.1145/2847538.2847543.
  21. Mark G. J. van den Brand, Jeroen Scheerder, Jurgen J. Vinju, and Eelco Visser. Disambiguation filters for scannerless generalized LR parsers. In Compiler Construction, 11th International Conference, CC 2002, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2002, volume 2304 of Lecture Notes in Computer Science, pages 143-158. Springer, 2002. URL: https://doi.org/10.1007/3-540-45937-5_12.
  22. Eric Van Wyk, Derek Bodin, Jimin Gao, and Lijesh Krishnan. Silver: an extensible attribute grammar system. Science of Computer Programming, 75(1-2):39-54, January 2010. URL: https://doi.org/10.1016/j.scico.2009.07.004.
  23. Eric Van Wyk, Lijesh Krishnan, August Schwerdfeger, and Derek Bodin. Attribute grammar-based language extensions for Java. In Proceedings of the European Conference on Object Oriented Programming (ECOOP), volume 4609 of Lecture Notes in Computer Science, pages 575-599. Springer, 2007. URL: https://doi.org/10.1007/978-3-540-73589-2_27.
  24. Eric Van Wyk and August Schwerdfeger. Context-aware scanning for parsing extensible languages. In Proceedings of the ACM SIGPLAN International Conference on Generative Programming and Component Engineering (GPCE), pages 63-72, New York, NY, USA, 2007. ACM. URL: https://doi.org/10.1145/1289971.1289983.
  25. Eelco Visser. Scannerless generalized-LR parsing. Technical Report P9707, Programming Research Group, University of Amsterdam, August 1997. URL: https://eelcovisser.org/publications/1997/Visser97-SGLR.pdf.
  26. Eelco Visser. Syntax Definition for Language Prototyping. PhD thesis, University of Amsterdam, September 1997. URL: https://eelcovisser.org/publications/1997/Visser97.pdf.
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail