15 Some topics we didn’t cover
This chapter covers
- What textual DSLs are, and what parsing is
- Why we haven’t used the word “model”
- What the prefix “meta” means, and why we haven’t used it
- Using language-oriented tooling
Software language engineering (SLE) is the subfield of computer science and software engineering that does what it says on the tin, with DSLs as a subfield. This chapter touches on a number of topics from SLE that you’ll likely come across sooner or later when adopting a DSL-based approach. I’ll explain each of these topics with just enough detail that you’ll be able to recognize when it’s being discussed “in the field.” I’ll also explain why I chose not to treat the topic more in depth, and earlier in the book. Finally, I’ll provide some pointers for further reading, in case your curiosity is piqued.
15.1 Parsing, and textual DSLs
Virtually every programming language, the majority of software languages, and a lot of existing DSLs are purely textual: the notation of any of their DSL content consists of a string. Another way of saying the same thing is that their notation and serialization formats coincide.
A textual variant of our usual example DSL content—but without business rules—could look like the following listing.