Printer - Maple Programming Help

Home : Support : Online Help : Programming : Code Generation Package : Language Definition : Printer : CodeGeneration/LanguageDefinition/Printer/Print

Printer

 Print
 Print expression
 PrintBinary
 Print a binary operation
 PrintDelimitedList
 Print list elements delimited by specified expression
 PrintParentheses
 Print expression contained in parentheses if needed
 PrintStatementBlock
 Print a block of statements
 PrintUnary
 Print a unary operation

 Calling Sequence Printer:-Print(expr) Printer:-PrintBinary(opname, expr1, expr2) Printer:-PrintDelimitedList(l, delimiter) Printer:-PrintParentheses(expr, icname) Printer:-PrintStatementBlock(expr) Printer:-PrintUnary(opname, expr)

Parameters

 Printer - Printer module expr, expr1, expr2 - Intermediate Code expressions delimiter - string or Intermediate Code expression opname - operator name where opname is one of Addition, Exponentiation, Division, Multiplication, and Subtraction icname - member of CodeGeneration:-Names subpackage

Description

 • The process of translating the intermediate form into a string equivalent compatible with a specific programming language is known as printing.
 • The Print command is the basic tool for printing intermediate code. Given an intermediate code expression expr, Print calls the Print handler for $\mathrm{op}\left(0,\mathrm{expr}\right)$ and passes the operands of expr as arguments.  In this way it traverses the intermediate code tree.
 • The PrintUnary, PrintBinary commands print prefix unary and infix binary operations, respectively.  The name opname must have been previously defined with AddOperator, and must be one of the operators listed in AddOperator.
 • The PrintDelimitedList command prints the elements of the list l delimited with the expression delimiter.  It is equivalent to Print(op(ListTools:-Join(l, delimiter))).
 • The $\mathrm{PrintParentheses}$ command prints expr, contained within parentheses if and only if the precedence of icname is greater than that the precedence of op(0, expr).  It is useful for correct printing of infix binary operators.
 • The $\mathrm{PrintStatementBlock}$ command prints expr with indentation, and contained within a program block in the language.