ai.planning.strips
Class PddlPlanAdaptor

java.lang.Object
  extended by ai.planning.strips.PddlPlanAdaptor
All Implemented Interfaces:
inf.compilers.SyntaxAdaptor<SequentialPlan>

public class PddlPlanAdaptor
extends java.lang.Object
implements inf.compilers.SyntaxAdaptor<SequentialPlan>


Field Summary
protected static inf.compilers.LexicalAnalyzer.TokenType actionsTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType actionTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType closebracketTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType domainTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType ignorableTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType openbracketTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType orderTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType paramsTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType planTT
          the token types used
protected  java.util.Properties props
          the properties used for reading and writing
protected  inf.compilers.LexicalAnalyzer scanner
          the lexical analyzer used for tokenizing the input
protected static inf.compilers.LexicalAnalyzer.TokenType sequenceTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType typeTT
          the token types used
 
Constructor Summary
PddlPlanAdaptor()
           This constructor creates a SyntaxAdaptor that can be used to read statements in a (propositional) KIF syntax and create a propositional Sentence for it, or it can be used to write out a propositional Sentence in KIF syntax.
 
Method Summary
protected  PddlPlanAdaptor clone()
           
 java.lang.Class<SequentialPlan> getInternalClass()
           This function returns the Class that holds the internal representation this adaptor translates to and from.
 java.lang.String getProperty(java.lang.String key)
           This function gets the property that is associated with the given key.
 java.lang.String getSyntaxName()
           This function returns the name that should identify the syntactical language that this adaptor translates to and from.
protected  SequentialPlan parsePlan()
           
 void prettyPrint(int indent, SequentialPlan plan, java.io.Writer w)
           This function takes a logical Sentence which is a Java Object in the internal representation, and writes it to the given Writer as a string conforming to the KIF syntax.
static void prettyPrintActions(int indent, java.util.List<Action> actions, java.io.Writer w, java.util.Properties props)
           
static void prettyPrintDomain(int indent, Domain domain, java.io.Writer w, java.util.Properties props)
           
static void prettyPrintOrder(int indent, SequentialPlan plan, java.io.Writer w, java.util.Properties props)
           
static void prettyPrintPlan(int indent, SequentialPlan plan, java.io.Writer w, java.util.Properties props)
           
 SequentialPlan read(java.io.Reader r)
           This function attempts to parse characters from the given Reader until a Sentence that represents an object in the internal representation has been parsed.
 void setProperty(java.lang.String key, java.lang.String value)
           This function sets the property associated with the given key to the given value.
 void write(SequentialPlan plan, java.io.Writer w)
           This function takes a logical Sentence which is a Java Object in the internal representation, and writes it to the given Writer as a string conforming to the KIF syntax.
static void writeAction(Action act, java.io.Writer w, java.util.Properties props)
           
static void writeActions(java.util.List<Action> actions, java.io.Writer w, java.util.Properties props)
           
static void writeDomain(Domain domain, java.io.Writer w, java.util.Properties props)
           
static void writeOrder(SequentialPlan plan, java.io.Writer w, java.util.Properties props)
           
static void writePlan(SequentialPlan plan, java.io.Writer w, java.util.Properties props)
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ignorableTT

protected static inf.compilers.LexicalAnalyzer.TokenType ignorableTT
the token types used


openbracketTT

protected static inf.compilers.LexicalAnalyzer.TokenType openbracketTT
the token types used


closebracketTT

protected static inf.compilers.LexicalAnalyzer.TokenType closebracketTT
the token types used


planTT

protected static inf.compilers.LexicalAnalyzer.TokenType planTT
the token types used


domainTT

protected static inf.compilers.LexicalAnalyzer.TokenType domainTT
the token types used


actionsTT

protected static inf.compilers.LexicalAnalyzer.TokenType actionsTT
the token types used


orderTT

protected static inf.compilers.LexicalAnalyzer.TokenType orderTT
the token types used


actionTT

protected static inf.compilers.LexicalAnalyzer.TokenType actionTT
the token types used


typeTT

protected static inf.compilers.LexicalAnalyzer.TokenType typeTT
the token types used


paramsTT

protected static inf.compilers.LexicalAnalyzer.TokenType paramsTT
the token types used


sequenceTT

protected static inf.compilers.LexicalAnalyzer.TokenType sequenceTT
the token types used


scanner

protected inf.compilers.LexicalAnalyzer scanner
the lexical analyzer used for tokenizing the input


props

protected java.util.Properties props
the properties used for reading and writing

Constructor Detail

PddlPlanAdaptor

public PddlPlanAdaptor()

This constructor creates a SyntaxAdaptor that can be used to read statements in a (propositional) KIF syntax and create a propositional Sentence for it, or it can be used to write out a propositional Sentence in KIF syntax.

Method Detail

clone

protected PddlPlanAdaptor clone()
                         throws java.lang.CloneNotSupportedException
Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException

getInternalClass

public java.lang.Class<SequentialPlan> getInternalClass()

This function returns the Class that holds the internal representation this adaptor translates to and from.

Specified by:
getInternalClass in interface inf.compilers.SyntaxAdaptor<SequentialPlan>
Returns:
the internal representation Class adapted to

getSyntaxName

public java.lang.String getSyntaxName()

This function returns the name that should identify the syntactical language that this adaptor translates to and from.

Specified by:
getSyntaxName in interface inf.compilers.SyntaxAdaptor<SequentialPlan>
Returns:
the name of the language adapted to

