| Package | org.antlr.runtime |
| Class | public class TokenRewriteStream |
| Inheritance | TokenRewriteStream CommonTokenStream |
| Property | Defined by | ||
|---|---|---|---|
![]() | channel : int = 0 Skip tokens on any channel but this one; this is how we skip whitespace...
| CommonTokenStream | |
![]() | channelOverrideMap : Array Map
| CommonTokenStream | |
![]() | _discardOffChannelTokens : Boolean = false By default, track all incoming tokens
| CommonTokenStream | |
![]() | discardSet : Array Set
| CommonTokenStream | |
![]() | lastMarker : int Track the last mark() call result value for use in rewind().
| CommonTokenStream | |
| lastRewriteTokenIndexes : Object Map String (program name) -> Integer index
| TokenRewriteStream | ||
![]() | p : int = -1 The index into the tokens list of the current token (next token
to consume).
| CommonTokenStream | |
| programs : Object You may have multiple, named streams of rewrite operations.
| TokenRewriteStream | ||
![]() | tokens : Array Record every single token pulled from the source so we can reproduce
chunks of it later.
| CommonTokenStream | |
![]() | _tokenSource : TokenSource | CommonTokenStream | |
| Method | Defined by | ||
|---|---|---|---|
|
TokenRewriteStream(tokenSource:TokenSource = null, channel:int)
| TokenRewriteStream | ||
![]() |
consume():void
Move the input pointer to the next incoming token.
| CommonTokenStream | |
|
deleteProgram(programName:String):void
Reset the program so that no instructions exist
| TokenRewriteStream | ||
![]() |
discardOffChannelTokens(discardOffChannelTokens:Boolean):void
| CommonTokenStream | |
![]() |
discardTokenType(ttype:int):void
| CommonTokenStream | |
|
getLastRewriteTokenIndex(programName:String):int
| TokenRewriteStream | ||
![]() |
Return absolute token i; ignore which channel the tokens are on;
that is, count all tokens not just on-channel tokens.
| CommonTokenStream | |
![]() |
getTokens():Array
| CommonTokenStream | |
![]() |
getTokensArray(start:int, stop:int, types:Array):Array
| CommonTokenStream | |
![]() |
getTokensBitSet(start:int, stop:int, types:BitSet):Array
Given a start and stop index, return a List of all tokens in
the token type BitSet.
| CommonTokenStream | |
![]() |
getTokensInt(start:int, stop:int, ttype:int):Array
| CommonTokenStream | |
![]() |
getTokensRange(start:int, stop:int):Array
| CommonTokenStream | |
|
insertAfter(index:int, text:Object, programName:String):void
| TokenRewriteStream | ||
|
insertAfterToken(t:Token, text:Object, programName:String):void
| TokenRewriteStream | ||
|
insertBefore(index:int, text:Object, programName:String):void
| TokenRewriteStream | ||
|
insertBeforeToken(t:Token, text:Object, programName:String):void
| TokenRewriteStream | ||
![]() |
LA(i:int):int
| CommonTokenStream | |
![]() |
Get the ith token from the current position 1..n where k=1 is the
first symbol of lookahead.
| CommonTokenStream | |
![]() |
mark():int
| CommonTokenStream | |
![]() |
release(marker:int):void
| CommonTokenStream | |
|
remove(index:int, programName:String):void
| TokenRewriteStream | ||
|
removeRange(fromIndex:int, toIndex:int, programName:String):void
| TokenRewriteStream | ||
|
removeToken(token:Token, programName:String):void
| TokenRewriteStream | ||
| TokenRewriteStream | |||
|
replace(index:int, text:Object, programName:String):void
| TokenRewriteStream | ||
|
replaceRange(fromIndex:int, toIndex:int, text:Object, programName:String):void
| TokenRewriteStream | ||
|
replaceToken(indexT:Token, text:Object, programName:String):void
| TokenRewriteStream | ||
| TokenRewriteStream | |||
![]() |
reset():void
| CommonTokenStream | |
![]() |
rewind():void
| CommonTokenStream | |
![]() |
rewindTo(marker:int):void
| CommonTokenStream | |
|
rollback(instructionIndex:int, programName:String):void
Rollback the instruction stream for a program so that
the indicated instruction (via instructionIndex) is no
longer in the stream.
| TokenRewriteStream | ||
![]() |
seek(index:int):void
| CommonTokenStream | |
![]() |
setTokenTypeChannel(ttype:int, channel:int):void
A simple filter mechanism whereby you can tell this token stream
to force all tokens of type ttype to be on channel.
| CommonTokenStream | |
|
toDebugString():String
| TokenRewriteStream | ||
|
toDebugStringWithRange(start:int, end:int):String
| TokenRewriteStream | ||
|
toOriginalString():String
| TokenRewriteStream | ||
|
toOriginalStringWithRange(start:int, end:int):String
| TokenRewriteStream | ||
|
toString():String
| TokenRewriteStream | ||
|
toStringWithRange(start:int, end:int):String
| TokenRewriteStream | ||
|
toStringWithRangeAndProgram(start:int, end:int, programName:String):String
| TokenRewriteStream | ||
![]() | CommonTokenStream | ||
| Method | Defined by | ||
|---|---|---|---|
|
catOpText(a:Object, b:Object):String
| TokenRewriteStream | ||
![]() |
fillBuffer():void
Load all tokens from the token source and put in tokens.
| CommonTokenStream | |
|
getKindOfOps(rewrites:Array, kind:Class, before:int = -1):Array
Get all operations before an index of a particular kind
| TokenRewriteStream | ||
|
getProgram(name:String):Array
| TokenRewriteStream | ||
![]() |
Look backwards k tokens on-channel tokens
| CommonTokenStream | |
|
reduceToSingleOperationPerIndex(rewrites:Array):Array
We need to combine operations and report invalid operations (like
overlapping replaces that are not completed nested).
| TokenRewriteStream | ||
|
setLastRewriteTokenIndex(programName:String, i:int):void
| TokenRewriteStream | ||
![]() |
skipOffTokenChannels(i:int):int
Given a starting index, return the index of the first on-channel
token.
| CommonTokenStream | |
![]() |
skipOffTokenChannelsReverse(i:int):int
| CommonTokenStream | |
| Constant | Defined by | ||
|---|---|---|---|
| DEFAULT_PROGRAM_NAME : String = "default" [static]
| TokenRewriteStream | ||
| MIN_TOKEN_INDEX : int = 0 [static]
| TokenRewriteStream | ||
| lastRewriteTokenIndexes | property |
protected var lastRewriteTokenIndexes:ObjectMap String (program name) -> Integer index
| programs | property |
protected var programs:ObjectYou may have multiple, named streams of rewrite operations. I'm calling these things "programs." Maps String (name) -> rewrite (List)
| TokenRewriteStream | () | constructor |
public function TokenRewriteStream(tokenSource:TokenSource = null, channel:int)Parameters
tokenSource:TokenSource (default = null) |
|
channel:int |
| catOpText | () | method |
protected function catOpText(a:Object, b:Object):StringParameters
a:Object |
|
b:Object |
String |
| deleteProgram | () | method |
public function deleteProgram(programName:String):voidReset the program so that no instructions exist
ParametersprogramName:String |
| getKindOfOps | () | method |
protected function getKindOfOps(rewrites:Array, kind:Class, before:int = -1):ArrayGet all operations before an index of a particular kind
Parametersrewrites:Array |
|
kind:Class |
|
before:int (default = -1) |
Array |
| getLastRewriteTokenIndex | () | method |
public function getLastRewriteTokenIndex(programName:String):intParameters
programName:String |
int |
| getProgram | () | method |
protected function getProgram(name:String):ArrayParameters
name:String |
Array |
| insertAfter | () | method |
public function insertAfter(index:int, text:Object, programName:String):voidParameters
index:int |
|
text:Object |
|
programName:String |
| insertAfterToken | () | method |
public function insertAfterToken(t:Token, text:Object, programName:String):voidParameters
t:Token |
|
text:Object |
|
programName:String |
| insertBefore | () | method |
public function insertBefore(index:int, text:Object, programName:String):voidParameters
index:int |
|
text:Object |
|
programName:String |
| insertBeforeToken | () | method |
public function insertBeforeToken(t:Token, text:Object, programName:String):voidParameters
t:Token |
|
text:Object |
|
programName:String |
| reduceToSingleOperationPerIndex | () | method |
protected function reduceToSingleOperationPerIndex(rewrites:Array):ArrayWe need to combine operations and report invalid operations (like overlapping replaces that are not completed nested). Inserts to same index need to be combined etc... Here are the cases: I.i.u I.j.v leave alone, nonoverlapping I.i.u I.i.v combine: Iivu R.i-j.u R.x-y.v | i-j in x-y delete first R R.i-j.u R.i-j.v delete first R R.i-j.u R.x-y.v | x-y in i-j ERROR R.i-j.u R.x-y.v | boundaries overlap ERROR I.i.u R.x-y.v | i in x-y delete I I.i.u R.x-y.v | i not in x-y leave alone, nonoverlapping R.x-y.v I.i.u | i in x-y ERROR R.x-y.v I.x.u R.x-y.uv (combine, delete I) R.x-y.v I.i.u | i not in x-y leave alone, nonoverlapping I.i.u = insert u before op
Parametersrewrites:Array |
Array |
| remove | () | method |
public function remove(index:int, programName:String):voidParameters
index:int |
|
programName:String |
| removeRange | () | method |
public function removeRange(fromIndex:int, toIndex:int, programName:String):voidParameters
fromIndex:int |
|
toIndex:int |
|
programName:String |
| removeToken | () | method |
public function removeToken(token:Token, programName:String):voidParameters
token:Token |
|
programName:String |
| removeTokenRange | () | method |
public function removeTokenRange(fromToken:Token, toToken:Token, programName:String):voidParameters
fromToken:Token |
|
toToken:Token |
|
programName:String |
| replace | () | method |
public function replace(index:int, text:Object, programName:String):voidParameters
index:int |
|
text:Object |
|
programName:String |
| replaceRange | () | method |
public function replaceRange(fromIndex:int, toIndex:int, text:Object, programName:String):voidParameters
fromIndex:int |
|
toIndex:int |
|
text:Object |
|
programName:String |
| replaceToken | () | method |
public function replaceToken(indexT:Token, text:Object, programName:String):voidParameters
indexT:Token |
|
text:Object |
|
programName:String |
| replaceTokenRange | () | method |
public function replaceTokenRange(fromToken:Token, toToken:Token, text:Object, programName:String):voidParameters
fromToken:Token |
|
toToken:Token |
|
text:Object |
|
programName:String |
| rollback | () | method |
public function rollback(instructionIndex:int, programName:String):voidRollback the instruction stream for a program so that the indicated instruction (via instructionIndex) is no longer in the stream. UNTESTED!
ParametersinstructionIndex:int |
|
programName:String |
| setLastRewriteTokenIndex | () | method |
protected function setLastRewriteTokenIndex(programName:String, i:int):voidParameters
programName:String |
|
i:int |
| toDebugString | () | method |
public function toDebugString():String
Returns
String |
| toDebugStringWithRange | () | method |
public function toDebugStringWithRange(start:int, end:int):StringParameters
start:int |
|
end:int |
String |
| toOriginalString | () | method |
public function toOriginalString():String
Returns
String |
| toOriginalStringWithRange | () | method |
public function toOriginalStringWithRange(start:int, end:int):StringParameters
start:int |
|
end:int |
String |
| toString | () | method |
public override function toString():String
Returns
String |
| toStringWithRange | () | method |
public override function toStringWithRange(start:int, end:int):StringParameters
start:int |
|
end:int |
String |
| toStringWithRangeAndProgram | () | method |
public function toStringWithRangeAndProgram(start:int, end:int, programName:String):StringParameters
start:int |
|
end:int |
|
programName:String |
String |
| DEFAULT_PROGRAM_NAME | constant |
public static const DEFAULT_PROGRAM_NAME:String = "default"
| MIN_TOKEN_INDEX | constant |
public static const MIN_TOKEN_INDEX:int = 0