org.eclipse.ocl.lpg
Class DerivedPrsStream

java.lang.Object
  extended by lpg.runtime.PrsStream
      extended by org.eclipse.ocl.lpg.DerivedPrsStream
All Implemented Interfaces:
lpg.runtime.IPrsStream, lpg.runtime.ParseErrorCodes, lpg.runtime.TokenStream

public class DerivedPrsStream
extends lpg.runtime.PrsStream

This DerivedLexStream will be used in favour of the LpgLexStream for the OCLLexer, so that some customization are introduced and exploited by the generated OCLLexer.

Since:
3.0

Field Summary
 
Fields inherited from interface lpg.runtime.ParseErrorCodes
BEFORE_CODE, DELETION_CODE, EOF_CODE, ERROR_CODE, ERROR_RULE_ERROR_CODE, ERROR_RULE_WARNING_CODE, errorMsgText, INSERTION_CODE, INVALID_CODE, INVALID_TOKEN_CODE, LEX_ERROR_CODE, MERGE_CODE, MISPLACED_CODE, NO_MESSAGE_CODE, SCOPE_CODE, SECONDARY_CODE, SUBSTITUTION_CODE
 
Constructor Summary
DerivedPrsStream(BasicEnvironment env, lpg.runtime.ILexStream iLexStream)
           
 
Method Summary
 lpg.runtime.ErrorToken getErrorTokenAtCharacter(int offset)
          This function returns the index of the token element containing the offset specified.
 int getErrorTokens()
           
 int getTokenIndexAtCharacter(int offset)
          Overridden to search only the non-Error nodes, which are the only tokens in monotonic order.
 int makeErrorToken(int firsttok, int lasttok, int errortok, int kind)
           
 void reportError(int errorCode, int leftToken, int errorToken, int rightToken, java.lang.String[] errorInfo)
           
 void reportErrorTokenMessage(int error_token, java.lang.String msg)
          Report error message for given error_token.
 
Methods inherited from class lpg.runtime.PrsStream
addAdjunct, addToken, afterEol, badToken, dumpToken, dumpTokens, getAdjuncts, getColumn, getColumnOfCharAt, getColumnOfTokenAt, getEndColumn, getEndColumnOfTokenAt, getEndLine, getEndLineNumberOfTokenAt, getEndOffset, getFileName, getFirstErrorToken, getFirstRealToken, getFollowingAdjuncts, getILexStream, getInputBytes, getInputChars, getIToken, getKind, getLastErrorToken, getLastRealToken, getLexStream, getLine, getLineCount, getLineNumberOfCharAt, getLineNumberOfTokenAt, getLineOffset, getMessageHandler, getName, getNext, getPrecedingAdjuncts, getPrevious, getSize, getStartOffset, getStreamIndex, getStreamLength, getToken, getToken, getTokenAt, getTokenAtCharacter, getTokenLength, getTokens, getTokenText, makeAdjunct, makeToken, mapKind, orderedExportedSymbols, orderedTerminalSymbols, peek, remapTerminalSymbols, removeLastToken, reportError, reportError, reportError, reset, reset, resetLexStream, resetTokenStream, setLexStream, setMessageHandler, setSize, setStreamIndex, setStreamLength, setStreamLength, toString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DerivedPrsStream

public DerivedPrsStream(BasicEnvironment env,
                        lpg.runtime.ILexStream iLexStream)
Method Detail

getErrorTokenAtCharacter

public lpg.runtime.ErrorToken getErrorTokenAtCharacter(int offset)
This function returns the index of the token element containing the offset specified. If such a token does not exist, it returns the negation of the index of the element immediately preceding the offset.

Since:
1.3

getErrorTokens

public int getErrorTokens()
Since:
1.3

getTokenIndexAtCharacter

public int getTokenIndexAtCharacter(int offset)
Overridden to search only the non-Error nodes, which are the only tokens in monotonic order.

Specified by:
getTokenIndexAtCharacter in interface lpg.runtime.IPrsStream
Overrides:
getTokenIndexAtCharacter in class lpg.runtime.PrsStream

makeErrorToken

public int makeErrorToken(int firsttok,
                          int lasttok,
                          int errortok,
                          int kind)
Specified by:
makeErrorToken in interface lpg.runtime.IPrsStream
Overrides:
makeErrorToken in class lpg.runtime.PrsStream

reportError

public void reportError(int errorCode,
                        int leftToken,
                        int errorToken,
                        int rightToken,
                        java.lang.String[] errorInfo)
Specified by:
reportError in interface lpg.runtime.TokenStream
Overrides:
reportError in class lpg.runtime.PrsStream
Since:
3.0

reportErrorTokenMessage

public final void reportErrorTokenMessage(int error_token,
                                          java.lang.String msg)
Report error message for given error_token.

Parameters:
error_token - the error taken index
msg - the message to report
Since:
1.3