write

public void write(SequentialPlan plan,
                  java.io.Writer w)
           throws inf.compilers.ExpressivenessException,
                  java.io.IOException

This function takes a logical Sentence which is a Java Object in the internal representation, and writes it to the given Writer as a string conforming to the KIF syntax.

Specified by:
write in interface inf.compilers.SyntaxAdaptor<SequentialPlan>
Parameters:
stmt - a Sentence in the internal representation
w - the Writer to which the syntactical translation is written
Throws:
inf.compilers.ExpressivenessException - if the syntactical language cannot represent the given statement
java.io.IOException - if writing to the given Writer fails

prettyPrint

public void prettyPrint(int indent,
                        SequentialPlan plan,
                        java.io.Writer w)
                 throws inf.compilers.ExpressivenessException,
                        java.io.IOException

This function takes a logical Sentence which is a Java Object in the internal representation, and writes it to the given Writer as a string conforming to the KIF syntax.

Specified by:
prettyPrint in interface inf.compilers.SyntaxAdaptor<SequentialPlan>
Parameters:
indent - the amount of indentation for the first line
stmt - a Sentence in the internal representation
w - the Writer to which the syntactical translation is written
Throws:
inf.compilers.ExpressivenessException - if the syntactical language cannot represent the given statement
java.io.IOException - if writing to the given Writer fails

read

public SequentialPlan read(java.io.Reader r)
                    throws inf.compilers.ExpressivenessException,
                           java.text.ParseException,
                           java.io.IOException

This function attempts to parse characters from the given Reader until a Sentence that represents an object in the internal representation has been parsed.

Specified by:
read in interface inf.compilers.SyntaxAdaptor<SequentialPlan>
Parameters:
r - the Reader from which the representation is to be parsed
Returns:
the target internal representation
Throws:
inf.compilers.ExpressivenessException - if the internal representation class is not expressive enough for the given statement
java.text.ParseException - if there is a syntax error in the given string
java.io.IOException - if reading from the Reader fails

getProperty

public java.lang.String getProperty(java.lang.String key)

This function gets the property that is associated with the given key. Not e that the key should not be null.

Specified by:
getProperty in interface inf.compilers.SyntaxAdaptor<SequentialPlan>
Returns:
the property for the given key (or null if undefined)

setProperty

public void setProperty(java.lang.String key,
                        java.lang.String value)

This function sets the property associated with the given key to the given value. The given key must not be null, but the value may be.

Specified by:
setProperty in interface inf.compilers.SyntaxAdaptor<SequentialPlan>
Parameters:
key - the key with which the value is associated
value - the associated value

writePlan

public static void writePlan(SequentialPlan plan,
                             java.io.Writer w,
                             java.util.Properties props)
                      throws inf.compilers.ExpressivenessException,
                             java.io.IOException
Throws:
inf.compilers.ExpressivenessException
java.io.IOException

prettyPrintPlan

public static void prettyPrintPlan(int indent,
                                   SequentialPlan plan,
                                   java.io.Writer w,
                                   java.util.Properties props)
                            throws inf.compilers.ExpressivenessException,
                                   java.io.IOException
Throws:
inf.compilers.ExpressivenessException
java.io.IOException

writeDomain

public static void writeDomain(Domain domain,
                               java.io.Writer w,
                               java.util.Properties props)
                        throws inf.compilers.ExpressivenessException,
                               java.io.IOException
Throws:
inf.compilers.ExpressivenessException
java.io.IOException

prettyPrintDomain

public static void prettyPrintDomain(int indent,
                                     Domain domain,
                                     java.io.Writer w,
                                     java.util.Properties props)
                              throws inf.compilers.ExpressivenessException,
                                     java.io.IOException
Throws:
inf.compilers.ExpressivenessException
java.io.IOException

writeActions

public static void writeActions(java.util.List<Action> actions,
                                java.io.Writer w,
                                java.util.Properties props)
                         throws inf.compilers.ExpressivenessException,
                                java.io.IOException
Throws:
inf.compilers.ExpressivenessException
java.io.IOException

prettyPrintActions

public static void prettyPrintActions(int indent,
                                      java.util.List<Action> actions,
                                      java.io.Writer w,
                                      java.util.Properties props)
                               throws inf.compilers.ExpressivenessException,
                                      java.io.IOException
Throws:
inf.compilers.ExpressivenessException
java.io.IOException

writeAction

public static void writeAction(Action act,
                               java.io.Writer w,
                               java.util.Properties props)
                        throws inf.compilers.ExpressivenessException,
                               java.io.IOException
Throws:
inf.compilers.ExpressivenessException
java.io.IOException

writeOrder

public static void writeOrder(SequentialPlan plan,
                              java.io.Writer w,
                              java.util.Properties props)
                       throws inf.compilers.ExpressivenessException,
                              java.io.IOException
Throws:
inf.compilers.ExpressivenessException
java.io.IOException

prettyPrintOrder

public static void prettyPrintOrder(int indent,
                                    SequentialPlan plan,
                                    java.io.Writer w,
                                    java.util.Properties props)
                             throws inf.compilers.ExpressivenessException,
                                    java.io.IOException
Throws:
inf.compilers.ExpressivenessException
java.io.IOException

parsePlan

protected SequentialPlan parsePlan()
                            throws inf.compilers.ExpressivenessException,
                                   java.text.ParseException,
                                   java.io.IOException
Throws:
inf.compilers.ExpressivenessException
java.text.ParseException
java.io.IOException