Printer - Maple Help

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

Printer

 Comment
 display comment line in printed output

 Calling Sequence Printer:-Comment(s)

Parameters

 Printer - Printer module s - string to be printed as comment

Description

 • The procedure Comment, when used as an argument to a Print call, indicates that s should be printed as a source-code comment in the generated output.
 • It is frequently useful to print source-code comments in the output generated by a custom CodeGeneration translator. This is especially true when there is no exact equivalent for a Maple expression in the target language, so details about the original object would be otherwise lost in the generated output.
 • Note that any comments present in the Maple input do not appear as comments in the generated output, as the Maple interpreter ignores them.  Thus, no comments appear in the generated output unless they are explicitly printed by a translator.
 • The format of a block of comment text is controlled by the language attribute "Comment".  The language attribute "Comment_FormatEachLine" specifies whether each line of a multi-line comments should be formatted as a separate comment.

Examples

The following defines an extension of C that prints a comment after every if statement.

 > $\mathrm{with}\left(\mathrm{CodeGeneration}\right):$
 > LanguageDefinition[Define]("CommentExample", extend = "C",    SetLanguageAttribute(       "If_Begin" = proc(x)            (Printer:-Indent(), "if (",x,")\n",             Printer:-Comment("This is a comment.\n"))       end proc    ) ):
 > p1 := proc(x) if x=0 then return(1) else return(2) end if; end proc:
 > $\mathrm{Translate}\left(\mathrm{p1},\mathrm{language}="CommentExample"\right)$
 int p1 (int x) {     if (x == 0)   // This is a comment.     return(1);   else     return(2); }