Skip to main content

From Concrete Syntax to Abstract Syntax

  • Chapter
  • First Online:
Programming Language Concepts

Part of the book series: Undergraduate Topics in Computer Science ((UTICS))

  • 3684 Accesses

Abstract

Until now, we have written programs in abstract syntax, which is convenient when handling programs as data.

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 54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight 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. Aho, A.V., Hopcroft, J.E., Ullman, J.D.: The Design and Analysis of Computer Algorithms. Addison-Wesley (1974)

    Google Scholar 

  2. Aho, A., Lam, M., Sethi, R., Ullman, J.: Compilers: Principles, Techniques and Tools, second edn edn. Addison-Wesley (2006)

    Google Scholar 

  3. Burge, W.: Recursive Programming Techniques. Addison-Wesley (1975)

    Google Scholar 

  4. Ford, B.: Packrat parsing: Simple, powerful, lazy, linear time. In: International Conference on Functional Programming, Pittsburgh, Pennsylvania, pp. 36–47. ACM Press (2002)

    Google Scholar 

  5. Ford, B.: Parsing expression grammars: A recognition-based syntactic foundation. In: Principles of Programming Languages, Venice, Italy, pp. 111–122. ACM Press (2004)

    Google Scholar 

  6. Hopcroft, J.E., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation. Addison-Wesley (1979)

    Google Scholar 

  7. Hutton, G.: Higher-order functions for parsing. J. Funct. Program. 2, 323–343 (1992). At http://www.cs.nott.ac.uk/~gmh/parsing.pdf

  8. Java compiler compiler (JavaCC). At https://javacc.org/

  9. Johnson, S.C.: Yacc — yet another compiler-compiler. Computing Science Technical Report 32, Bell Laboratories (1975)

    Google Scholar 

  10. Knuth, D.E.: On the translation of languages from left to right. Inf. Control 8, 607–639 (1965)

    Article  MathSciNet  MATH  Google Scholar 

  11. Lesk, M.E.: Lex — a lexical analyzer generator. Computing Science Technical Report 39, Bell Laboratories (1975)

    Google Scholar 

  12. Mogensen, T.: Introduction to Compiler Design. Springer (2011)

    Google Scholar 

  13. Paulson, L.: ML for the Working Programmer, second edn. Cambridge University Press (1996)

    Google Scholar 

  14. Rabin, M.O., Scott, D.: Finite automata and their decision problems. IBM J. Res. Dev. 3, 114–125 (1959)

    Article  MathSciNet  MATH  Google Scholar 

  15. Scott, E., Johnstone, A.: GLL parsing. Electron. Notes Theor. Comput. Sci. 253, 177–189 (2010)

    Article  Google Scholar 

  16. Sestoft, P.: Grammars and parsing with Java. Tech. rep., KVL (1999). At http://www.itu.dk/people/sestoft/programmering/parsernotes.pdf

  17. Syme, D., Granicz, A., Cisternino, A.: Expert F#. Apress (2007)

    Google Scholar 

  18. Tolksdorf, S.: Fparsec. a parser combinator library for F#. Homepage. At http://www.quanttec.com/fparsec/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Peter Sestoft .

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this chapter

Cite this chapter

Sestoft, P. (2017). From Concrete Syntax to Abstract Syntax. In: Programming Language Concepts. Undergraduate Topics in Computer Science. Springer, Cham. https://doi.org/10.1007/978-3-319-60789-4_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-60789-4_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-60788-7

  • Online ISBN: 978-3-319-60789-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics