Package | org.antlr.runtime |
Class | public class TokenRewriteStream |
Inheritance | TokenRewriteStream ![]() |
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:Object
Map String (program name) -> Integer index
programs | property |
protected var programs:Object
You 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):String
Parameters
a:Object |
|
b:Object |
String |
deleteProgram | () | method |
public function deleteProgram(programName:String):void
Reset the program so that no instructions exist
ParametersprogramName:String |
getKindOfOps | () | method |
protected function getKindOfOps(rewrites:Array, kind:Class, before:int = -1):Array
Get 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):int
Parameters
programName:String |
int |
getProgram | () | method |
protected function getProgram(name:String):Array
Parameters
name:String |
Array |
insertAfter | () | method |
public function insertAfter(index:int, text:Object, programName:String):void
Parameters
index:int |
|
text:Object |
|
programName:String |
insertAfterToken | () | method |
public function insertAfterToken(t:Token, text:Object, programName:String):void
Parameters
t:Token |
|
text:Object |
|
programName:String |
insertBefore | () | method |
public function insertBefore(index:int, text:Object, programName:String):void
Parameters
index:int |
|
text:Object |
|
programName:String |
insertBeforeToken | () | method |
public function insertBeforeToken(t:Token, text:Object, programName:String):void
Parameters
t:Token |
|
text:Object |
|
programName:String |
reduceToSingleOperationPerIndex | () | method |
protected function reduceToSingleOperationPerIndex(rewrites:Array):Array
We 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):void
Parameters
index:int |
|
programName:String |
removeRange | () | method |
public function removeRange(fromIndex:int, toIndex:int, programName:String):void
Parameters
fromIndex:int |
|
toIndex:int |
|
programName:String |
removeToken | () | method |
public function removeToken(token:Token, programName:String):void
Parameters
token:Token |
|
programName:String |
removeTokenRange | () | method |
public function removeTokenRange(fromToken:Token, toToken:Token, programName:String):void
Parameters
fromToken:Token |
|
toToken:Token |
|
programName:String |
replace | () | method |
public function replace(index:int, text:Object, programName:String):void
Parameters
index:int |
|
text:Object |
|
programName:String |
replaceRange | () | method |
public function replaceRange(fromIndex:int, toIndex:int, text:Object, programName:String):void
Parameters
fromIndex:int |
|
toIndex:int |
|
text:Object |
|
programName:String |
replaceToken | () | method |
public function replaceToken(indexT:Token, text:Object, programName:String):void
Parameters
indexT:Token |
|
text:Object |
|
programName:String |
replaceTokenRange | () | method |
public function replaceTokenRange(fromToken:Token, toToken:Token, text:Object, programName:String):void
Parameters
fromToken:Token |
|
toToken:Token |
|
text:Object |
|
programName:String |
rollback | () | method |
public function 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. UNTESTED!
ParametersinstructionIndex:int |
|
programName:String |
setLastRewriteTokenIndex | () | method |
protected function setLastRewriteTokenIndex(programName:String, i:int):void
Parameters
programName:String |
|
i:int |
toDebugString | () | method |
public function toDebugString():String
Returns
String |
toDebugStringWithRange | () | method |
public function toDebugStringWithRange(start:int, end:int):String
Parameters
start:int |
|
end:int |
String |
toOriginalString | () | method |
public function toOriginalString():String
Returns
String |
toOriginalStringWithRange | () | method |
public function toOriginalStringWithRange(start:int, end:int):String
Parameters
start:int |
|
end:int |
String |
toString | () | method |
public override function toString():String
Returns
String |
toStringWithRange | () | method |
public override function toStringWithRange(start:int, end:int):String
Parameters
start:int |
|
end:int |
String |
toStringWithRangeAndProgram | () | method |
public function toStringWithRangeAndProgram(start:int, end:int, programName:String):String
Parameters
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