ai.planning.strips
Class PddlDomainAdaptor

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

public class PddlDomainAdaptor
extends java.lang.Object
implements inf.compilers.SyntaxAdaptor<Domain>


Nested Class Summary
static class PddlDomainAdaptor.ParsingContext
           
 
Field Summary
protected static inf.compilers.LexicalAnalyzer.TokenType actionTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType andTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType closebracketTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType constantsTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType defineTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType domainTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType effectTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType extendsTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType ignorableTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType minusTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType notTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType openbracketTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType parametersTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType preconditionTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType predicatesTT
          the token types used
protected  java.util.Properties props
          the properties used for reading and writing
protected static inf.compilers.LexicalAnalyzer.TokenType requirementsTT
          the token types used
protected  inf.compilers.LexicalAnalyzer scanner
          the lexical analyzer used for tokenizing the input
protected static inf.compilers.LexicalAnalyzer.TokenType stripsTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType typesTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType typingTT
          the token types used
protected static inf.compilers.LexicalAnalyzer.TokenType variableTT
          the token types used
 
Constructor Summary
PddlDomainAdaptor()
           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  PddlDomainAdaptor clone()
           
 java.lang.Class<Domain> 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 static ActionType parseActionTypeNB(inf.compilers.LexicalAnalyzer scanner, java.util.Properties props, PddlDomainAdaptor.ParsingContext context)
           ::= ":action" [ ] [ ] ::= ":precondition" '(' ')' ::= ":effect" '(' ')' next token must be closing bracket!
protected static ai.krr.fol.Atom parseAtomNB(inf.compilers.LexicalAnalyzer scanner, java.util.Properties props, PddlDomainAdaptor.ParsingContext context)
           ::= ( | )* next token must be closing bracket!
protected static java.util.Set<ai.krr.ontologies.Instance> parseConstantsNB(inf.compilers.LexicalAnalyzer scanner, java.util.Properties props, PddlDomainAdaptor.ParsingContext context)
           ::= ":constants" * next token must be closing bracket!
protected static Domain parseDomain(inf.compilers.LexicalAnalyzer scanner, java.util.Properties props)
           
protected static ai.krr.NamedSymbol parseDomainName(inf.compilers.LexicalAnalyzer scanner, java.util.Properties props)
           ::= '(' domain ')'
protected static ai.krr.fol.Literal parseLiteralNB(inf.compilers.LexicalAnalyzer scanner, java.util.Properties props, PddlDomainAdaptor.ParsingContext context)
           ::= | not '(' ')' next token must be closing bracket!
protected static java.util.List<ai.krr.fol.Literal> parseLiteralsNB(inf.compilers.LexicalAnalyzer scanner, java.util.Properties props, PddlDomainAdaptor.ParsingContext context)
           ::= | and * next token must be closing bracket!
protected static java.util.List<ai.krr.fol.Variable> parseParameters(inf.compilers.LexicalAnalyzer scanner, java.util.Properties props, PddlDomainAdaptor.ParsingContext context)
           ::= ":parameters" '(' ')'
protected static ai.krr.fol.Atom parsePredicate(inf.compilers.LexicalAnalyzer scanner, java.util.Properties props, PddlDomainAdaptor.ParsingContext context)
           ::= '(' ')'
protected static java.util.List<ai.krr.fol.Atom> parsePredicatesNB(inf.compilers.LexicalAnalyzer scanner, java.util.Properties props, PddlDomainAdaptor.ParsingContext context)
           ::= ":predicates" * next token must be closing bracket!
protected static void parseRequirementsNB(inf.compilers.LexicalAnalyzer scanner, java.util.Properties props, PddlDomainAdaptor.ParsingContext context)
           ::= ":requirements" + ::= ":strips" | ":typing" next token must be closing bracket!
protected static java.util.List<inf.util.Pair<java.util.List<ai.krr.NamedSymbol>,ai.krr.NamedSymbol>> parseTypedSymbolsNB(inf.compilers.LexicalAnalyzer scanner, java.util.Properties props, PddlDomainAdaptor.ParsingContext context)
           ::= ( + [ - ])* next token must be closing bracket!
protected static java.util.List<ai.krr.fol.Variable> parseTypedVariablesNB(inf.compilers.LexicalAnalyzer scanner, java.util.Properties props, PddlDomainAdaptor.ParsingContext context)
           ::= ( * [ - ])* next token must be closing bracket!
