Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.trapezium.chisel
Class RangeReplacer  view RangeReplacer download RangeReplacer.java

java.lang.Object
  extended bycom.trapezium.chisel.RangeReplacer

public class RangeReplacer
extends java.lang.Object

The RangeReplacer handles replacement of sequences of tokens. Each sequence to be replaced is registered for replacement, along with the Optimizer object handling the replacement and a parameter that gets passed to the Optimizer object. NOTE: this does not handle embedded replacements. Only the first replacement range found is handled.


Field Summary
(package private)  java.util.Vector chisels
           
(package private)  int[] endOffsets
           
(package private)  int eofBoundary
           
(package private)  int[] eofEndTokens
           
(package private)  int eofIdx
           
(package private)  int[] eofStartTokens
           
(package private)  boolean optimized
          See if a tokenOffset is a key start value
(package private)  java.util.Hashtable optimizedLookup
           
(package private)  java.util.BitSet optimizedSettings
           
(package private)  java.util.Vector params
           
(package private)  int startEndBoundary
           
(package private)  int startEndIdx
           
(package private)  int[] startOffsets
           
(package private)  com.trapezium.edit.TokenEditor tokenEditor
           
 
Constructor Summary
RangeReplacer()
           
 
Method Summary
(package private)  void addStartEnd(int start, int end)
          Save the start/end token range that is going to be replaced.
 void eofTokens(int startTokenOffset, int endTokenOffset)
           
(package private)  int getNextLargest(int tokenOffset, int largestPossible)
          Get the token offset that is greater than or equal to this one, but is less than the next largest token in the startOffsets list.
(package private)  void optimizeData(int largestOffset)
           
(package private)  void printFinalChiselInfo(TokenPrinter tp)
          Print final info for all chisels
 com.trapezium.edit.TokenEditor recreateTokenStream(java.lang.String action, com.trapezium.edit.TokenEditor originalTokenEditor, int firstTokenOffset, int lastTokenOffset, com.trapezium.util.ProgressIndicator frl)
          Recreate a token stream, assume new stream nearly same size as old stream.
 boolean replacementsRegistered()
          Check if any replacements were registered
 void replaceRange(Optimizer replacer, int startTokenOffset, int endTokenOffset, java.lang.Object param)
          Register a range of tokens for replacement using a particular optimizer.
 void replaceStartEnd(int oldStartOffset, int oldEndOffset, int newStartOffset, int newEndOffset)
           
(package private)  int startTokenIdx(int tokenOffset)
           
 void wipeout()
          Reset all internal info for this object, and reset all optimizers it used, since these may keep around very large objects that need to be garbage collected.
 void writeFile(java.lang.String fileName, com.trapezium.parse.TokenEnumerator t)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tokenEditor

com.trapezium.edit.TokenEditor tokenEditor

startOffsets

int[] startOffsets

endOffsets

int[] endOffsets

startEndBoundary

int startEndBoundary

startEndIdx

int startEndIdx

chisels

java.util.Vector chisels

params

java.util.Vector params

eofStartTokens

int[] eofStartTokens

eofEndTokens

int[] eofEndTokens

eofBoundary

int eofBoundary

eofIdx

int eofIdx

optimized

boolean optimized
See if a tokenOffset is a key start value


optimizedLookup

java.util.Hashtable optimizedLookup

optimizedSettings

java.util.BitSet optimizedSettings
Constructor Detail

RangeReplacer

public RangeReplacer()
Method Detail

wipeout

public void wipeout()
Reset all internal info for this object, and reset all optimizers it used, since these may keep around very large objects that need to be garbage collected.


replaceRange

public void replaceRange(Optimizer replacer,
                         int startTokenOffset,
                         int endTokenOffset,
                         java.lang.Object param)
Register a range of tokens for replacement using a particular optimizer.


replacementsRegistered

public boolean replacementsRegistered()
Check if any replacements were registered


replaceStartEnd

public void replaceStartEnd(int oldStartOffset,
                            int oldEndOffset,
                            int newStartOffset,
                            int newEndOffset)

addStartEnd

void addStartEnd(int start,
                 int end)
Save the start/end token range that is going to be replaced.


eofTokens

public void eofTokens(int startTokenOffset,
                      int endTokenOffset)

optimizeData

void optimizeData(int largestOffset)

startTokenIdx

int startTokenIdx(int tokenOffset)

getNextLargest

int getNextLargest(int tokenOffset,
                   int largestPossible)
Get the token offset that is greater than or equal to this one, but is less than the next largest token in the startOffsets list.


writeFile

public void writeFile(java.lang.String fileName,
                      com.trapezium.parse.TokenEnumerator t)

recreateTokenStream

public com.trapezium.edit.TokenEditor recreateTokenStream(java.lang.String action,
                                                          com.trapezium.edit.TokenEditor originalTokenEditor,
                                                          int firstTokenOffset,
                                                          int lastTokenOffset,
                                                          com.trapezium.util.ProgressIndicator frl)
Recreate a token stream, assume new stream nearly same size as old stream. If there was nothing to do, just returns original.


printFinalChiselInfo

void printFinalChiselInfo(TokenPrinter tp)
Print final info for all chisels