First page Back Continue Last page Summary Graphic
Example 1: Compiler I/O
The conventional design:
- scanner: getToken(... getChar() ...)
- parser: parse(... getToken() ...)
The conventional motivation:
- minimise memory requirements
The new truth:
- memory capacity grows fast
- the size of a program component doesn't
The conventional design is bad because:
- it mixes issues which should be separate
- it doesn't allow for IDEs or backtracking