LPEX
4.4.0

com.ibm.lpex.cics
Class CicsLexer

java.lang.Object
  extended by com.ibm.lpex.cc.LpexCicsParserTokenManager
      extended by com.ibm.lpex.cics.CicsLexer
All Implemented Interfaces:
LpexCicsParserConstants, ICicsLexer, LpexSubparser

public final class CicsLexer
extends LpexCicsParserTokenManager
implements LpexSubparser, ICicsLexer

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


Field Summary
 
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, String hostLanguage, CicsLexerStyles styles, CicsLexerClasses classes)
          Constructor.
 
Method Summary
 void initialize()
          Initializes the CICS lexer.
 int processToken()
          Retrieves and processes the next CICS token.
 void reinitialize()
          Reinitializes the CICS lexer.
protected  void setComment(Token t)
          Sets the style and element class(es) for comments.
 void setTaskTags(String[] taskTags)
          Sets the comment task tags to use.
 
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,
                 String hostLanguage,
                 CicsLexerStyles styles,
                 CicsLexerClasses classes)
Constructor.

Parameters:
charStream - LPEX input character stream
hostLanguage - host language (e.g., LpexCommonParser.LANGUAGE_CCPP)
styles - style characters to use (predefined by the host parser)
classes - element classes to use (predefined by the host parser)
Method Detail

initialize

public void initialize()
Initializes the CICS lexer.

Specified by:
initialize in interface LpexSubparser

reinitialize

public void reinitialize()
Reinitializes the CICS lexer.

Specified by:
reinitialize in interface LpexSubparser

setTaskTags

public void setTaskTags(String[] taskTags)
Sets the comment task tags to use.

Specified by:
setTaskTags in interface ICicsLexer

processToken

public int processToken()
Retrieves and processes the next CICS token.

Specified by:
processToken in interface LpexSubparser
Returns:
LEXER_RC_OK, LEXER_RC_EOF [+LEXER_RC_MORE], LEXER_RC_END

setComment

protected void setComment(Token t)
Sets the style and element class(es) 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 LpexCicsParserTokenManager
Parameters:
t - special token (token.beginLine, token.beginColumn, token.endLine, and token.endColumn identify its location: ONE-based elements and positions in the associated document view)

LPEX
4.4.0

Copyright � 2016 IBM Corp. All Rights Reserved.

Note: This documentation is for part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.