|
Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference 11g Release 1 (11.1.1.9.0) E52944-01 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
oracle.javatools.parser.AbstractLexer
oracle.javatools.parser.generic.GenericLexer
public class GenericLexer
The GenericLexer is a concrete implementation of the Lexer interface that can be used to lex Language implementations. This allows you to quickly prototype a language without having to write an optimized language-specific Lexer implementation.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class oracle.javatools.parser.AbstractLexer |
|---|
AbstractLexer.DefaultLexerToken |
| Field Summary | |
|---|---|
protected int |
endOffsetThe ending offset of the last token found. |
protected KeywordTable |
keywordTableThe keyword table of the language. |
protected Language |
languageThe language that this lexer was created for. |
protected int |
lastTokenThe last token found from lex() operation. |
protected boolean |
skipCommentsWhether to skip comments or not. |
protected int |
startOffsetThe starting offset of the last token found. |
protected boolean |
useLastTokenWhether to use the last token that was found. |
| Fields inherited from class oracle.javatools.parser.AbstractLexer |
|---|
currentPos, textBuffer |
| Fields inherited from interface oracle.javatools.parser.generic.GenericTokens |
|---|
TK_CLOSE_BRACE, TK_FLOAT, TK_IDENTIFIER, TK_INTEGER, TK_KEYWORD, TK_MULTI_COMMENT, TK_OPEN_BRACE, TK_OPERATOR, TK_QUOTES, TK_SINGLE_COMMENT |
| Fields inherited from interface oracle.javatools.parser.Lexer |
|---|
TK_EOF, TK_NOT_FOUND |
| Constructor Summary | |
|---|---|
GenericLexer(Language language)Constructs a GenericLexer for the specified language with a starting position of 0. |
|
| Method Summary | |
|---|---|
void |
backup()Unlexes the last found token. |
protected int |
fillLexerToken(LexerToken lexedToken)Utility routine to fill in the LexerToken structure with the current token information we have. |
int |
lex(LexerToken lexedToken)Scans the text buffer at the current position and returns the token that was found. |
void |
setPosition(int offset)Sets the current lex (read) position to the given offset in the buffer. |
void |
setSkipComments(boolean skipComments)Sets whether the GenericLexer should generate tokens for comments. |
static java.lang.String |
tokenToString(int token)Utility routine to map the token to a string representation of the token (for debug printing.) |
static java.lang.String |
tokenToText(int token)Utility routine to map the token to the original text (if retrievable) of the token (for debug printing.) |
| Methods inherited from class oracle.javatools.parser.AbstractLexer |
|---|
createLexerToken, getTextBuffer, setTextBuffer |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected int lastToken
lex() operation.protected int startOffset
protected int endOffset
protected boolean useLastToken
protected boolean skipComments
protected KeywordTable keywordTable
protected Language language
| Constructor Detail |
|---|
public GenericLexer(Language language)
GenericLexer for the specified language with a starting position of 0. Clients must call setTextBuffer() to initialize the text buffer used for the Lexer. To start lexing from an offset other than 0, call setPosition().| Method Detail |
|---|
public void setSkipComments(boolean skipComments)
GenericLexer should generate tokens for comments.skipComments - true to ignore comments in token generationpublic int lex(LexerToken lexedToken)
lexedToken instance passed in to the call.lex in interface Lexerlex in class AbstractLexerlexedToken - the instance passed in where token info is storedlexedToken.getToken() (for convenience)public void backup()
lex() will return the last token and offset information found.backup in interface Lexerbackup in class AbstractLexerpublic void setPosition(int offset)
setPosition in interface LexersetPosition in class AbstractLexeroffset - the offset for the next lex() operation.protected int fillLexerToken(LexerToken lexedToken)
LexerToken structure with the current token information we have. Returns the current token.lexedToken - the client-specified LexerTokenpublic static java.lang.String tokenToString(int token)
token - the token to mappublic static java.lang.String tokenToText(int token)
token - the token to map
|
Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference 11g Release 1 (11.1.1.9.0) E52944-01 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||