SWT LPEX
v3.0.5

com.ibm.lpex.fortran
Class FortranFFLexer

java.lang.Object
  extended bycom.ibm.lpex.cc.LpexFortranFFParserTokenManager
      extended bycom.ibm.lpex.fortran.FortranFFLexer
All Implemented Interfaces:
IFortranLexer, com.ibm.lpex.cc.LpexFortranFFParserConstants

public final class FortranFFLexer
extends com.ibm.lpex.cc.LpexFortranFFParserTokenManager
implements IFortranLexer

Fortran free source form lexer.


Field Summary
 
Fields inherited from class com.ibm.lpex.cc.LpexFortranFFParserTokenManager
curChar, jjnewLexState, jjstrLiteralImages, lexStateNames
 
Fields inherited from interface com.ibm.lpex.cc.LpexFortranFFParserConstants
_DEFAULT, _INTEGER, _LOGICAL, _NAME, _NUMBER, ACCESS, ACTION, ADVANCE, ALLOCATABLE, ALLOCATE, AMPERSAND, AMPERSAND_CONT, AND, ANY_CHAR, APPEND, ASIS, ASSIGN, ASSIGNMENT, AUTOMATIC, BACKSPACE, BINARY_CONSTANT, BLANK, BLOCKDATA, BYTE, CALL, CASE, CHARACTER, CLOSE, COMMON, COMPLEX, CONTAINS, CONTINUE, CYCLE, DATA, DEALLOCATE, DEFAULT, DELIM, DIGIT, DIMENSION, DIRECT, DO, DOUBLE, DOUBLECOMPLEX, DOUBLEPRECISION, DOWHILE, EJECT, ELEMENTAL, ELSE, ELSEIF, ELSEWHERE, END, ENDBLOCKDATA, ENDDO, ENDFILE, ENDFORALL, ENDFUNCTION, ENDIF, ENDINTERFACE, ENDMODULE, ENDPROGRAM, ENDSELECT, ENDSUBROUTINE, ENDTYPE, ENDWHERE, ENTRY, EOF, EOL, EOR, EQ, EQUIVALENCE, EQV, ERR, ERROR_LINE, EXIST, EXIT, EXPONENT, EXTERNAL, EXTRINSIC, FILE, FMT, FORALL, FORM, FORMAT, FORMATTED, FUNCTION, GE, GO, GOTO, GT, HEX_CONSTANT, HEXDIGIT, HOLLERITH_CONSTANT, HPF, HPF_LOCAL, HPF_SERIAL, IF, IMPLICIT, IN, IN_COMMENT, IN_DOUBLEQUOTE, IN_SINGLEQUOTE, INCLUDE, INOUT, INQUIRE, INTEGER, INTENT, INTERFACE, INTRINSIC, IOLENGTH, IOSTAT, KIND, LE, LEN, LETTER, LOGICAL, LPAREN, LT, MODULE, MODULEPROCEDURE, NAME, NAMED, NAMELIST, NE, NEQV, NEXTREC, NML, NONE, NOT, NULLIFY, NUM, NUMBER, OCTAL_CONSTANT, ONLY, OPEN, OPENED, OPERATOR, OPTIONAL, OR, OUT, PAD, PARAMETER, PAUSE, POINTER, POSITION, PRECISION, PRINT, PRIVATE, PROCEDURE, PROCESS, PROGRAM, PUBLIC, PUNCTUATION, PURE, Q1, Q2, QA, QB, READ, READWRITE, REAL, REC, RECL, RECURSIVE, REF, RESULT, RETURN, REWIND, RPAREN, SAVE, SELECT, SELECTCASE, SEMICOLON, SEQUENCE, SEQUENTIAL, SHAPE, SIZE, SOURCEFORM, STAT, STATIC, STATUS, STOP, SUBROUTINE, TARGET, THEN, TO, tokenImage, TYPE, UNFORMATTED, UNIT, USE, VAL, VIRTUAL, VOLATILE, WAIT, WHERE, WHITE_SPACE, WRITE, XOR
 
Constructor Summary
FortranFFLexer(LpexCharStream charStream, FortranLexerStyles styles, FortranLexerClasses classes)
          Constructor.
 
Method Summary
 void initialize()
          Initializes the Fortran FF lexer.
 int processToken()
          Retrieves and processs the next Fortran token.
 void reinitialize()
          Reinitializes the Fortran FF lexer.
protected  void setComment(com.ibm.lpex.cc.Token t)
          Set style and class for comments.
protected  void setErrorLine(com.ibm.lpex.cc.Token t)
          Set style & class for a line in error ("error.. EOL").
 
Methods inherited from class com.ibm.lpex.cc.LpexFortranFFParserTokenManager
getCurLexState, getNextToken, ReInit, ReInit, SwitchTo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FortranFFLexer

public FortranFFLexer(LpexCharStream charStream,
                      FortranLexerStyles styles,
                      FortranLexerClasses classes)
Constructor.

Parameters:
charStream - LPEX input character stream
styles - style characters to use (predefined by host parser)
classes - classes to use (predefined by host parser)
Method Detail

initialize

public void initialize()
Initializes the Fortran FF lexer. The token manager is initialized for the same character input stream, and in the default lexical state (DEFAULT). This method is normally called when the host parser switches the active lexer to the Fortran FF lexer.

Specified by:
initialize in interface IFortranLexer

reinitialize

public void reinitialize()
Reinitializes the Fortran FF lexer. The token manager is reinitialized for the same character input stream, and in the default lexical state (DEFAULT). This method is normally called after a TokenMgrError exception (e.g., encountered EOF in the middle of a token / a bad character), after the token in error is skipped and parsing is continued (in the same current state).

Specified by:
reinitialize in interface IFortranLexer

processToken

public int processToken()
Retrieves and processs the next Fortran token.

Specified by:
processToken in interface IFortranLexer
Returns:
LEXER_RC_OK, LEXER_RC_EOF [+LEXER_RC_MORE]
See Also:
LpexCommonParser.LEXER_RC_OK, LpexCommonParser.LEXER_RC_EOF, LpexCommonParser.LEXER_RC_MORE

setComment

protected void setComment(com.ibm.lpex.cc.Token t)
Set style and class for comments. Comments are in the form "! .. <EOL>". Activated by \n encountered while in a comment SPECIAL_TOKEN. SPECIAL_TOKEN, rather than TOKEN, is used for these, as we don't need to see the same tokens in processToken() too, nor have them recorded in the parse. Does the real work for the method declared in LpexSqlParser.jj.

Parameters:
t - special token

setErrorLine

protected void setErrorLine(com.ibm.lpex.cc.Token t)
Set style & class for a line in error ("error.. EOL"). Activated by \n encountered while in error-line state SPECIAL_TOKEN. SPECIAL_TOKEN, rather than TOKEN, is used for this, as we don't need to see this token in processToken() too. Does the real work for the method declared in LpexSqlParser.jj.

Parameters:
t - special token

SWT LPEX
v3.0.5

(C) Copyright IBM Corporation 1998, 2005.  All Rights Reserved.