RegExpPlus (API documentation of hlt.language packages)
Date: 2013-01-30

hlt.language.util

## Class RegExpPlus

- java.lang.Object
- - hlt.language.util.RegExp
  - - hlt.language.util.RegExpOne
    - - hlt.language.util.RegExpPlus

-     public class RegExpPlus
      extends RegExpOne

  This class is a concrete implementation of the abstract class `RegExpOne` to represent a "plussed" regular expression (i.e., one or more).
  Version:
    Last modified on Tue Jun 19 17:38:07 2012 by hak
  Author:
    Hassan Aït-Kaci
  Copyright:
    © Hassan Aït-Kaci

- - ### Field Summary

    - ### Fields inherited from class hlt.language.util.RegExp

      `BINARY_EXP, CHOICE_EXP, CONCAT_EXP, EMPTY, EMPTY_EXP, OPTION_EXP, PLUS_EXP, POWER_EXP, RANGE_EXP, STAR_EXP, SYMBOL_EXP, UNARY_EXP`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RegExpPlus(RegExp arg)` Constructs a `RegExpPlus` with the specified `RegExp`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `RegExp` | `deepCopy()` This returns a deep copy of this `RegExp`.
    `RegExp` | `normalize()` This returns this `RegExpPlus`'s normal form according to the following rewrite rules: `[PL:E]` `()+` → `()` `[PL:O]` `X?+` → `X\*` `[PL:P]` `X++` → `X+` `[PL:S]` `X\*+` → `X\*`
    `RegExp` | `shallowCopy()` This returns a shallow copy of this `RegExp`.
    `java.lang.String` | `toString()` Returns a printable form for this `RegExpPlus`.
    `int` | `type()` This returns the specific type identifying this `RegExp`.

    - ### Methods inherited from class hlt.language.util.RegExpOne

      `equals, getArg, normalArg`

    - ### Methods inherited from class hlt.language.util.RegExp

      `cleanup, isBinary, isChoice, isConcat, isEmpty, isLexLess, isOption, isPlus, isPower, isRange, isStar, isSymbol, isUnary, normEquals, noTrace, tag, toggleTrace, toNormalString, trace, tracing`

    - ### Methods inherited from class java.lang.Object

      `getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### RegExpPlus

          public RegExpPlus(RegExp arg)

      Constructs a `RegExpPlus` with the specified `RegExp`.

  - ### Method Detail

    - #### type

          public final int type()

      Description copied from class: `RegExp`
      This returns the specific type identifying this `RegExp`.
      Specified by:
        `type` in class `RegExp`

    - #### shallowCopy

          public final RegExp shallowCopy()

      Description copied from class: `RegExp`
      This returns a shallow copy of this `RegExp`.
      Specified by:
        `shallowCopy` in class `RegExp`

    - #### deepCopy

          public final RegExp deepCopy()

      Description copied from class: `RegExp`
      This returns a deep copy of this `RegExp`.
      Specified by:
        `deepCopy` in class `RegExp`

    - #### normalize

          public RegExp normalize()

      This returns this `RegExpPlus`'s normal form according to the following rewrite rules:
      1. `[PL:E]` `()+` → `()`
      2. `[PL:O]` `X?+` → `X\*`
      3. `[PL:P]` `X++` → `X+`
      4. `[PL:S]` `X\*+` → `X\*`
      Specified by:
        `normalize` in class `RegExp`

    - #### toString

          public final java.lang.String toString()

      Returns a printable form for this `RegExpPlus`.
      Overrides:
        `toString` in class `java.lang.Object`