ua.gradsoft.termware.transformers.general
Class LetTransformer

java.lang.Object
  extended by ua.gradsoft.termware.AbstractBuildinTransformer
      extended by ua.gradsoft.termware.transformers.general.LetTransformer
All Implemented Interfaces:
ITermTransformer

public class LetTransformer
extends AbstractBuildinTransformer

LetTransformer - add argument as rule to current system. usage:

   let rule  -- introduce rule into current system.
   let ( $v1 <- expr1, ,.. $vN <- exprN ) expr - substitute v1, .. vN by reductions of expr1...exprN, and put v1..vN into current substitution.
 


Field Summary
static LetTransformer INSTANCE
           
 
Method Summary
 String getDescription()
          get description of transformer.
 String getName()
          get name of transformer.
static Term static_transform_addrule(Term t, TermSystem system, TransformationContext ctx)
           
static Term static_transform_letexpr(Term assigments, Term resultexpr, TermSystem system, TransformationContext ctx)
           
static Term static_transform(Term t, TermSystem system, TransformationContext ctx)
           
 Term transform(Term t, TermSystem system, TransformationContext ctx)
          attempt to transform term t .
 
Methods inherited from class ua.gradsoft.termware.AbstractBuildinTransformer
getSource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INSTANCE

public static final LetTransformer INSTANCE
Method Detail

transform

public Term transform(Term t,
                      TermSystem system,
                      TransformationContext ctx)
               throws TermWareException
Description copied from interface: ITermTransformer
attempt to transform term t .

Parameters:
t - - term to transform
system - - system which give us access to ebvironment.
ctx - - context of transformation.
Returns:
- transformed term.
Throws:
TermWareException

static_transform

public static Term static_transform(Term t,
                                    TermSystem system,
                                    TransformationContext ctx)
                             throws TermWareException
Throws:
TermWareException

static_transform_addrule

public static Term static_transform_addrule(Term t,
                                            TermSystem system,
                                            TransformationContext ctx)
                                     throws TermWareException
Throws:
TermWareException

static_transform_letexpr

public static Term static_transform_letexpr(Term assigments,
                                            Term resultexpr,
                                            TermSystem system,
                                            TransformationContext ctx)
                                     throws TermWareException
Throws:
TermWareException

getDescription

public String getDescription()
Description copied from class: AbstractBuildinTransformer
get description of transformer. Default behaviour -- return the value of annotation @TransformerDescription binded to this.getClass().

Specified by:
getDescription in interface ITermTransformer
Overrides:
getDescription in class AbstractBuildinTransformer
See Also:
TransformerDescription

getName

public String getName()
Description copied from class: AbstractBuildinTransformer
get name of transformer. Default behaviour -- return the value of annotation @TransformerName binded to this.getClass().

Specified by:
getName in interface ITermTransformer
Overrides:
getName in class AbstractBuildinTransformer
Returns:
name of transformer.
See Also:
TransformerName