Abstract
Until now, we have written programs in abstract syntax, which is convenient when handling programs as data. However, programs are usually written in concrete syntax, as sequences of characters in a text file. So how do we get from concrete syntax to abstract syntax?
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Java compiler compiler (JavaCC). At http://javacc.java.net/
Aho, A., Lam, M., Sethi, R., Ullman, J.: Compilers: Principles, Techniques and Tools, 2nd edn. Addison-Wesley, Reading (2006)
Aho, A.V., Hopcroft, J.E., Ullman, J.D.: The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading (1974)
Burge, W.: Recursive Programming Techniques. Addison-Wesley, Reading (1975)
Ford, B.: Packrat parsing: simple, powerful, lazy, linear time. In: International Conference on Functional Programming, Pittsburgh, PA, pp. 36–47. ACM, New York (2002)
Ford, B.: Parsing expression grammars: a recognition-based syntactic foundation. In: Principles of Programming Languages, Venice, Italy, pp. 111–122. ACM, New York (2004)
Hopcroft, J.E., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading (1979)
Hutton, G.: Higher-order functions for parsing. J. Funct. Program. 2, 323–343 (1992). At http://www.cs.nott.ac.uk/~gmh/parsing.pdf
Johnson, S.C.: Yacc—yet another compiler-compiler. Computing Science Technical Report 32, Bell Laboratories (1975)
Knuth, D.E.: On the translation of languages from left to right. Inf. Control 8, 607–639 (1965)
Lesk, M.E.: Lex—a lexical analyzer generator. Computing Science Technical Report 39, Bell Laboratories (1975)
Mogensen, T.: Introduction to Compiler Design. Springer, Berlin (2011)
Paulson, L.: ML for the Working Programmer, 2nd edn. Cambridge University Press, Cambridge (1996)
Rabin, M.O., Scott, D.: Finite automata and their decision problems. IBM J. Res. Dev. 3, 114–125 (1959)
Scott, E., Johnstone, A.: GLL parsing. Electron. Notes Theor. Comput. Sci. 253, 177–189 (2010)
Sestoft, P.: Grammars and parsing with Java. Tech. rep., KVL (1999). At http://www.itu.dk/people/sestoft/programmering/parsernotes.pdf
Syme, D., Granicz, A., Cisternino, A.: Expert F#. Apress (2007)
Tolksdorf, S.: Fparsec. a parser combinator library for F#. Homepage. At http://www.quanttec.com/fparsec/
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag London
About this chapter
Cite this chapter
Sestoft, P. (2012). From Concrete Syntax to Abstract Syntax. In: Programming Language Concepts. Undergraduate Topics in Computer Science, vol 50. Springer, London. https://doi.org/10.1007/978-1-4471-4156-3_3
Download citation
DOI: https://doi.org/10.1007/978-1-4471-4156-3_3
Publisher Name: Springer, London
Print ISBN: 978-1-4471-4155-6
Online ISBN: 978-1-4471-4156-3
eBook Packages: Computer ScienceComputer Science (R0)