gov.llnl.babel.backend.writers
Class LanguageWriterForMakefiles

java.lang.Object
  extended bygov.llnl.babel.backend.writers.PrettyWriter
      extended bygov.llnl.babel.backend.writers.LanguageWriter
          extended bygov.llnl.babel.backend.writers.LanguageWriterForMakefiles
All Implemented Interfaces:
CodeConstants

public class LanguageWriterForMakefiles
extends LanguageWriter
implements CodeConstants

Class LanguageWriterForMakefiles extends the generic language writer to provide additional capabilities for writing out makefiles.


Field Summary
 
Fields inherited from interface gov.llnl.babel.backend.CodeConstants
C_AUTO_GEN_SPLICER, C_AUTO_GEN_WARNING, C_BACKSLASH, C_BEGIN_UNREFERENCED_METHODS, C_COMMENT_CLOSE, C_COMMENT_DOC_OPEN, C_COMMENT_F77, C_COMMENT_F90, C_COMMENT_HASH, C_COMMENT_OPEN, C_COMMENT_SLASH, C_COMMENT_SUBSEQUENT, C_DEFINE, C_DESC_CJNI_PREFIX, C_DESC_IMPL_PREFIX, C_DESC_IOR_PREFIX, C_DESC_SJNI_PREFIX, C_DESC_SKEL_PREFIX, C_DESC_STUB_PREFIX, C_END_UNREFERENCED_METHODS, C_F77_IMPL_EXTENSION, C_F77_IMPL_METHOD_SUFFIX, C_F77_METHOD_SUFFIX, C_F77_VERSION, C_F90_ALT_SUFFIX, C_F90_IMPL_EXTENSION, C_F90_IMPL_METHOD_SUFFIX, C_F90_METHOD_SUFFIX, C_F90_VERSION, C_FORTRAN_DESC_STUB_PREFIX, C_FORTRAN_IMPL_MODULE_PREFIX, C_FORTRAN_MODULE_PREFIX, C_FORTRAN_TYPE_MODULE_PREFIX, C_GUARD_CLOSE, C_GUARD_OPEN, C_HASH, C_IFDEFINE_CLOSE, C_IFDEFINE_CXX, C_IFDEFINE_OPEN, C_INCLUDE, C_INSERT_HERE, C_INT_BACKSLASH, C_IS_IMPL, C_IS_NOT_IMPL, C_SLASH, C_UNREFERENCED_COMMENT1, C_UNREFERENCED_COMMENT2, C_UNREFERENCED_COMMENT3
 
Constructor Summary
LanguageWriterForMakefiles(java.io.PrintWriter writer)
          Create a LanguageWriterForMakefiles instance that will send output to the specified print writer object.
 
Method Summary
 void beginBlockComment(boolean is_doc)
          Begin a block comment.
 void endBlockComment(boolean is_doc)
          End a block comment.
 void writeCommentLine(java.lang.String comment)
          Output a single-line comment to the pretty writer stream.
 
Methods inherited from class gov.llnl.babel.backend.writers.LanguageWriter
safeCommentString, writeBanner, writeComment, writeComment, writeComment, writeComment, writeComment, writeComment, writeComment
 
Methods inherited from class gov.llnl.babel.backend.writers.PrettyWriter
backTab, changeTabLevel, close, defineBlockComment, disableBlockComment, disableLineBreak, enableBlockComment, enableLineBreak, enableLineBreak, getPrintWriter, print, printAligned, println, println, printlnUnformatted, printSpaces, printUnformatted, restoreFirstTabStop, setFirstTabStop, setLineBreakString, setStrictBreaking, setTabSpacing, setTemporaryFirstTabStop, tab
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LanguageWriterForMakefiles

public LanguageWriterForMakefiles(java.io.PrintWriter writer)
Create a LanguageWriterForMakefiles instance that will send output to the specified print writer object. Set up the output properties of the language writer for makfiles, which sets the first tab stop at zero, a tab spacing of three, and line breaking at column 78 with the makefile continuation character.

Method Detail

beginBlockComment

public void beginBlockComment(boolean is_doc)
Begin a block comment. The beginning of comment string is output to the pretty writer stream and block comment mode is set. This comment block must be terminated by a call to the end comment block method. There is no difference between documentation comments and regular comments in makefiles.

Specified by:
beginBlockComment in class LanguageWriter

endBlockComment

public void endBlockComment(boolean is_doc)
End a block comment. This method outputs the end of comment string and sets pretty writer back to normal output mode. In makefiles, there is no difference between documentation and regular comments.

Specified by:
endBlockComment in class LanguageWriter

writeCommentLine

public void writeCommentLine(java.lang.String comment)
Output a single-line comment to the pretty writer stream. The comment should not contain any new line characters. If the comment is null, then nothing is output.

Specified by:
writeCommentLine in class LanguageWriter
Parameters:
comment - a single line comment to include in the output
See Also:
LanguageWriter.safeCommentString(java.lang.String)