Abstract
In this chapter, we consider the notion of concrete syntax of software languages thereby complementing the earlier discussion of abstract syntax (Chapters 3and 4). Concrete syntax is tailored towards processing (reading, writing, editing) by humans who are language users, while abstract syntax is tailored towards processing by programs that are authored by language implementers. In this chapter, we focus on the concrete syntax of string languages as defined by context-free grammars (CFGs). In fact, we cover only textual concrete syntax; we do not cover visual concrete syntax. We introduce the algorithmic notion of acceptance for a membership test for a language.We also introduce the algorithmic notion of parsing for recovering the grammar-based structure of input. We defer the implementation aspects of concrete syntax, including actual parsing approaches, to the next chapter.
Access provided by CONRICYT-eBooks. Download to read the full chapter text
Chapter PDF
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this chapter
Cite this chapter
Lämmel, R. (2018). Foundations of Textual Concrete Syntax. In: Software Languages. Springer, Cham. https://doi.org/10.1007/978-3-319-90800-7_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-90800-7_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-90798-7
Online ISBN: 978-3-319-90800-7
eBook Packages: Computer ScienceComputer Science (R0)