Class KeywordMap

java.lang.Object
mars.venus.editor.jeditsyntax.KeywordMap

public class KeywordMap extends Object
A KeywordMap is similar to a hashtable in that it maps keys to values. However, the `keys' are Swing Segments. This allows lookups of text substrings without the overhead of creating a new string object.

This class is used by MIPSTokenMarker to map keywords to ids.

Version:
$Id: KeywordMap.java,v 1.16 1999/12/13 03:40:30 sp Exp $
Author:
Slava Pestov, Mike Dillon
  • Constructor Details

    • KeywordMap

      public KeywordMap(boolean ignoreCase)
      Creates a new KeywordMap.
      Parameters:
      ignoreCase - True if keys are case insensitive
    • KeywordMap

      public KeywordMap(boolean ignoreCase, int capacity)
      Creates a new KeywordMap.
      Parameters:
      ignoreCase - True if the keys are case insensitive
      capacity - The number of `buckets' to create. A value of 52 will give good performance for most maps.
  • Method Details

    • lookup

      public byte lookup(Segment text, int offset, int length)
      Looks up a key.
      Parameters:
      text - The text segment
      offset - The offset of the substring within the text segment
      length - The length of the substring
      Returns:
      The token type for the keyword
    • add

      public void add(String keyword, byte id)
      Adds a key-value mapping.
      Parameters:
      keyword - The key
      id - The value
    • getIgnoreCase

      public boolean getIgnoreCase()
      Returns true if the keyword map is set to be case insensitive, false otherwise.
    • setIgnoreCase

      public void setIgnoreCase(boolean ignoreCase)
      Sets if the keyword map should be case insensitive.
      Parameters:
      ignoreCase - True if the keyword map should be case insensitive, false otherwise
    • getStringMapKey

      protected int getStringMapKey(String string)
    • getSegmentMapKey

      protected int getSegmentMapKey(Segment segment, int offset, int length)
    • toString

      public String toString()
      Overrides:
      toString in class Object