jfun.jaskell.ast
Class Patterns

java.lang.Object
  extended by jfun.jaskell.ast.Patterns

public final class Patterns
extends java.lang.Object

The class to create different pattern-match patterns.

Author:
Ben Yu Jan 14, 2005

Constructor Summary
Patterns()
           
 
Method Summary
static Pattern buildCons(Pattern[] ptns)
          Build a list cons pattern.
static Pattern buildElem(Binding name)
          Build a pattern for any named element.
static Pattern buildElem(java.lang.String name)
          Build a pattern for any named element.
static Pattern buildList(Pattern[] ptns)
          Build a pattern for a list/array.
static Pattern buildNamedPattern(Binding name, Pattern p)
          Build an aliased pattern.
static Pattern buildNamedPattern(java.lang.String name, Pattern p)
          Build an aliased pattern.
static Pattern buildTuplePattern(MemberPattern[] mps)
          Build an pattern for a tuple.
static Pattern buildWildcard()
          Build a pattern for the wildcard '_'.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Patterns

public Patterns()
Method Detail

buildWildcard

public static Pattern buildWildcard()
Build a pattern for the wildcard '_'.


buildElem

public static Pattern buildElem(java.lang.String name)
Build a pattern for any named element.


buildElem

public static Pattern buildElem(Binding name)
Build a pattern for any named element.


buildList

public static Pattern buildList(Pattern[] ptns)
Build a pattern for a list/array. ([a,b,c])

Parameters:
ptns - the pattern for each element seperated by ','.

buildCons

public static Pattern buildCons(Pattern[] ptns)
Build a list cons pattern. (a:b:c_:d)

Parameters:
ptns - the pattern for each item seperated by ':'.

buildNamedPattern

public static Pattern buildNamedPattern(java.lang.String name,
                                        Pattern p)
Build an aliased pattern.


buildNamedPattern

public static Pattern buildNamedPattern(Binding name,
                                        Pattern p)
Build an aliased pattern.


buildTuplePattern

public static Pattern buildTuplePattern(MemberPattern[] mps)
Build an pattern for a tuple.

Parameters:
mps - the patterns for tuple members.