com.ibm.lpex.cics
Class CicsLexer

java.lang.Object
  |
  +--com.ibm.lpex.cc.LpexCicsParserTokenManager
        |
        +--com.ibm.lpex.cics.CicsLexer
All Implemented Interfaces:
com.ibm.lpex.cc.LpexCicsParserConstants

public final class CicsLexer
extends com.ibm.lpex.cc.LpexCicsParserTokenManager

CICS lexer for various language parsers. CicsLexer is currently used by the C/C++, COBOL, and PL/I parsers.


Fields inherited from class com.ibm.lpex.cc.LpexCicsParserTokenManager
curChar, jjnewLexState, jjstrLiteralImages, lexStateNames
 
Fields inherited from interface com.ibm.lpex.cc.LpexCicsParserConstants
_DEFAULT, _EOC, _EOF, ABCODE, ABEND, ABORT, ABSTIME, ACCOUNT, ACCUM, ACTIVATE, ACTPARTN, ADD, ADDRESS, AID, ALARM, ALL, ALLOCATE, ALTSCRN, ANY_CICS, ANYKEY, APPLID, ASIS, ASKIP, ASKTIME, ASM, ASSIGN, ATTACH, ATTACHID, ATTRB, AUTO, AUTOPAGE, AUXILIARY, BANG, BAR, BASE, BIF, BIT_AND, BLANK, BLINK, BLOCK, BOTTOM, BOX, BRT, BTRANS, BUFFER, BUFSZE, BUILD, CANCEL, CARD, CASE, CBIDERR, CBUFF, CCERROR, CHAR_STRING, CHARSZE, CICS, CICS_ID, CICSLETTER, CLEAR, CLRPARTN, CNOTCOMPL, COBOL, COLON, COLOR, COLUMN, COMMA, COMMAREA, COMPLETE, CONDITION, CONFIRM, CONFIRMATION, CONNECT, CONSOLE, CONTROL, CONVERSE, CONVID, COPY, CSA, CTLCHAR, CTRL, CURRENT, CURSOR, CWA, CWALENG, DATA, DATAONLY, DATASTR, DATE, DATEFORM, DATESEP, DAYCOUNT, DAYOFMONTH, DAYOFWEEK, DCT, DDMMYY, DEBKEY, DEBREC, DEEDIT, DEFAULT, DEFINE, DEFRESP, DELAY, DELETE, DELETEQ, DELIMITER, DEQ, DEST, DESTCOUNT, DESTID, DESTIDLENG, DET, DFHMDF, DFHMDI, DFHMSD, DFHPDI, DFHPSD, DIGIT, DISABLED, DISCONNECT, DOT, DRK, DSATTS, DSECT, DSIDERR, DSSTAT, DUMP, DUMPCODE, DUPKEY, DUPREC, ECADDR, EI, EIB, END, ENDBR, ENDDATA, ENDEXEC, ENDFILE, ENDINPT, ENDOUTPUT, ENQ, ENQBUSY, ENTER, ENTRY, ENTRYNAME, ENVDEFERR, EOC, EODS, EOF, EQ, EQUAL, ERASE, ERASEAUP, ERROR, ERRTERM, EVENT, EXEC, EXPIRED, EXPONENT, EXTATT, EXTDS, EXTRACT, FACILITY, FCI, FCT, FIELD, FIELDS, FILE, FINAL, FIRST, FLDSEP, FLENGTH, FMH, FMHPARM, FORMATTIME, FORMFEED, FREE, FREEKB, FREEMAIN, FROM, FROMLENGTH, FRSET, FSET, FULL, FUNCERR, GCHARS, GCODES, GENERIC, GETMAIN, GRPNAME, GT, GTEQ, HANDLE, HEADER, HEXCHAR, HILIGHT, HOLD, HONEOM, HOST_ID, HTAB, IC, IGNORE, IGREQCD, IGREQID, ILLOGIC, IN, IN_MULTI_LINE_COMMENT, IN_SINGLE_LINE_COMMENT, INBFMH, INITIAL, INITIMG, INOUT, INPARTN, INTERVAL, INTO, INVERRTERM, INVITE, INVLDC, INVMPSZ, INVPARTN, INVPARTNSET, INVREQ, INVTSREQ, IOERR, ISCINVREQ, ISSUE, ITEM, ITEMERR, IUTYPE, JIDERR, JOURNAL, JUSFIRST, JUSLAST, JUSTIFY, KATAKANA, KEYLENGTH, KEYNUMBER, L40, L64, L80, LABEL, LANG, LAST, LBRACKET, LDC, LDCMNEM, LDCNUM, LEAVEKB, LEFT, LENGERR, LENGTH, LETTER, LIGHTPEN, LINE, LINEADDR, LINK, LIST, LOAD, LOGONMSG, LPAREN, LT, LUNAME, LUTYPE62, MAIN, MAP, MAPATTS, MAPCOLUMN, MAPERROR, MAPFAIL, MAPHEIGHT, MAPLINE, MAPONLY, MAPPED, MAPSET, MAPSFX, MAPWIDTH, MASSINSERT, MAXLENGTH, MESSAGE, MINIMUM, MINUS, MIXED, MMDDYY, MODE, MONITOR, MONTHOFYEAR, MSR, MSRCONTROL, MULTI_LINE_COMMENT, MUSTENTER, MUSTFILL, NAMEERROR, NETNAME, NEXT, NLEOM, NO, NOAUTOPAGE, NOCHECK, NOEDIT, NOJBUFSP, NOMAPPING, NONVAL, NOPASSBKRD, NOPASSBKWR, NOQUEUE, NORM, NOSPACE, NOSPOOL, NOSTART, NOSTG, NOSUSPEND, NOTALLOC, NOTAUTH, NOTE, NOTFND, NOTOPEN, NOTRUNCATE, NOWAIT, NUM, NUM_CONSTANT, NUMITEMS, NUMREC, NUMTAB, OBFMT, OCCURS, OFF, ON, OPCLASS, OPERID, OPERKEYS, OPERPURGE, OPID, OPSECURITY, OUT, OUTLINE, OUTPARTN, OVER, OVERFLOW, PAGE, PAGENUM, PAGING, PARTN, PARTNFAIL, PARTNPAGE, PARTNS, PARTNSET, PASS, PASSBK, PCT, PERCENT, PERFORM, PGMIDERR, PICIN, PICOUT, PIPLENGTH, PIPLIST, PLI, PLUS, POINT, POP, POS, POST, PPT, PREPARE, PRINSYSID, PRINT, PROCESS, PROCLENGTH, PROCNAME, PROFILE, PROGRAM, PROT, PROTECT, PS, PSEUDOBIN, PURGE, PUSH, QBUSY, QIDERR, QNAME, QUERY, QUESTION, QUEUE, QZERO, RBA, RBRACKET, RDATT, READ, READNEXT, READPREV, READQ, RECEIVE, RECFM, RELEASE, REPLACE, REQID, RESET, RESETBR, RESOURCE, RESTART, RETAIN, RETPAGE, RETRIEVE, RETURN, REVERSE, REWRITE, RIDFLD, RIGHT, ROLLBACK, ROLLEDBACK, ROUTE, RPAREN, RPG, RPROCESS, RRESOURCE, RRN, RTEFAIL, RTERMID, RTESOME, RTRANSID, SAME, SCRNHT, SCRNWD, SELNERR, SEMICOLON, SEND, SESSBUSY, SESSION, SESSIONERR, SET, SHARED, SIGDATA, SIGNAL, SINGLE, SINGLE_LINE_COMMENT, SIT, SIZE, SLASH, SOSI, STANDARD, STAR, START, STARTBR, STARTCODE, STATIONID, STORAGE, STRFIELD, SUBADDR, SUFFIX, SUSPEND, SYNCLEVEL, SYNCPOINT, SYSBUSY, SYSID, SYSIDERR, SYSTEM, TABLES, TASK, TCT, TCTUA, TCTUALENG, TD, TELLERID, TERM, TERMCODE, TERMERR, TERMID, TERMIDERR, TERMINAL, TEXT, TIME, TIMESEP, TIOAPFX, TITLE, tokenImage, TOLENGTH, TRACE, TRACEID, TRAILER, TRANSID, TRANSIDERR, TRANSP, TRIGGER, TS, TSIOERR, TWA, TWALENG, TYPE, UNATTEND, UNDER, UNDERLINE, UNEXPIN, UNLOCK, UNPROT, UPDATE, USER, USERID, VALIDATION, VALIDN, VIEWPOS, VIEWSZE, VOLUME, VOLUMELENG, VTAB, WAIT, WPMEDIA1, WPMEDIA2, WPMEDIA3, WPMEDIA4, WRBRK, WRITE, WRITEQ, WRONGSTAT, XCTL, XINIT, XOR, YEAR, YES, YYDDD, YYDDMM, YYMMDD, ZERO
 
