edu.udo.cs.ie.cowbots.logic
Class Alphabet

Package class diagram package Alphabet
java.lang.Object
  extended by edu.udo.cs.ie.cowbots.logic.Alphabet

public class Alphabet
extends java.lang.Object

this class models an alphabet, the set of all predicate symbols appearing in an extended logic program.


Field Summary
(package private)  java.util.Set<java.lang.String> allSet
           
(package private)  java.util.Set<java.lang.String> bodySet
           
(package private)  java.util.Set<java.lang.String> headSet
           
(package private)  java.util.Set<java.lang.String> sharedSet
           
 
Constructor Summary
Alphabet()
          default constructor, results in an empty alphabet
Alphabet(ELP program)
          constructs an alphabet based on a given program
 
Method Summary
 void addBodySymbol(java.lang.String sym)
          adds a symbol appearing in a body of a program to the alphabet
 void addHeadSymbol(java.lang.String sym)
          adds a symbol appearing in a head of a program to the alphabet
 void addSymbols(ELP program)
          adds all functors symbols in a given program to the alphabet
 java.util.Set<java.lang.String> getBodySymbols()
          returns the set of all functor names that appear at least in a body of a program rule
 java.util.Set<java.lang.String> getHeadSymbols()
          returns the set of all functor names that appear at least in a head of a program rule
 java.util.Set<java.lang.String> getSharedSymbols()
          returns the set of all functor names that appear in a head and a body of some rules in a program
 java.util.Set<java.lang.String> getSymbols()
          returns the set of all functor names appearing in a program
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

headSet

java.util.Set<java.lang.String> headSet

bodySet

java.util.Set<java.lang.String> bodySet

sharedSet

java.util.Set<java.lang.String> sharedSet

allSet

java.util.Set<java.lang.String> allSet
Constructor Detail

Alphabet

public Alphabet()
default constructor, results in an empty alphabet


Alphabet

public Alphabet(ELP program)
constructs an alphabet based on a given program

Parameters:
program - initial program to build alphabet from
Method Detail

addSymbols

public void addSymbols(ELP program)
adds all functors symbols in a given program to the alphabet

Parameters:
program - logical program to add symbols from

getHeadSymbols

public java.util.Set<java.lang.String> getHeadSymbols()
returns the set of all functor names that appear at least in a head of a program rule

Returns:
set of head symbols

getBodySymbols

public java.util.Set<java.lang.String> getBodySymbols()
returns the set of all functor names that appear at least in a body of a program rule

Returns:
set of head symbols

getSharedSymbols

public java.util.Set<java.lang.String> getSharedSymbols()
returns the set of all functor names that appear in a head and a body of some rules in a program

Returns:
set of intersection of head and body symbols

getSymbols

public java.util.Set<java.lang.String> getSymbols()
returns the set of all functor names appearing in a program

Returns:
set of all symbols

addHeadSymbol

public void addHeadSymbol(java.lang.String sym)
adds a symbol appearing in a head of a program to the alphabet

Parameters:
sym - functor symbol to add

addBodySymbol

public void addBodySymbol(java.lang.String sym)
adds a symbol appearing in a body of a program to the alphabet

Parameters:
sym - functor symbol to add

toString

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