jpaul.RegExps
Class RegExp.Concat<A>

java.lang.Object
  extended by jpaul.RegExps.RegExp<A>
      extended by jpaul.RegExps.RegExp.Concat<A>
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable
Enclosing class:
RegExp<A>

public static class RegExp.Concat<A>
extends RegExp<A>

Regular expression produced by concatenating two regular expressions.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class jpaul.RegExps.RegExp
RegExp.Atomic<A>, RegExp.Concat<A>, RegExp.EmptyStr<A>, RegExp.None<A>, RegExp.Star<A>, RegExp.Union<A>, RegExp.Visitor<A,Res>
 
Field Summary
 RegExp<A> left
           
 RegExp<A> right
           
 
Constructor Summary
RegExp.Concat(RegExp<A> left, RegExp<A> right)
          Creates a Concat regular expression that matches any string of As consisting of a string matched by left followed by a string matched by right.
 
Method Summary
protected  int _hashCode()
          Does the real work behing hashCode.
<Res> Res
accept(RegExp.Visitor<A,Res> visitor)
          Method for the visitor pattern.
 java.util.List<RegExp<A>> allTransTerms()
          Returns all transitive terms of this Concat.
 boolean equals(java.lang.Object o)
           
 java.lang.String toString()
           
 
Methods inherited from class jpaul.RegExps.RegExp
buildConcat, buildUnion, hashCode, simplify
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

left

public final RegExp<A> left

right

public final RegExp<A> right
Constructor Detail

RegExp.Concat

public RegExp.Concat(RegExp<A> left,
                     RegExp<A> right)
Creates a Concat regular expression that matches any string of As consisting of a string matched by left followed by a string matched by right.

Method Detail

accept

public <Res> Res accept(RegExp.Visitor<A,Res> visitor)
Description copied from class: RegExp
Method for the visitor pattern. This method will dynamically select and execute the visit method of the visitor that corresponds to the dynamic type of the regular expression. E.g., in the case of a regular expression that is a RegExp.Concat object, accept executes the code of visit(RegExp.Concat).

Overrides:
accept in class RegExp<A>

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

_hashCode

protected int _hashCode()
Description copied from class: RegExp
Does the real work behing hashCode.

Specified by:
_hashCode in class RegExp<A>
See Also:
RegExp.hashCode()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

allTransTerms

public java.util.List<RegExp<A>> allTransTerms()
Returns all transitive terms of this Concat. More details: this Concat regexp may be the root of a subtree of Concat internal nodes, modeling the concatenation of several regexps: e.g., a.((b.c).d). This method returns all the leaves of this subtree, from left to right; for the previous example, it returns [a,b,c,d].



Copyright 2005 Alexandru Salcianu - salcianu@alum.mit.edu