Package JFlex

Examples of JFlex.IntCharSet


  public CharClassesTest(String arg0) {
    super(arg0);
  }

  public void testAdd1() {
    IntCharSet set = new IntCharSet(new Interval('a','h'));
    set.add(new Interval('o','z'));
    set.add(new Interval('A','Z'));
    set.add(new Interval('h','o'));
    assertEquals("{ ['A'-'Z']['a'-'z'] }", set.toString());
  }
View Full Code Here


    set.add(new Interval('h','o'));
    assertEquals("{ ['A'-'Z']['a'-'z'] }", set.toString());
  }

  public void testAdd2() {
    IntCharSet set = new IntCharSet(new Interval('a','h'));
    set.add(new Interval('o','z'));
    set.add(new Interval('A','Z'));
    set.add(new Interval('i','n'));
    assertEquals("{ ['A'-'Z']['a'-'z'] }", set.toString());
  }
View Full Code Here

    set.add(new Interval('i','n'));
    assertEquals("{ ['A'-'Z']['a'-'z'] }", set.toString());
  }

  public void testAdd3() {
    IntCharSet set = new IntCharSet(new Interval('a','h'));
    set.add(new Interval('o','z'));
    set.add(new Interval('A','Z'));
    set.add(new Interval('a','n'));
    assertEquals("{ ['A'-'Z']['a'-'z'] }", set.toString());
  }
View Full Code Here

    set.add(new Interval('a','n'));
    assertEquals("{ ['A'-'Z']['a'-'z'] }", set.toString());
  }
 
  public void testMergeLast() {
    IntCharSet set = new IntCharSet(new Interval('a','k'));
    assertEquals("{ ['a'-'k'] }", set.toString());
    set.add('l');
    assertEquals("{ ['a'-'l'] }", set.toString());
  }
View Full Code Here

    set.add('l');
    assertEquals("{ ['a'-'l'] }", set.toString());
  }

  public void testAddChar() {
    IntCharSet set = new IntCharSet(new Interval('a','h'));
    set.add(new Interval('o','z'));
    set.add('n');
    set.add('k');
    assertEquals("{ ['a'-'h']['k']['n'-'z'] }", set.toString());
    set.add('i');
    assertEquals("{ ['a'-'i']['k']['n'-'z'] }", set.toString());   
    set.add('j');
    assertEquals("{ ['a'-'k']['n'-'z'] }", set.toString());   
    set.add(new Interval('l','m'));
    assertEquals("{ ['a'-'z'] }", set.toString());   
  }
View Full Code Here

    set.add(new Interval('l','m'));
    assertEquals("{ ['a'-'z'] }", set.toString());   
  }

  public void testCopy() {
    IntCharSet set = new IntCharSet(new Interval('a','z'));
    IntCharSet copy = set.copy();
    Interval i = set.getNext();
    i.end = 'h';
    assertEquals("{ ['a'-'h'] }", set.toString());
    assertEquals("{ ['a'-'z'] }", copy.toString());
  }
View Full Code Here

    assertEquals("{ ['a'-'h'] }", set.toString());
    assertEquals("{ ['a'-'z'] }", copy.toString());
  }

  public void testCaseless() {
    IntCharSet set = new IntCharSet(new Interval('a','c'));
    set.add(new Interval('h','o'));
    assertEquals("{ ['A'-'C']['H'-'O']['a'-'c']['h'-'o'] }",
                 set.getCaseless().toString());
  }
View Full Code Here

   */
  private void initCaselessMatches() {
    caselessMatches = new IntCharSet[maximumCodePoint + 1];
    int[] members = new int[caselessMatchPartitionSize];
    for (int index = 0 ; index < caselessMatchPartitions.length() ; ) {
      IntCharSet partition = new IntCharSet();
      for (int n = 0 ; n < caselessMatchPartitionSize ; ++n) {
        int c = caselessMatchPartitions.codePointAt(index);
        index += (c <= 0xFFFF ? 1 : 2);
        members[n] = c;
        //TODO: Remove BMP boundary condition
        if (c > 0 && c <= 0xFFFF)
          //TODO: Change the character type from char to int
          partition.add((char)c);
      }
      if (partition.containsElements()) {
        for (int n = 0 ; n < caselessMatchPartitionSize ; ++n) {
          if (members[n] > 0)
            caselessMatches[members[n]] = partition;
        }
      }
View Full Code Here

    this.caselessMatchPartitionSize = caselessMatchPartitionSize;
    this.maximumCodePoint = maximumCodePoint;
    for (int n = 0 ; n < propertyValues.length ; ++n) {
      String propertyValue = propertyValues[n];
      String propertyIntervals = intervals[n];
      IntCharSet set = new IntCharSet();
      for (int index = 0 ; index < propertyIntervals.length() ; ) {
        int start = propertyIntervals.codePointAt(index);
        index += (start <= 0xFFFF ? 1 : 2);
        int end = propertyIntervals.codePointAt(index);
        index += (end <= 0xFFFF ? 1 : 2);
        //TODO: Remove BMP boundary condition
        if (start <= 0xFFFF) {
          //TODO: Change the character type from char to int and remove boundary condition
          set.add(new Interval((char)start, (char)Math.min(end, 0xFFFF)));
        }
      }
      propertyValueIntervals.put(propertyValue, set);
      if (2 == propertyValue.length()) {
        String singleLetter = propertyValue.substring(0, 1);
        IntCharSet singleLetterPropValueSet
          = propertyValueIntervals.get(singleLetter);
        if (null == singleLetterPropValueSet) {
          singleLetterPropValueSet = new IntCharSet();
          propertyValueIntervals.put(singleLetter, singleLetterPropValueSet);
        }
        singleLetterPropValueSet.add(set);
      }
    }
    for (int n = 0 ; n < propertyValueAliases.length ; n += 2) {
      String alias = propertyValueAliases[n];
      String propertyValue = propertyValueAliases[n + 1];
      IntCharSet targetSet = propertyValueIntervals.get(propertyValue);
      if (null != targetSet) {
        propertyValueIntervals.put(alias, targetSet);
      }
    }
    bindInvariantIntervals();
View Full Code Here

  /**
   * Adds intervals for \p{ASCII} and \p{Any} to {@link #propertyValueIntervals}.
   */
  private void bindInvariantIntervals() {
    //TODO: Change the character type from char to int
    IntCharSet asciiSet = new IntCharSet(new Interval('\000', '\u007F'));
    propertyValueIntervals.put(normalize("ASCII"), asciiSet);

    //TODO: Change the character type from char to int
    //TODO: End of interval should be maximumCodePoint instead of '\uFFFF'
    IntCharSet anySet = new IntCharSet(new Interval('\000', '\uFFFF'));
    propertyValueIntervals.put(normalize("Any"), anySet);
  }
View Full Code Here

TOP

Related Classes of JFlex.IntCharSet

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.