Class EiffelSymbolTokenizer
java.lang.Object
org.opengrok.indexer.analysis.JFlexStateStacker
org.opengrok.indexer.analysis.JFlexSymbolMatcher
org.opengrok.indexer.analysis.eiffel.EiffelSymbolTokenizer
- All Implemented Interfaces:
 JFlexJointLexer,JFlexLexer,JFlexStackingLexer,Resettable,ScanningSymbolMatcher,SymbolMatchedPublisher
- 
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intThis character denotes the end of file.static final intFields inherited from class org.opengrok.indexer.analysis.JFlexStateStacker
lineNumber, stack - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionvoidchkLOC()CallsJFlexJointLexer.phLOC()if the yystate is not SCOMMENT.voiddisjointSpan(String className) Indicates the closing of an open tag and the opening -- ifclassNameis non-null -- of a new one.longGets the yychar value.intgetYYEOF()Gets the YYEOF value.voidmaybeEndVerbatim(String capture) Determine if the specifiedcapturestarts with the expected "Verbatim_string_closer" fromvop(java.lang.String), and if so, pop the state, write the closer, and push back any excess; otherwise, write the first character ofcapture, and push back the rest.voidPasses non-symbolic fragment for processing.voidofferKeyword(String value) Passes a text fragment that is syntactically a keyword symbol for processing.booleanofferSymbol(String value, int captureOffset, boolean ignoreKwd) Passes a text fragment that is syntactically a symbol for processing.voidphLOC()Indicates that eligible source code was encountered for physical lines-of-code count (physical LOC).voidreset()Resets the Eiffel tracked state; Resets the instance to an initial state.protected booleanvoidIndicates that something unusual happened where normally a symbol would have been offered.voidIndicates that the current line is ended.protected booleanvoidBegin a "Verbatim_string" according to the specified for the specified "Verbatim_string_opener",opener, determining the matching "Verbatim_string_closer" to be used withmaybeEndVerbatim(java.lang.String).final booleanyyatEOF()Returns whether the scanner has reached the end of the reader it reads from.final voidyybegin(int newState) Enters a new lexical state.final charyycharat(int position) Returns the character at the given position from the matched text.final voidyyclose()Closes the input reader.final intyylength()How many characters were matched.intyylex()Resumes scanning until the next regular expression is matched, the end of input is encountered or an I/O-Error occurs.voidyypushback(int number) Pushes the specified amount of characters back into the input stream.final voidResets the scanner to read from a new input stream.final intyystate()Returns the current lexical state.final Stringyytext()Returns the text matched by the current regular expression.Methods inherited from class org.opengrok.indexer.analysis.JFlexSymbolMatcher
clearNonSymbolMatchedListener, clearSymbolMatchedListener, getDisjointSpanClassName, onDisjointSpanChanged, onEmailAddressMatched, onEndOfLineMatched, onFilelikeMatched, onFilteredSymbolMatched, onFilteredSymbolMatched, onKeywordMatched, onLabelDefMatched, onLabelMatched, onNonSymbolMatched, onNonSymbolMatched, onNonSymbolMatched, onPathlikeMatched, onQueryTermMatched, onRefsTermMatched, onScopeChanged, onSourceCodeSeen, onSymbolMatched, onUriMatched, onUriMatched, setNonSymbolMatchedListener, setSymbolMatchedListenerMethods inherited from class org.opengrok.indexer.analysis.JFlexStateStacker
clearStack, emptyStack, getLineNumber, setLineNumber, yyjump, yypop, yypushMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.opengrok.indexer.analysis.JFlexStackingLexer
emptyStack, getLineNumber, yypop, yypush 
- 
Field Details
- 
YYEOF
public static final int YYEOFThis character denotes the end of file.- See Also:
 
 - 
YYINITIAL
public static final int YYINITIAL- See Also:
 
 - 
SCOMMENT
public static final int SCOMMENT- See Also:
 
 - 
STRING
public static final int STRING- See Also:
 
 - 
VSTRING
public static final int VSTRING- See Also:
 
 
 - 
 - 
Constructor Details
- 
EiffelSymbolTokenizer
Creates a new scanner- Parameters:
 in- the java.io.Reader to read input from.
 
 - 
 - 
Method Details
- 
getYYCHAR
public long getYYCHAR()Gets the yychar value.- Returns:
 - yychar
 
 - 
getYYEOF
public int getYYEOF()Gets the YYEOF value.- Specified by:
 getYYEOFin interfaceJFlexStackingLexer- Specified by:
 getYYEOFin classJFlexStateStacker- Returns:
 - YYEOF
 
 - 
