Printer Modules
|
Description
|
|
•
|
A Printer module encodes the instructions necessary to print intermediate code to a specific programming language.
|
•
|
As used above, the term printing refers to the process of translating intermediate code into a string which encodes the equivalent commands in some specific programming language.
|
•
|
Every translator has an associated Printer module. In particular, each language definition module must have an export named Printer, which corresponds to a Printer module.
|
|
|
Creating a Printer module
|
|
•
|
To create a new, generic Printer module, you can call CodeGeneration[LanguageDefinition][DefaultPrinter]().
|
•
|
It is frequently desirable, however, to use the Printer module from some existing language definition. This is particularly useful when ``extending'' an existing translator, or when the many but not all of the details of translation for the new language are identical to those of an existing one. To make a copy of the Printer module for language name langname, you can call CodeGeneration[LanguageDefinition][Get](langname):-Printer.
|
|
|
Customizing a Printer module
|
|
•
|
Once obtained, a Printer module can be transformed and customized by calling its package functions. The following table lists the package functions of a Printer module.
|
•
|
For examples of creating and customizing a Printer module, see DefaultPrinter, or Get.
|
|
|
Download Help Document
Copyright © MathResources Inc. All Rights Reserved.
www.mathresources.com
Was this information helpful?