Summary
This chapter presented some of the issues involved in language design. The skills you acquired from this chapter include those surrounding lexical design, including creating literal constant notations for data types; syntax design, including operators and control structures; and program organization, including deciding how and where to start execution.
The reason you should spend some time on your design is that you will need a good idea of what your programming language will do in order to implement it. If you defer design decisions until you must implement them, mistakes will cost you more at that time. Designing your language includes what data types it supports, ways to declare variables and introduce values, control structures, and the syntax needed to support code at different levels of granularity, from individual instructions to whole programs. Once you have finished or think you have finished, it is time to code, beginning with a function for reading the source...