protected static ai.krr.ontologies.Taxonomy parseTypesNB(inf.compilers.LexicalAnalyzer scanner, java.util.Properties props, PddlDomainAdaptor.ParsingContext context)
           ::= ":types" * next token must be closing bracket!
 void prettyPrint(int indent, Domain domain, 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.
protected static void prettyPrintActionType(int indent, ActionType aType, java.io.Writer w, java.util.Properties props)
           
static void prettyPrintDomain(int indent, Domain domain, java.io.Writer w, java.util.Properties props)
           
protected static int prettyPrintNegativeAtom(int indent, int usedInLine, int lineWidth, ai.krr.fol.Atom atom, java.io.Writer w, java.util.Properties props)
           
protected static int prettyPrintPositiveAtom(int indent, int usedInLine, int lineWidth, ai.krr.fol.Atom atom, java.io.Writer w, java.util.Properties props)
           
 Domain 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(Domain domain, 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.
protected static void writeActionType(ActionType aType, java.io.Writer w, java.util.Properties props)
           
static void writeDomain(Domain domain, java.io.Writer w, java.util.Properties props)
           
protected static void writeNegativeAtoms(ai.krr.fol.Atom[] atoms, java.io.Writer w, java.util.Properties props)
           
protected static void writePositiveAtoms(ai.krr.fol.Atom[] atoms, 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


defineTT

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


domainTT

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


extendsTT

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


requirementsTT

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


stripsTT

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


typingTT

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


typesTT

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


minusTT

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


constantsTT

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


predicatesTT

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


variableTT

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


actionTT

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


parametersTT

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


preconditionTT

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


effectTT

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


andTT

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


notTT

protected static inf.compilers.LexicalAnalyzer.TokenType notTT
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

PddlDomainAdaptor

public PddlDomainAdaptor()

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 PddlDomainAdaptor clone()
                           throws java.lang.CloneNotSupportedException
Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException

getInternalClass

public java.lang.Class<Domain> 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<Domain>
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<Domain>
Returns:
the name of the language adapted to

write

public void write(Domain domain,
                  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<Domain>
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,
                        Domain domain,
                        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<Domain>
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 Domain 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<Domain>
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<Domain>
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<Domain>
Parameters:
key - the key with which the value is associated
value - the associated value

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

writeActionType

protected static void writeActionType(ActionType aType,
                                      java.io.Writer w,
                                      java.util.Properties props)
                               throws inf.compilers.ExpressivenessException,
                                      java.io.IOException
Throws:
inf.compilers.ExpressivenessException
java.io.IOException

prettyPrintActionType

protected static void prettyPrintActionType(int indent,
                                            ActionType aType,
                                            java.io.Writer w,
                                            java.util.Properties props)
                                     throws inf.compilers.ExpressivenessException,
                                            java.io.IOException
Throws:
inf.compilers.ExpressivenessException
java.io.IOException

writePositiveAtoms

protected static void writePositiveAtoms(ai.krr.fol.Atom[] atoms,
                                         java.io.Writer w,
                                         java.util.Properties props)
                                  throws inf.compilers.ExpressivenessException,
                                         java.io.IOException
Throws:
inf.compilers.ExpressivenessException
java.io.IOException

prettyPrintPositiveAtom

protected static int prettyPrintPositiveAtom(int indent,
                                             int usedInLine,
                                             int lineWidth,
                                             ai.krr.fol.Atom atom,
                                             java.io.Writer w,
                                             java.util.Properties props)
                                      throws inf.compilers.ExpressivenessException,
                                             java.io.IOException
Throws:
inf.compilers.ExpressivenessException
java.io.IOException

writeNegativeAtoms

protected static void writeNegativeAtoms(ai.krr.fol.Atom[] atoms,
                                         java.io.Writer w,
                                         java.util.Properties props)
                                  throws inf.compilers.ExpressivenessException,
                                         java.io.IOException
Throws:
inf.compilers.ExpressivenessException
java.io.IOException

prettyPrintNegativeAtom

protected static int prettyPrintNegativeAtom(int indent,
                                             int usedInLine,
                                             int lineWidth,
                                             ai.krr.fol.Atom atom,
                                             java.io.Writer w,
                                             java.util.Properties props)
                                      throws inf.compilers.ExpressivenessException,
                                             java.io.IOException
Throws:
inf.compilers.ExpressivenessException
java.io.IOException

parseDomain

protected static Domain parseDomain(inf.compilers.LexicalAnalyzer scanner,
                                    java.util.Properties props)
                             throws inf.compilers.ExpressivenessException,
                                    java.text.ParseException,
                                    java.io.IOException
Parameters:
scanner - the LexicalAnalyzer from which tokens are parsed
props - the properties for parsing
Returns:
the declared name for this Domain
Throws:
inf.compilers.ExpressivenessException
java.text.ParseException
java.io.IOException

parseDomainName

protected static ai.krr.NamedSymbol parseDomainName(inf.compilers.LexicalAnalyzer scanner,
                                                    java.util.Properties props)
                                             throws inf.compilers.ExpressivenessException,
                                                    java.text.ParseException,
                                                    java.io.IOException
::= '(' domain ')'

Parameters:
scanner - the LexicalAnalyzer from which tokens are parsed
props - the properties for parsing
Returns:
the declared name for this Domain
Throws:
inf.compilers.ExpressivenessException
java.text.ParseException
java.io.IOException

parseRequirementsNB

protected static void parseRequirementsNB(inf.compilers.LexicalAnalyzer scanner,
                                          java.util.Properties props,
                                          PddlDomainAdaptor.ParsingContext context)
                                   throws inf.compilers.ExpressivenessException,
                                          java.text.ParseException,
                                          java.io.IOException
::= ":requirements" + ::= ":strips" | ":typing" next token must be closing bracket!

Parameters:
scanner - the LexicalAnalyzer from which tokens are parsed
props - the properties for parsing
context - declared requirements, extensions, variables, etc.
Throws:
inf.compilers.ExpressivenessException
java.text.ParseException
java.io.IOException

parseTypesNB

protected static ai.krr.ontologies.Taxonomy parseTypesNB(inf.compilers.LexicalAnalyzer scanner,
                                                         java.util.Properties props,
                                                         PddlDomainAdaptor.ParsingContext context)
                                                  throws inf.compilers.ExpressivenessException,
                                                         java.text.ParseException,
                                                         java.io.IOException
::= ":types" * next token must be closing bracket!

Parameters:
scanner - the LexicalAnalyzer from which tokens are parsed
props - the properties for parsing
context - declared requirements, extensions, variables, etc.
Returns:
the Taxonomy representing the declared concept hierarchy
Throws:
inf.compilers.ExpressivenessException
java.text.ParseException
java.io.IOException

parseConstantsNB

protected static java.util.Set<ai.krr.ontologies.Instance> parseConstantsNB(inf.compilers.LexicalAnalyzer scanner,
                                                                            java.util.Properties props,
                                                                            PddlDomainAdaptor.ParsingContext context)
                                                                     throws inf.compilers.ExpressivenessException,
                                                                            java.text.ParseException,
                                                                            java.io.IOException
::= ":constants" * next token must be closing bracket!

Parameters:
scanner - the LexicalAnalyzer from which tokens are parsed
props - the properties for parsing
context - declared requirements, extensions, variables, etc.
Returns:
the set of declared instances
Throws:
inf.compilers.ExpressivenessException
java.text.ParseException
java.io.IOException

parsePredicatesNB

protected static java.util.List<ai.krr.fol.Atom> parsePredicatesNB(inf.compilers.LexicalAnalyzer scanner,
                                                                   java.util.Properties props,
                                                                   PddlDomainAdaptor.ParsingContext context)
                                                            throws inf.compilers.ExpressivenessException,
                                                                   java.text.ParseException,
                                                                   java.io.IOException
::= ":predicates" * next token must be closing bracket!

Parameters:
scanner - the LexicalAnalyzer from which tokens are parsed
props - the properties for parsing
context - declared requirements, extensions, variables, etc.
Returns:
the List of declared predicates
Throws:
inf.compilers.ExpressivenessException
java.text.ParseException
java.io.IOException

parsePredicate

protected static ai.krr.fol.Atom parsePredicate(inf.compilers.LexicalAnalyzer scanner,
                                                java.util.Properties props,
                                                PddlDomainAdaptor.ParsingContext context)
                                         throws inf.compilers.ExpressivenessException,
                                                java.text.ParseException,
                                                java.io.IOException
::= '(' ')'

Parameters:
scanner - the LexicalAnalyzer from which tokens are parsed
props - the properties for parsing
context - declared requirements, extensions, variables, etc.
Returns:
the Atom corresponding to the declared predicate
Throws:
inf.compilers.ExpressivenessException
java.text.ParseException
java.io.IOException

parseActionTypeNB

protected static ActionType parseActionTypeNB(inf.compilers.LexicalAnalyzer scanner,
                                              java.util.Properties props,
                                              PddlDomainAdaptor.ParsingContext context)
                                       throws inf.compilers.ExpressivenessException,
                                              java.text.ParseException,
                                              java.io.IOException
::= ":action" [ ] [ ] ::= ":precondition" '(' ')' ::= ":effect" '(' ')' next token must be closing bracket!

Parameters:
scanner - the LexicalAnalyzer from which tokens are parsed
props - the properties for parsing
context - declared requirements, extensions, variables, etc.
Returns:
the ActionType that has been parsed
Throws:
inf.compilers.ExpressivenessException
java.text.ParseException
java.io.IOException

parseParameters

protected static java.util.List<ai.krr.fol.Variable> parseParameters(inf.compilers.LexicalAnalyzer scanner,
                                                                     java.util.Properties props,
                                                                     PddlDomainAdaptor.ParsingContext context)
                                                              throws inf.compilers.ExpressivenessException,
                                                                     java.text.ParseException,
                                                                     java.io.IOException
::= ":parameters" '(' ')'

Parameters:
scanner - the LexicalAnalyzer from which tokens are parsed
props - the properties for parsing
context - declared requirements, extensions, variables, etc.
Returns:
the Variables that have been parsed as parameters
Throws:
inf.compilers.ExpressivenessException
java.text.ParseException
java.io.IOException

parseLiteralsNB

protected static java.util.List<ai.krr.fol.Literal> parseLiteralsNB(inf.compilers.LexicalAnalyzer scanner,
                                                                    java.util.Properties props,
                                                                    PddlDomainAdaptor.ParsingContext context)
                                                             throws inf.compilers.ExpressivenessException,
                                                                    java.text.ParseException,
                                                                    java.io.IOException
::= | and * next token must be closing bracket!

Parameters:
scanner - the LexicalAnalyzer from which tokens are parsed
props - the properties for parsing
context - declared requirements, extensions, variables, etc.
Returns:
the Literals that have been parsed
Throws:
inf.compilers.ExpressivenessException
java.text.ParseException
java.io.IOException

parseLiteralNB

protected static ai.krr.fol.Literal parseLiteralNB(inf.compilers.LexicalAnalyzer scanner,
                                                   java.util.Properties props,
                                                   PddlDomainAdaptor.ParsingContext context)
                                            throws inf.compilers.ExpressivenessException,
                                                   java.text.ParseException,
                                                   java.io.IOException
::= | not '(' ')' next token must be closing bracket!

Parameters:
scanner - the LexicalAnalyzer from which tokens are parsed
props - the properties for parsing
context - declared requirements, extensions, variables, etc.
Returns:
the Literal that has been parsed
Throws:
inf.compilers.ExpressivenessException
java.text.ParseException
java.io.IOException

parseAtomNB

protected static ai.krr.fol.Atom parseAtomNB(inf.compilers.LexicalAnalyzer scanner,
                                             java.util.Properties props,
                                             PddlDomainAdaptor.ParsingContext context)
                                      throws inf.compilers.ExpressivenessException,
                                             java.text.ParseException,
                                             java.io.IOException
::= ( | )* next token must be closing bracket!

Parameters:
scanner - the LexicalAnalyzer from which tokens are parsed
props - the properties for parsing
context - declared requirements, extensions, variables, etc.
Returns:
the Atom that has been parsed
Throws:
inf.compilers.ExpressivenessException
java.text.ParseException
java.io.IOException

parseTypedSymbolsNB

protected static java.util.List<inf.util.Pair<java.util.List<ai.krr.NamedSymbol>,ai.krr.NamedSymbol>> parseTypedSymbolsNB(inf.compilers.LexicalAnalyzer scanner,
                                                                                                                          java.util.Properties props,
                                                                                                                          PddlDomainAdaptor.ParsingContext context)
                                                                                                                   throws inf.compilers.ExpressivenessException,
                                                                                                                          java.text.ParseException,
                                                                                                                          java.io.IOException
::= ( + [ - ])* next token must be closing bracket!

Parameters:
scanner - the LexicalAnalyzer from which tokens are parsed
props - the properties for parsing
context - declared requirements, extensions, variables, etc.
Returns:
the List parsed type relations
Throws:
inf.compilers.ExpressivenessException
java.text.ParseException
java.io.IOException

parseTypedVariablesNB

protected static java.util.List<ai.krr.fol.Variable> parseTypedVariablesNB(inf.compilers.LexicalAnalyzer scanner,
                                                                           java.util.Properties props,
                                                                           PddlDomainAdaptor.ParsingContext context)
                                                                    throws inf.compilers.ExpressivenessException,
                                                                           java.text.ParseException,
                                                                           java.io.IOException
::= ( * [ - ])* next token must be closing bracket!

Parameters:
scanner - the LexicalAnalyzer from which tokens are parsed
props - the properties for parsing
context - declared requirements, extensions, variables, etc.
Returns:
the List of parsed Variables
Throws:
inf.compilers.ExpressivenessException
java.text.ParseException
java.io.IOException