Java Doc for Term.java in  » Testing » KeY » de » uka » ilkd » key » logic » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Testing » KeY » de.uka.ilkd.key.logic 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   de.uka.ilkd.key.logic.Term

All known Subclasses:   de.uka.ilkd.key.logic.ProgramTerm,  de.uka.ilkd.key.logic.QuanUpdateTerm,  de.uka.ilkd.key.logic.BoundVarsTerm,  de.uka.ilkd.key.logic.SubstitutionTerm,  de.uka.ilkd.key.logic.IfExThenElseTerm,  de.uka.ilkd.key.logic.QuantifierTerm,  de.uka.ilkd.key.logic.OpTerm,
Term
abstract public class Term implements SVSubstitute(Code)
In contrast to the distinction of formulas and terms as made by most of the inductive definition of the syntax of a logic, an instance of this class can stand for a term or a formula. This is done for implementation reasons, as their structure is quite similar and there are good reasons concerning the software's design/architecture (for example using same visitors, reduction of case distinction, unified interfaces etc.). However, they are strictly separated by their sorts. A formula (and just a formula) must have the sort Sort.FORMULA . Terms of a different sort are terms in the customary logic sense. A term of sort formula is allowed exact there, where a formuala in logic is allowed to appear, same for terms of different sorts. Some words about other design decisions:
  1. terms are immutable, this means after a term object is created, it cannot be changed. The advantage is that we can use term sharing and saving a lot of memory space.
  2. Term has to be created using the TermFactory and not by using the constructors itself.
  3. Term is subclassed, but all subclasses have to be package private, so that all other classes except TermFactory know only the class Term and its interface. Even most classes of the logic package.
  4. as it is immutable, most (all) attributes should be declared final
Term supports the Visitor pattern. Two different visit strategies are currently supported: Term.execPostOrder(Visitor) and Term.execPreOrder(Visitor) .


Field Summary
final public static  ArrayOfQuantifiableVariableEMPTY_VAR_LIST
    
protected  SetOfQuantifiableVariablefreeVars
    
protected  SetOfMetavariablemetaVars
    

Constructor Summary
protected  Term(Operator op, Sort sort)
    

Method Summary
abstract public  intarity()
    
protected  intcalculateHash()
    
public  Termchecked()
     checks whether the Term is valid on the top level.
abstract public  intdepth()
    
public  booleanequals(Object o)
    
public  booleanequalsModRenaming(Object o)
    
public  voidexecPostOrder(Visitor visitor)
    
public  voidexecPreOrder(Visitor visitor)
    
public  JavaBlockexecutableJavaBlock()
     The primary diamond in this formula.
protected  voidfillCaches()
    
public  SetOfQuantifiableVariablefreeVars()
    
public  booleanhasRigidSubterms()
    
public  inthashCode()
    
final public  booleanisRigid()
     retrieves if the evaluation of the term is state independant.
public  JavaBlockjavaBlock()
    
public  SetOfMetavariablemetaVars()
    
public  Operatorop()
    
public  Sortsort()
    
abstract public  Termsub(int nr)
    
public  TermsubAt(PosInTerm pos)
     returns subterm at the position specified by the given PosInTerm pos.
public  StringtoString()
    
public  voidtree()
    
abstract public  ArrayOfQuantifiableVariablevarsBoundHere(int n)
    

Field Detail
EMPTY_VAR_LIST
final public static ArrayOfQuantifiableVariable EMPTY_VAR_LIST(Code)
empty list of variables



freeVars
protected SetOfQuantifiableVariable freeVars(Code)
caches the free variables of this term



metaVars
protected SetOfMetavariable metaVars(Code)
caches the meta variables of this term




Constructor Detail
Term
protected Term(Operator op, Sort sort)(Code)
creates a Term with top operator op
Parameters:
  op - Operator at the top of the termstructure that startshere.
Parameters:
  sort - the Sort of the term




Method Detail
arity
abstract public int arity()(Code)
returns the arity of the term arity of the term



