skip to main content
10.1145/2812428.2812476acmotherconferencesArticle/Chapter ViewAbstractPublication PagescompsystechConference Proceedingsconference-collections
research-article

Towards an extensible, modular compiler construction with scalable abstractions and types

Published: 25 June 2015 Publication History

Abstract

The need for easily extendable programming language tools has all but disappeared with the proliferation of language and paradigms and new compilation tools. A particular area of new language research is the domain of parallel programming which often requires new language abstractions on various levels.
We introduce a framework for building extendable compilers with composable abstractions utilizing features of object-oriented design, functional programming and dependent types. We demonstrate our approach with examples from parsing and intermediate representation formats extracted from the compiler for a parallel Replica language and make a brief evaluation of the approach from point of view of developer productivity.

References

[1]
Åkesson, D. An LLVM Back-end for REPLICA: Code Generation for a Multi-core VLIW Processor with Chaining. PhD thesis, Linköping, 2012.
[2]
Amin, N., Rompf, T, and Odersky, M. Foundations of Path-Dependent Types. In Proceedings of the 2014 ACM Int. Conf. on Object Oriented Programming Systems Languages & Applications (OOPSLA) (2014), OOPSLA '14, ACM, pp. 233--249.
[3]
Bonér, J. Real-World Scala: Dependency Injection (Dl), 2008.
[4]
Ford, B. Parsing Expression Grammars: A Recognition-based Syntactic Foundation. In ACM SIGPLAN Notices (2004), vol. 39, ACM, pp. 111--122.
[5]
Hopcroft, J. E. Introduction to Automata Theory, Languages, and Computation. Pearson Education India, 1979.
[6]
Mäkelä, J.-M., Hansson, E., Forsell, M., Kessler, C, and Leppänen, V. Design Principles of the Programming Language Replica for Hybrid PRAM-NUMA Many-Core Architectures. In Proc. MCC2011 (2011), Linköping University, p. 136.
[7]
Ng, K., Warren, M., Golde, P., and Hejlsberg, A. The Roslyn Project, Exposing the C# and VB compiler's code analysis. White paper, Microsoft (Oct. 2011).
[8]
Nystrom, N., Qi, X., and Myers, A. J&: Nested Intersection for Scalable Software Composition. In ACM SIGPLAN Notices (2006), vol. 41, ACM, pp. 21--36.
[9]
Odersky, M., and Zenger, M. Scalable Component Abstractions. In Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications (2005), OOPSLA '05, ACM, pp. 41--57.
[10]
Parr, T, and Fisher, K. LL(*): The Foundation of the ANTLR Parser Generator. In Proceedings of the 32nd ACM SIGPLAN Conf. on Programming Language Design and Implementation (New York, NY, USA, 2011), PLDI '11, ACM, pp. 425--436.
[11]
Pierce, B. The Weird World of Bi-directional Programming. In Programming Languages and Systems, P. Sestoft, Ed., vol. 3924 of Lecture Notes in Computer Science. Springer Berlin Heidelberg, 2006, pp. 342--342.
[12]
Reynolds, J. Design of the Programming Language Forsythe. In Algol-like Languages, P. O'Hearn and R. Tennent, Eds., Progress in Theoretical Computer Science. Birkhäuser Boston, 1997, pp. 173--233.
[13]
Univalent Foundations Program, T. Homotopy Type Theory: Univalent Foundations of Mathematics. Institute for Advanced Study, 2013.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
CompSysTech '15: Proceedings of the 16th International Conference on Computer Systems and Technologies
June 2015
411 pages
ISBN:9781450333573
DOI:10.1145/2812428
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

  • UORB: University of Ruse, Bulgaria
  • Querbie: Querbie
  • TECHUVB: Technical University of Varna, Bulgaria

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 June 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. compilers
  2. object-oriented design
  3. parsers

Qualifiers

  • Research-article

Conference

CompSysTech '15
Sponsor:
  • UORB
  • Querbie
  • TECHUVB

Acceptance Rates

Overall Acceptance Rate 241 of 492 submissions, 49%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 54
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media