Uses of Interface
dev.civl.abc.ast.node.IF.ASTNode
Packages that use ASTNode
Package
Description
Submodule ast.entity defines entities
(objects of type
Entity),
the abstract things such as types, structures, unions, enumerations,
objects (variables), functions, and so on,
which can be named by identifiers in a program.Module ast defines an Abstract Syntax Tree
representation of a program, the
AST.Submodule ast.node defines every kind of
node in an AST.
The ast.node.compound submodule
defines nodes and related classes for representing
compound initializers.
The ast.node.declaration submodule defines nodes
and other object deadling with declarations in a program.
The ast.node.expression submodule defines AST nodes
for representing expressions in a program.
The ast.node.label submodule defines AST nodes for representing labels
in a program, including ordinary labels, and the
case and default
labels used in switch statements.The ast.node.omp submodule defines AST nodes for representing
OpenMP constructs, which are specified in
omp pragmas.The ast.node.statement submodule defines AST
nodes for representing statements in a program.
The ast.node.type submodule defines AST nodes
for representing type constructs in a program.
-
Uses of ASTNode in dev.civl.abc.ast.entity.IF
Methods in dev.civl.abc.ast.entity.IF with parameters of type ASTNodeModifier and TypeMethodDescriptionEntityFactory.newScope(Scope.ScopeKind kind, Scope parent, ASTNode root) Creates a new scope. -
Uses of ASTNode in dev.civl.abc.ast.IF
Methods in dev.civl.abc.ast.IF that return ASTNodeModifier and TypeMethodDescriptionAST.getNode(int id) Returns the node with the given id number.DifferenceObject.getThatNode()DifferenceObject.getThisNode()Methods in dev.civl.abc.ast.IF with parameters of type ASTNodeModifier and TypeMethodDescriptionstatic voidASTs.prettyPrint(ASTNode node, PrintStream out) Prints an AST node in the form of the original programming language.static StringBufferASTs.prettyRepresentation(ASTNode node, int maxLength) Constructors in dev.civl.abc.ast.IF with parameters of type ASTNodeModifierConstructorDescriptionDifferenceObject(ASTNode node, boolean isThisNull) DifferenceObject(ASTNode thisNode, ASTNode thatNode) DifferenceObject(ASTNode thisNode, ASTNode thatNode, DifferenceObject.DiffKind kind) DifferenceObject(ASTNode thisNode, ASTNode thatNode, DifferenceObject.DiffKind other, String message) -
Uses of ASTNode in dev.civl.abc.ast.node.IF
Classes in dev.civl.abc.ast.node.IF with type parameters of type ASTNodeModifier and TypeInterfaceDescriptioninterfaceA node with two children, the first of type S and the second of type T.interfaceA node with two children, the first of type S and the second of type T.interfaceSequenceNode<T extends ASTNode>A node in which all children have typeT.Subinterfaces of ASTNode in dev.civl.abc.ast.node.IFModifier and TypeInterfaceDescriptioninterfaceRepresents the association between a type and an expression for use in a generic selection expression.interfaceAn identifier can denote: (1) an object, (2) a function, (3) a tag of a structure, union, or enumeration, (4) a member of a structure, union, or enumeration, (5) a typedef name, or (6) a label name.interfaceA node with two children, the first of type S and the second of type T.interfaceA pragma may be included in the AST wherever a statement or an external definition may occur.interfaceSequenceNode<T extends ASTNode>A node in which all children have typeT.interfaceA static assertion has syntax_Static_assert ( constant-expression , string-literal ).Methods in dev.civl.abc.ast.node.IF with type parameters of type ASTNodeModifier and TypeMethodDescriptionNodeFactory.newPairNode(Source source, S node1, T node2) Creates a new ordered pair node, i.e., a node with exactly two children belonging to two specific classes.NodeFactory.newPairNode(Source source, S node1, T node2) Creates a new ordered pair node, i.e., a node with exactly two children belonging to two specific classes.<T extends ASTNode>
SequenceNode<T> NodeFactory.newSequenceNode(Source source, String name, List<T> nodes) Creates a new sequence node, i.e., a node which has some finite ordered sequence of children belonging to a particular class.Methods in dev.civl.abc.ast.node.IF that return ASTNodeModifier and TypeMethodDescriptionASTNode.child(int index) Returns the index-th child node of this AST node.ASTNode.copy()Returns a deep copy of this AST node.ASTNode.nextDFS()Finds next non-null node in AST in DFS order.ASTNode.parent()Returns the parent of this node, ornullif this node has no parent.ASTNode.removeChild(int index) Removes the child at givenindexfrom this node.Sets the child node at the given index.Methods in dev.civl.abc.ast.node.IF that return types with arguments of type ASTNodeModifier and TypeMethodDescriptionASTNode.children()Returns the sequence of children of this node as an iterable object.Methods in dev.civl.abc.ast.node.IF with parameters of type ASTNodeModifier and TypeMethodDescriptionReturns the first difference between this AST node and that node.booleanIs the given AST node equivalent to me?booleanApplies this predicate to the given node.Sets the child node at the given index. -
Uses of ASTNode in dev.civl.abc.ast.node.IF.acsl
Subinterfaces of ASTNode in dev.civl.abc.ast.node.IF.acslModifier and TypeInterfaceDescriptioninterfaceThis represents an ACSL allocation clause, which has the syntax
allocates p1, p2, p3;
or
frees p1, p2, p3;interfaceThis represents ACSL-CIVLC\anyactaction to be used independscontract clauses.interfaceAn ACSLassignsor ACSL-CIVLCreadsclause specifies a set of existing memory units.interfaceThis represents an ACSLassumesclause, which has the following syntax:interfaceThis represents a named behavior of the ACSL specification.interfaceAn event that represents a function call with certain arguments, which is a kind of Depends Event.interfaceThis represents the completeness clause of ACSL, which could be eithercompleteordisjointinterfaceAn composite eventinterfaceA contract node represents an element that may occur in a procedure contract.interfaceThis represents an event of thedependsclause.interfaceAdependsclause specifies part of the dependence relation used in partial order reduction (POR).interfaceAn "ensures" clause in a procedure contract clause that represents a post-condition.interfaceThis represents an ACSL extended quantification expression.interfaceinterfaceinterfaceinterfaceinterfaceThis represents aguardsclause that specifies a guard for a function.interfaceinterfaceinterfaceA depends event which specifies reading or writing a list of memory units.interfaceThis represents the no-act event\noact, which is an event ofdependsclauses.interfaceConstant$nothing, argument of$assigns / $readscontract clauses.interfaceThis represents a$object_ofof$region_ofexpression.interfaceThe ACSL predicate node, which in the view of ABC, is just a function with a boolean return type.interfaceArequiresclause in a CIVL-C procedure contract.interface -
Uses of ASTNode in dev.civl.abc.ast.node.IF.compound
Subinterfaces of ASTNode in dev.civl.abc.ast.node.IF.compoundModifier and TypeInterfaceDescriptioninterfaceAn array designator specifies the index of an element of an array being initialized.interfaceA compound initializer (written with curly braces in C) is used to initialize an array, struct, or union.interfaceA designation node specifies a sequence of designators.interfaceA designator is used in a compound initializer to specify a part of a compound structure.interfaceA field designator is used in an initializer for a struct or union.Methods in dev.civl.abc.ast.node.IF.compound that return ASTNodeModifier and TypeMethodDescriptionCompoundLiteralObject.getSourceNode()Returns the corresponding AST node of the compound literal object. -
Uses of ASTNode in dev.civl.abc.ast.node.IF.declaration
Subinterfaces of ASTNode in dev.civl.abc.ast.node.IF.declarationModifier and TypeInterfaceDescriptioninterfaceAn abstract function definition contains the information for an abstract function (i.e.interfaceThe root of the declaration node type hierarchy.interfaceThe declaration of an enumerator (enumeration constant) within an enumeration type definition.interfaceRepresents a declaration of a field (member) in a struct or union type.interfaceA node representing a function declaration.interfaceRepresents a function definition, i.e., a function declaration which includes the function body.interfaceA marker interface for any node that can be used as an initializer.interfaceA declaration of a variable or function via a C "declarator".interfaceA CIVL-C scope-parameterized declaration node.interfaceA node representing a typedef declaration.interfaceA declaration of a variable ("object"). -
Uses of ASTNode in dev.civl.abc.ast.node.IF.expression
Subinterfaces of ASTNode in dev.civl.abc.ast.node.IF.expressionModifier and TypeInterfaceDescriptioninterfaceThe_Alignof(typename)operator.interfaceA CIVL-C array lambda expression, including three components, bound variable declaration list, (optional) restriction and expression.interfaceAn expression in which the operator is the C->(arrow) operator.interfaceA C cast expression has the form(typeName)expr.interfaceAn instance of this interface represents a single Unicode character occurring as a literal element in a C program.interfaceCompound literals are used to represent literal array, structure, and union values.interfaceA "constant" in the sense of the C11 Standard.interfaceA CIVL-C derivative expression is a function call to the partial derivative of an abstract function.interfaceA C expression in which the operator is the.(dot) operator, used to specify a member of a structure or union.interfaceAn enumeration constant node represents a use of an enumeration constant as an expression.interfaceA node representing any kind of C expression.interfaceA floating constant node represents an occurrence of a literal floating point number in a program.interfaceNode representing a function call.interfaceRepresents a C11 generic selection construct; see C11 Section 6.5.1.1.interfaceA node representing one of the two CIVL-C constant expressions of type$scope:$here(the dynamic scope in which the expression is evaluated), or$root(representing the root dynamic scope).interfaceRepresents the use of an identifier as an expression.interfaceAn integer constant node represents the occurrence of a literal integer constant in a program.interfaceA lambda function, including two/three components, a bound variable declaration (optional) and the lambda term.interfaceA node that represents an expression built using an operator.interfaceRepresents the CIVL-C null process constant$proc_null, which is a constant of type$proc.interfaceA CIVL-C quantified expression, including three components, bound variable declaration list, (optional) restriction and expression.interfaceRepresents a CIVL-C regular range expression, which has the formlo ..interfaceA CIVL-C remote expression is used to reference a variable in another process.interfaceRepresents the CIVL-C built-in variable$result, which represents the value returned by a function.interfaceRepresents a CIVL-C scope-of expression, which has the form$scopeof(lhs), wherelhsis a left-hand-side expression.interfaceRepresents the CIVL-C built-in variable$self, which has type$scopeand evaluates to the dynamic scope in which the variable is being evaluated.interfaceAn interface indicating that this object can be used as an argument to the Csizeofoperator.interfaceRepresents a Csizeof(...)expression.interfaceRepresents a CIVL-C$spawnexpression, which has the form$spawn f(e1,...,en).interfaceThis represents a GNU C statement expression.interfaceRepresents the CIVL-C null state constant$state_null, which is a constant of type$state.interfaceRepresents an occurrence of a string literal in a program, which is a string surrounded by double quotes.interface -
Uses of ASTNode in dev.civl.abc.ast.node.IF.label
Subinterfaces of ASTNode in dev.civl.abc.ast.node.IF.labelModifier and TypeInterfaceDescriptioninterfaceRepresents a label in a program.interfaceRepresents an ordinary label (i.e., a label which is not acaseordefaultlabel).interfaceRepresents a label in aswitchstatement of the formcase constant-expression:ordefault:. -
Uses of ASTNode in dev.civl.abc.ast.node.IF.omp
Subinterfaces of ASTNode in dev.civl.abc.ast.node.IF.ompModifier and TypeInterfaceDescriptioninterfaceThis represents an OpenMP atomic construct, which has the syntax:interfaceThis represents an OpenMP declarative directive, which can only be placed in a declarative context.interfaceinterfaceRepresents an OpenMP executable Construct.
The children of an OmpExecutableNode are: SequenceNode<IdentifierExpressionNode> "sharedList", the list of identifiers declared bysharedSequenceNode<IdentifierExpressionNode> "privateList", the list of identifiers declared byprivateSequenceNode<IdentifierExpressionNode> "firstprivateList", the list of identifiers declared byfirstprivateSequenceNode<IdentifierExpressionNode> "lastprivateList", the list of identifiers declared bylastprivateSequenceNode<IdentifierExpressionNode> "copyinList", the list of identifiers declared bycopyinSequenceNode<IdentifierExpressionNode> "copyprivateList", the list of identifiers declared bycopyprivateSequenceNode<OmpReductionNode> "reductionList", the list of operators and identifiers declared byreductionStatementNode, the statement node affected by this pragma.interfaceThis interface represents the OpenMP loop construct.interfaceThis represents an OpenMP reduction identifier.interfaceA node representing any kind of an OpenMP pragma.interfaceThis represents an OpenMP parallel pragma.interfaceThis represents an OpenMP reduction clause.interfaceA simd directive, which may have the following clauses: if([simd :]scalar-logical-expression) safelen(length) simdlen(length) linear(list[ : linear-step]) aligned(list[ : alignment]) nontemporal(list) private(list) lastprivate([ lastprivate-modifier:] list) reduction([ reduction-modifier,]reduction-identifier : list) collapse(n) order(concurrent)interfaceThis represents an OpenMP reduction clause with the reduction operator being one of the following operators:
For C:max,min,+,-,*,invalid input: '&',|,^,invalid input: '&'invalid input: '&', and||
For Fortran: (NOT case sensitive)MAX,MIN,+,-,*,IAND,IOR,IEOR,.AND.,.OR.,.EQV.and.NEQV.interfaceThis interface stands for synchronization constructs of OpenMP, including: master critical barrier flush atomic Currently, taskwait and atomic constructs are not supported.interfaceThis represents an OpenMP worksharing construct, either a loop, sections/section, or single construct.Methods in dev.civl.abc.ast.node.IF.omp that return ASTNodeModifier and TypeMethodDescriptionOmpSimdNode.setSafelen(ConstantNode arg) OmpSimdNode.setSimdlen(ConstantNode arg) -
Uses of ASTNode in dev.civl.abc.ast.node.IF.statement
Subinterfaces of ASTNode in dev.civl.abc.ast.node.IF.statementModifier and TypeInterfaceDescriptioninterfaceAn atomic node represents a CIVL-C$atomicstatement.interfaceAn item that can appear in a "block".interfaceA "choose" statement has the form "choose { s1 ...interfaceRepresents a CIVL$foror$parforstatement.interfaceA compound statement is a sequence of statements and declarations within curly braces: "{ ...interfaceA list of variable declarations, such as might occur as an initializer in aforloop.interfaceinterfaceA marker interface indicating this construct can be used as the first clause in aforloop.interfaceA for loop, in addition to the expression and body that all loops possess, has an initializer and incrementer.interfaceRepresents a C "goto labelName;" statement.interfaceinterfaceinterfaceinterfaceRoot of type hierarchy for every kind of loop statement.interfaceA null statement: ";".interfaceinterfaceRepresents a CIVL-C$runexpression, which has the form$run statement.The statement s can be any singleStatementNodeor aCompoundStatementNodewhich is wrapped by a pair of curly braces.interfaceinterfaceRepresents a Cswitchstatement.interfaceThis node represents an expression$update($collator c) f().interfaceRepresents a CIVL-C guarded command. -
Uses of ASTNode in dev.civl.abc.ast.node.IF.type
Subinterfaces of ASTNode in dev.civl.abc.ast.node.IF.typeModifier and TypeInterfaceDescriptioninterfaceRepresents an array type.interfaceAn atomic type, specified by "_Atomic ( type-name )".interfaceinterfaceRepresents use of the CIVL-C domain type, either "$domain" alone, or one of the sub-types "$domain(n)" for some positive integer constant n.interfaceAn enumeration type.interfaceinterfaceATypeNoderepresenting a $lambda(free-var-type:func-type) typeinterfaceinterfaceinterfaceinterfaceinterfaceGNU C language reference 6.6 Referring to a Type with typeof Another way to refer to the type of an expression is with typeof.