Another primary concern is the output object code. A production compiler should obviously produce directly relocatable loader code. On the other hand, for many systems programming functions, and while the compiler is being tested and refined, assembly language output may be more suitable. The operating system interface modules should do whatever is necessary to open, create, and setup the following functional files. The listing and error files are often mapped onto the same file.
All input is one character at a time.
Output for the listing and error files is also 1 character, or a sequence of characters, at a time. This is the key to a successful Pascal compiler. The symbol table is used to collect and organize all information in the program. The key to a symbol table for a Pascal compiler is the type information. In addition to a few intrinsic types, users are allowed to define types.