Advertisement

Compiling High-Level Languages

  • Paul PopEmail author
  • Wajid Hassan Minhass
  • Jan Madsen
Chapter

Abstract

In this chapter, we will present a method for the application model synthesis problem, i.e., generate the application graph for a biochemical assay written in the Aqua high-level protocol language presented in Chap.  4. The method has two steps. In the first step, we build a parser that will generate a “parse tree” from Aqua, which is an internal compiler representation. This parse tree is then traversed in a second step in order to generate the application graph model. During application model generation, we address the so-called “mixing problem,” i.e., how to generate a mixing tree to perform an arbitrary mixing ratio, as specified in the high-level language, considering mixing operations with a ratio of one-to-one. The chapter presents the high-level language grammar, the algorithms for the two steps, and several examples of Aqua code and the resulting conversion to the application graph model.

Keywords

Aqua High-level language Application graph Model synthesis Parse tree Mixing algorithm 

References

  1. 1.
    ACCENT website. http://accent.compilertools.net/ (2015)
  2. 2.
    Amin, A.M.: Aqua+ Manual. Microfluidic Innovations, 1281 Win Hentschel Blvd., West Lafayette, IN 47906 (2015). http://microfluidicinnovations.com/
  3. 3.
    Antlr website. http://www.antlr.org/ (2015)
  4. 4.
    Earley, J.: An efficient context-free parsing algorithm. Commun. ACM 13(2), 94–102 (1970)CrossRefzbMATHGoogle Scholar
  5. 5.
    Parr, T.: The Definitive ANTLR 4 Reference, 2nd edn. Pragmatic Bookshelf (2013)Google Scholar
  6. 6.
    Parr, T., Harwell, S., Fisher, K.: Adaptive LL (*) parsing: the power of dynamic analysis. In: Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, pp. 579–598. ACM (2014)Google Scholar
  7. 7.
    Python Lex-Yacc website. http://www.dabeaz.com/ply/ (2015)
  8. 8.
    Thies, W., Urbanski, J., Thorsen, T., Amarasinghe, S.: Abstraction layers for scalable microfluidic biocomputers (extended version). Technical report, Massachusetts Institute of Technology (2006)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Technical University of DenmarkKongens LyngbyDenmark

Personalised recommendations