Constructor Summary
CicsLexer(LpexCharStream charStream, java.lang.String hostLanguage, CicsLexerStyles styles, CicsLexerClasses classes)
          Constructor for the CICS lexer.
 
Method Summary
 void initialize()
          Initialize the CICS lexer.
 int processToken()
          Retrieve and process the next CICS token.
 void reinitialize()
          Reinitialize the CICS lexer.
protected  void setComment(com.ibm.lpex.cc.Token t)
          Set style & class for comments.
 
Methods inherited from class com.ibm.lpex.cc.LpexCicsParserTokenManager
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

CicsLexer

public CicsLexer(LpexCharStream charStream,
                 java.lang.String hostLanguage,
                 CicsLexerStyles styles,
                 CicsLexerClasses classes)
Constructor for the CICS lexer.
Parameters:
charStream - LPEX input character stream
hostLanguage - host language (e.g., LpexCommonParser.LANGUAGE_CCPP)
styles - style characters to use (predefined by host parser)
classes - classes to use (predefined by host parser)
Method Detail

initialize

public void initialize()
Initialize the CICS 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 CICS lexer.

reinitialize

public void reinitialize()
Reinitialize the CICS 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.

processToken

public int processToken()
Retrieve and process the next CICS token.
Returns:
LEXER_RC_OK, LEXER_RC_EOF [+LEXER_RC_MORE], LEXER_RC_END
See Also:
LpexCommonParser.LEXER_RC_OK, LpexCommonParser.LEXER_RC_EOF, LpexCommonParser.LEXER_RC_END, LpexCommonParser.LEXER_RC_MORE

setComment

protected void setComment(com.ibm.lpex.cc.Token t)
Set style & class for comments. Activated by \n, \r, or * / 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 extended dummy in LpexCicsParser.jj.
Overrides:
setComment in class com.ibm.lpex.cc.LpexCicsParserTokenManager
Parameters:
t - special token