reset
public void reset()Resets the Eiffel tracked state; Resets the instance to an initial state.- Specified by:
 resetin interfaceResettable
 - 
offer
Description copied from interface:JFlexJointLexerPasses non-symbolic fragment for processing.- Parameters:
 value- the excised fragment- Throws:
 IOException- if an error occurs while accepting
 - 
offerSymbol
Description copied from interface:JFlexJointLexerPasses a text fragment that is syntactically a symbol for processing.- Parameters:
 value- the excised symbolcaptureOffset- the offset from yychar wherevaluebeganignoreKwd- a value indicating whether keywords should be ignored- Returns:
 - true if the 
valuewas not in keywords or if theignoreKwdwas true - Throws:
 IOException- if an error occurs while accepting
 - 
skipSymbol
public void skipSymbol()Description copied from interface:JFlexJointLexerIndicates that something unusual happened where normally a symbol would have been offered. - 
offerKeyword
Description copied from interface:JFlexJointLexerPasses a text fragment that is syntactically a keyword symbol for processing.- Parameters:
 value- the excised symbol- Throws:
 IOException- if an error occurs while accepting
 - 
startNewLine
Description copied from interface:JFlexJointLexerIndicates that the current line is ended.- Throws:
 IOException- if an error occurs when handling the EOL
 - 
disjointSpan
Description copied from interface:JFlexJointLexerIndicates the closing of an open tag and the opening -- ifclassNameis non-null -- of a new one.- Parameters:
 className- the class name for the new tag ornulljust to close an open tag.- Throws:
 IOException- if an output error occurs
 - 
phLOC
public void phLOC()Description copied from interface:JFlexJointLexerIndicates that eligible source code was encountered for physical lines-of-code count (physical LOC). - 
takeAllContent
protected boolean takeAllContent() - 
returnOnSymbol
protected boolean returnOnSymbol() - 
yyclose
Closes the input reader.- Throws:
 IOException- if the reader could not be closed.
 - 
yyreset
Resets the scanner to read from a new input stream.Does not close the old reader.
All internal variables are reset, the old input stream cannot be reused (internal buffer is discarded and lost). Lexical state is set to
ZZ_INITIAL.Internal scan buffer is resized down to its initial length, if it has grown.
- Parameters:
 reader- The new input stream.
 - 
yyatEOF
public final boolean yyatEOF()Returns whether the scanner has reached the end of the reader it reads from.- Returns:
 - whether the scanner has reached EOF.
 
 - 
yystate
public final int yystate()Returns the current lexical state.- Returns:
 - the current lexical state.
 
 - 
yybegin
public final void yybegin(int newState) Enters a new lexical state.- Parameters:
 newState- the new lexical state
 - 
yytext
Returns the text matched by the current regular expression.- Returns:
 - the matched text.
 
 - 
yycharat
public final char yycharat(int position) Returns the character at the given position from the matched text.It is equivalent to
yytext().charAt(pos), but faster.- Parameters:
 position- the position of the character to fetch. A value from 0 toyylength()-1.- Returns:
 - the character at 
position. 
 - 
yylength
public final int yylength()How many characters were matched.- Returns:
 - the length of the matched text region.
 
 - 
yypushback
public void yypushback(int number) Pushes the specified amount of characters back into the input stream.They will be read again by then next call of the scanning method.
- Parameters:
 number- the number of characters to be read again. This number must not be greater thanyylength().
 - 
yylex
Resumes scanning until the next regular expression is matched, the end of input is encountered or an I/O-Error occurs.- Returns:
 - the next token.
 - Throws:
 IOException- if any I/O-Error occurs.
 - 
vop
Begin a "Verbatim_string" according to the specified for the specified "Verbatim_string_opener",opener, determining the matching "Verbatim_string_closer" to be used withmaybeEndVerbatim(java.lang.String).Everything between the first and last character of
openeris the verbatim string α, and the last character's opposite becomes the initial character of the closer.- Parameters:
 opener- a defined opener following Eiffel "8.29.10 Syntax: Manifest strings"- Throws:
 IOException
 - 
maybeEndVerbatim
Determine if the specifiedcapturestarts with the expected "Verbatim_string_closer" fromvop(java.lang.String), and if so, pop the state, write the closer, and push back any excess; otherwise, write the first character ofcapture, and push back the rest.- Parameters:
 capture- a defined, possible ender- Throws:
 IOException- if output fails
 - 
chkLOC
public void chkLOC()CallsJFlexJointLexer.phLOC()if the yystate is not SCOMMENT. 
 -