calculateHash
protected int calculateHash()(Code)



checked
public Term checked()(Code)
checks whether the Term is valid on the top level. If this is the case this method returns the Term unmodified. Otherwise a TermCreationException is thrown. this Term if the top level of the Term is valid.



depth
abstract public int depth()(Code)
returns the longest path from the top of the term to one of its leaves an int representing the depth of this term



equals
public boolean equals(Object o)(Code)
true if o is syntactical equal to this term
Parameters:
  o - the Object to be compared with this term true iff the given Term has the same values inoperator, sort, arity, varsBoundHere and javaBlock as this object.



equalsModRenaming
public boolean equalsModRenaming(Object o)(Code)
compares if two terms are equal modulo bound renaming true iff the given Term has the same values inoperator, sort, arity, varsBoundHere and javaBlock as this objectmodulo bound renaming



execPostOrder
public void execPostOrder(Visitor visitor)(Code)
the visitor is handed through till the bottom of the tree and then it walks upwards while at each upstep the method visit of the visitor is called
Parameters:
  visitor - the Visitor



execPreOrder
public void execPreOrder(Visitor visitor)(Code)
the visitor walks downwards the tree while at each downstep the method visit of the visitor is called
Parameters:
  visitor - the Visitor



executableJavaBlock
public JavaBlock executableJavaBlock()(Code)
The primary diamond in this formula. Note that the default implementation is the same as javaBlock() but the semantics is different. See SimultaneousUpdateTerm.



fillCaches
protected void fillCaches()(Code)
fills the cache variables must be called in the constructors



freeVars
public SetOfQuantifiableVariable freeVars()(Code)
returns the set of free quantifiable variables occuring in this term the SetOfFree



hasRigidSubterms
public boolean hasRigidSubterms()(Code)
true iff all subterms of this term are rigid accordingto the value the method "isRigid" returns for them (this doesnot imply this term to be rigid itself!)



hashCode
public int hashCode()(Code)
returns the hashcode of the term the hashcode of the Term.



isRigid
final public boolean isRigid()(Code)
retrieves if the evaluation of the term is state independant. It is guaranteed that if the result is true then the value is state independant. In case of false no such guarantee is given i.e. the terms value may be the same in all states or not. (safe approximation) false if the value of this term may be changed bymodalities (otherwise, however, the result may also be false)



javaBlock
public JavaBlock javaBlock()(Code)
JavaBlock if term has diamond at the top level



metaVars
public SetOfMetavariable metaVars()(Code)
returns the set of metavariables that are part of this term (metavariables are thought as placeholder for some gound term, whereas the variables in freeVars are bound by some quantifier above) the set of metavariables



op
public Operator op()(Code)
the top operator in "A and B" it is "and", in f(x,y) it is "f" operator at the top



sort
public Sort sort()(Code)
returns the sort of the term the sort of the term



sub
abstract public Term sub(int nr)(Code)
returns the nr-th direct subterm
Parameters:
  nr - the int specifying the nr-th direct subterm



subAt
public Term subAt(PosInTerm pos)(Code)
returns subterm at the position specified by the given PosInTerm pos.
Parameters:
  pos - the position of the wanted subterm the subterm that is specified by pos



toString
public String toString()(Code)
returns a linearized textual representation of this term



tree
public void tree()(Code)



varsBoundHere
abstract public ArrayOfQuantifiableVariable varsBoundHere(int n)(Code)
returns the array of variables the top level operator binds at the n-th sub term the bound variables for the n-th subterm



Methods inherited from java.lang.Object
protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object o)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
public int hashCode()(Code)(Java Doc)
final public void notify() throws IllegalMonitorStateException(Code)(Java Doc)
final public void notifyAll() throws IllegalMonitorStateException(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final public void wait() throws IllegalMonitorStateException, InterruptedException(Code)(Java Doc)
final public void wait(long ms) throws IllegalMonitorStateException, InterruptedException(Code)(Java Doc)
final public void wait(long ms, int ns) throws IllegalMonitorStateException, InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.