Skip to main content

Compiling High-Level Languages

  • Chapter
  • First Online:
Microfluidic Very Large Scale Integration (VLSI)

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.

Chapter co-author: Mathias Kaas-Olsen

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. ACCENT website. http://accent.compilertools.net/ (2015)

  2. Amin, A.M.: Aqua+ Manual. Microfluidic Innovations, 1281 Win Hentschel Blvd., West Lafayette, IN 47906 (2015). http://microfluidicinnovations.com/

  3. Antlr website. http://www.antlr.org/ (2015)

  4. Earley, J.: An efficient context-free parsing algorithm. Commun. ACM 13(2), 94–102 (1970)

    Article  MATH  Google Scholar 

  5. Parr, T.: The Definitive ANTLR 4 Reference, 2nd edn. Pragmatic Bookshelf (2013)

    Google Scholar 

  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. Python Lex-Yacc website. http://www.dabeaz.com/ply/ (2015)

  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 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Paul Pop .

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Pop, P., Minhass, W.H., Madsen, J. (2016). Compiling High-Level Languages. In: Microfluidic Very Large Scale Integration (VLSI). Springer, Cham. https://doi.org/10.1007/978-3-319-29599-2_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-29599-2_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-29597-8

  • Online ISBN: 978-3-319-29599-2

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics