public class SignalTreeBuilting
extends java.lang.Object
Constructor and Description |
---|
SignalTreeBuilting() |
Modifier and Type | Method and Description |
---|---|
void |
addDeclarationToInterface(long modelNode,
long declNode,
IdentifierKind kind)
Adds a declaration to a model.
|
long |
addDeclarationToList(long listNode,
long declNode)
Adds a declaration to a list of declarations.
|
long |
addEmptyInterface(long modelNode)
Adds an empty interface to a process.
|
long |
addEndDeclarationToList(long listNode,
long declNode)
Adds a declaration to the end of the list of declarations.
|
void |
addExpressionOfProcessToaModel(long modelNode,
long procExprNode)
Adds a process expression to a process model.
|
long |
addExprToComposition_Post(long compListNode,
long procExprNode)
Adds an element to a composition list.
|
long |
addExprToComposition_Pre(long compListNode,
long procExprNode)
Adds an element at the head of a composition list.
|
void |
addFlowDeclaration(long declListNode,
long typeNode,
long declNode)
Inserts in a list of declarations the declaration of a signal/constant.
|
void |
addLabelsInModel(long idListNode,
long modelNode)
Declares a list of identifiers as labels in a model process.
|
long |
addLocalBlock(long modelNode)
Adds a "where" area in second child of a model process.
|
void |
addLocalDeclaration(long modelNode,
long declNode)
Adds a declaration as local to a model or a module.
|
void |
addPragma(long modelNode,
long pragmaNode)
Adds a pragma to a model process.
|
void |
addProcessDeclaration(long modelNode,
long modelDeclNode)
Adds a process declaration to a model/module.
|
void |
addSpecification(long modelNode,
long specNode)
Adds a specification object to a process model.
|
long |
addSynchroTree(long listNode,
long exprNode) |
long |
addTypeToTypes(long typeDeclListNode,
long typeDeclNode)
Adds a type declaration to a list of type declarations.
|
long |
copy(long node,
boolean copyAttr) |
void |
deleteParameters(long modelNode)
Removes the parameters tree of a model.
|
long |
duplicateInterfaceWithoutSpec(long modelNode)
Copy the interface of a model without the specification expressions.
|
void |
importDeclarations(long modelNodeDst,
long modelNodeSrc)
Inserts in a destination model a copy of all the local declarations of a source model.
|
void |
importDeclsFromTo(long idListNode,
long modelNodeSrc,
long modelNodeDst)
Adds the declaration of identifiers of a process to another process.
|
void |
maskSignals(long modelNode,
long signalListNode)
Modifies the body of the process model by adding masking for some signals.
|
void |
mergeDeclarations(long modelNodeDst,
long modelNodeSrc)
Appends the declarations of a source process model to the declarations of a destination one.
|
void |
mergeExprProc(long modelNodeDst,
long modelNodeSrc)
Adds the body of a source process model to the body of a destination one.
|
void |
mergeLocalDecl(long declListNodeDst,
long declListNodeSrc)
Inserts the declarations of a source list of declarations in a destination list of declarations.
|
void |
mergeProcesses(long modelNodeDst,
long modelNodeSrc)
Appends the body (resp. declarations) of a source process model to the body (resp. declarations) of a destination
one .
|
long |
mkAtomNilTree() |
long |
mkCompleteModelCall(long process)
Returns a process call to a model.
|
long |
mkConfinedExpression(long exprNode,
long declNode)
Signal Grammar: (| exprNode |) where declNode end;
|
long |
mkConstantDeclaration(long cstListNode,
long typeNode) |
long |
mkDclType(long name,
long description,
long vinit) |
long |
mkDependenceTree(long fromNode,
long toNode,
long clockNode)
Returns a dependence expression:
fromNode -> toNode
fromNode -> toNode when clockNode
|
long |
mkEmptyBody() |
long |
mkEmptyConfinedExpr() |
long |
mkEmptyString() |
long |
mkEmptyTree() |
long |
mkEquation(boolean partialDef,
long leftExprNode,
long rightExprNode)
Builds an equation.
|
long |
mkExternalImplLanguage(LanguageCode langCode) |
long |
mkExternalString(long valueNode) |
long |
mkImplicitSignalDeclaration(java.lang.String name) |
long |
mkInterface(long paramNode,
long insNode,
long outsNode,
long specNode)
Builds an interface with parameters, input/output signals, and a specification area.
|
long |
mkLocalDeclaration(long modelNode)
Creates and returns an empty local declarations block of a model.
|
long |
mkModelCall(java.lang.String name) |
long |
mkModule(long nameNode) |
long |
mkNOTIMPLEMENTED() |
long |
mkNullaryTree(int codeOp)
Makes atomic node with op as operator.
|
long |
mkPragma(java.lang.String id,
long listObjectNode,
java.lang.String enonce)
Creates a pragma without associated objects.
|
long |
mkPragmasList(long modelNode)
Adds an empty pragma area for a model.
|
long |
mkProcess(long nameNode,
long interfaceNode,
long descNode)
Makes a process.
|
long |
mkReferenceToModel(long modelIdNode) |
long |
mkReferenceToModelWithParameter(long parListNode,
long modelNode) |
long |
mkSelectedPragma(long pragListNode,
java.lang.String name)
In this case, vt is a copy of
|
long |
mkSignalDeclaration(long nameNode,
long typeNode,
long initNode) |
long |
mkSkeletonExternProcess(long modelIdNode,
long langNode,
ModelKind kind)
Makes the skeleton of an external SIGNAL process.
|
long |
mkSkeletonInterface() |
long |
mkSkeletonModel(long id,
ModelKind kind)
Making Signal process/module skeleton.
|
long |
mkStringFromStr(java.lang.String vstr) |
long |
mkSynchroIni(long sigName) |
long |
mkUndefinedExternalValue() |
void |
moveAttribute(long nodeSrc,
long nodeDst,
int rank)
Moves the rank-th attribute of nodeSrc to nodeDst.
|
void |
moveModelsFrom(long model,
long body)
It imports to a model (p) the processes declared in the tree b.
|
void |
n_addDeclarationToInterface(long modelNode,
long declNode,
int where) |
long |
n_mkEquation(long operatorCode,
long leftExprNode,
long rightExprNode) |
long |
n_mkExternalImplLanguage(int langCode) |
long |
n_mkSkeletonExternProcess(long modelIdNode,
long langNode,
long opCode) |
long |
n_mkSkeletonModel(long id,
long opCode) |
void |
removeDeclsFrom(long idListNode,
long modelNode)
Removes the declaration of identifiers from a model.
|
long |
removeNilTree(long modelNode)
Removing NIL nodes from node sons of a model.
|
void |
replaceInputsOutputs(long modelNode,
long inOutNode)
Replaces the inputs/outputs of a model.
|
void |
replaceInputsOutputsModel(long modelNode,
long sigListNode,
boolean asInput)
Replaces:
the inputs of a model by a list of signal declarations if asInput is true,
the inputs of a model by a list of signal declarations otherwise.
|
void |
replaceInterface(long modelNode,
long newInterfaceNode)
Assigns an interface to a model.
|
void |
replaceLocalDecl(long modelNode,
long declListNode)
Deletes all the types, constants, signals declarations of the model or module and replaces them by the elements
of a declaration list.
|
void |
replaceSon(long node1,
long node2,
int rank)
Replaces the rank-th sons of node1 by node2.
|
void |
setBody(long modelNode,
long bodyNode)
Assigns the body of a model.
|
void |
setDescription(long modelNode,
long descNode)
Assigns a description to a model.
|
void |
setExternalGraph(long modelNode,
long egNode)
Assigns the "external graph" of a model.
|
long |
setLocalDeclarations(long modelNode,
long declNode)
Assigns local declarations to a model.
|
void |
setNameModel(long modelNode,
long nameNode)
Assigns a name to a model.
|
void |
setParameters(long modelNode,
long paramNode)
Assigns the parameters of a model.
|
void |
setPragmas(long modelNode,
long pragmasNode)
Assigns the pragmas of a model.
|
long |
updateModule(long moduleNode)
Verifies the correction of the form of a module.
|
public void n_addDeclarationToInterface(long modelNode, long declNode, int where)
public void addDeclarationToInterface(long modelNode, long declNode, IdentifierKind kind)
modelNode
- node referring a model (assumed).declNode
- node referring a declaration of a signal/parameter.kind
- indicates the kind of identifier(input, output, or parameter)public long addDeclarationToList(long listNode, long declNode)
listNode
- the current list of declarationsdeclNode
- the declaration node to addpublic long addEmptyInterface(long modelNode)
modelNode
- node referring to a model (assumed).public long addEndDeclarationToList(long listNode, long declNode)
listNode
- the current list of declarationsdeclNode
- the declaration node to addpublic void addExpressionOfProcessToaModel(long modelNode, long procExprNode)
modelNode
- node referring to a model (assumed).procExprNode
- node referring to a process expression.public long addExprToComposition_Post(long compListNode, long procExprNode)
compListNode
- node referring to a composition list.procExprNode
- node referring to a process expression (assumed).public long addExprToComposition_Pre(long compListNode, long procExprNode)
compListNode
- node referring to a composition list.procExprNode
- node referring to a process expression (assumed).public void addFlowDeclaration(long declListNode, long typeNode, long declNode)
declListNode
- node referring to a declaration list.typeNode
- node referring to a type.declNode
- node referring to a signal/constant declaration.public void addLabelsInModel(long idListNode, long modelNode)
idListNode
- node referring to a list of identifiers.modelNode
- node referring to the SIGNAL abstract tree representation of a process (assumed).public long addLocalBlock(long modelNode)
modelNode
- node referring to a model process (assumed).public void addLocalDeclaration(long modelNode, long declNode)
modelNode
- node referring to a model or a module.declNode
- node referring to a declaration.public void addPragma(long modelNode, long pragmaNode)
modelNode
- node referring to a model.pragmaNode
- node referring to a pragma.public void addProcessDeclaration(long modelNode, long modelDeclNode)
modelNode
- node referring to a model or a module.modelDeclNode
- node referring to a model declaration.public void addSpecification(long modelNode, long specNode)
modelNode
- node referring to a model.specNode
- node referring to a specification expression.public long addSynchroTree(long listNode, long exprNode)
listNode
- a node referring a list of synchronized signals.exprNode
- a node referring to a SIGNAL expression.public long addTypeToTypes(long typeDeclListNode, long typeDeclNode)
typeDeclListNode
- node referring to a list of type declarations.typeDeclNode
- node referring to a type declaration.public long copy(long node, boolean copyAttr)
node
- a nodecopyAttr
- boolean indicating if the attributes of the node are also copied.public void deleteParameters(long modelNode)
modelNode
- node referring to a model.public long duplicateInterfaceWithoutSpec(long modelNode)
modelNode
- node referring to a model (assumed).public void importDeclarations(long modelNodeDst, long modelNodeSrc)
modelNodeDst
- node referring to a model (assumed).modelNodeSrc
- node referring to a model (assumed).public void importDeclsFromTo(long idListNode, long modelNodeSrc, long modelNodeDst)
idListNode
- node referring to the list of (type) identifiers to copymodelNodeSrc
- node referring to a model (assumed).modelNodeDst
- node referring to another model (assumed).public void maskSignals(long modelNode, long signalListNode)
modelNode
- node referring to a process model (assumed).signalListNode
- node referring to a list of signals (assumed).public void mergeDeclarations(long modelNodeDst, long modelNodeSrc)
modelNodeDst
- node referring to the destination process model(assumed).modelNodeSrc
- node referring to the destination process model(assumed).public void mergeExprProc(long modelNodeDst, long modelNodeSrc)
modelNodeDst
- node referring to the destination process model(assumed).modelNodeSrc
- node referring to the destination process model(assumed).public void mergeLocalDecl(long declListNodeDst, long declListNodeSrc)
declListNodeDst
- node referring to the source list of declarationsdeclListNodeSrc
- node referring to the destination list of declarationspublic void mergeProcesses(long modelNodeDst, long modelNodeSrc)
modelNodeDst
- node referring to the destination process model(assumed).modelNodeSrc
- node referring to the destination process model(assumed).public long mkAtomNilTree()
public long mkCompleteModelCall(long process)
modelNode
- node referring to a model (assumed).public long mkConfinedExpression(long exprNode, long declNode)
exprNode
- node referring to a process expression.declNode
- node referring to a declaration.public long mkConstantDeclaration(long cstListNode, long typeNode)
cstListNode
- node referring to a list of definitions of constantstypeNode
- node referring to a typepublic long mkDclType(long name, long description, long vinit)
name
- identifier for the type declarationdescription
- SIGNAL expression representing the description of the type (bundle(...), enum(...), etc)vinit
- SIGNAL expr corresponding to the initial valuepublic long mkDependenceTree(long fromNode, long toNode, long clockNode)
fromNode
- node referring to an identifiertoNode
- node referring to another identifierclockNode
- node referring to a clock used as condition of the dependencepublic long mkEmptyBody()
public long mkEmptyConfinedExpr()
public long mkEmptyString()
public long mkEmptyTree()
public long n_mkEquation(long operatorCode, long leftExprNode, long rightExprNode)
public long mkEquation(boolean partialDef, long leftExprNode, long rightExprNode)
partialDef
- true if we want to create a partial definition equation, false otherwise.leftExprNode
- node referring to a SIGNAL expression used as left member of the equationrightExprNode
- node referring to a SIGNAL expression used as right member of the equationpublic long n_mkExternalImplLanguage(int langCode)
public long mkExternalImplLanguage(LanguageCode langCode)
langCode
- code for a language.public long mkExternalString(long valueNode)
valueNode
- a node referring to a value for an external keywordpublic long mkImplicitSignalDeclaration(java.lang.String name)
name
- name of the Signal to declare.public long mkInterface(long paramNode, long insNode, long outsNode, long specNode)
paramNode
- node referring to the list of parameters.insNode
- node referring to the list of inputs.outsNode
- node referring to the list of outputs.specNode
- node referring to the specification area.public long mkLocalDeclaration(long modelNode)
modelNode
- a node referring to a model (assumed).public long mkModelCall(java.lang.String name)
name
- the name of the process model to call.public long mkModule(long nameNode)
nameNode
- a node referring the name of the new module.public long mkNOTIMPLEMENTED()
public long mkNullaryTree(int codeOp)
codeOp
- an operator.public long mkPragma(java.lang.String id, long listObjectNode, java.lang.String enonce)
id
- the identifier of the pragma.listObjectNode
- node referring to a list of identifiersenonce
- the enonce of the pragmapublic long mkPragmasList(long modelNode)
modelNode
- node referring to a model (assumed).public long mkProcess(long nameNode, long interfaceNode, long descNode)
nameNode
- node referring to the name of the process.interfaceNode
- node referring to the description of an interface.descNode
- node referring to the description of a process.public long mkReferenceToModel(long modelIdNode)
modelIdNode
- node referring to the identifier of a model.public long mkReferenceToModelWithParameter(long parListNode, long modelNode)
parListNode
- node referring to a list of parameters.modelNode
- node referring to a model.public long mkSelectedPragma(long pragListNode, java.lang.String name)
pragListNode
- node referring to a list of pragmas.name
- name of the pragma.public long mkSignalDeclaration(long nameNode, long typeNode, long initNode)
nameNode
- a node referring to the name of the signal.typeNode
- a node referring to a type.initNode
- a node referring to a init SIGNAL expression?public long n_mkSkeletonExternProcess(long modelIdNode, long langNode, long opCode)
public long mkSkeletonExternProcess(long modelIdNode, long langNode, ModelKind kind)
langNode
- node referring to the denoting language implementation of the external process.kind
- kind of model.public long mkSkeletonInterface()
public long n_mkSkeletonModel(long id, long opCode)
public long mkSkeletonModel(long id, ModelKind kind)
idNode
- node referring to the identifier used for the new created model/module.kind
- kind of modelpublic long mkStringFromStr(java.lang.String vstr)
str
- the stringpublic long mkSynchroIni(long sigName)
sigName
- public long mkUndefinedExternalValue()
public void moveAttribute(long nodeSrc, long nodeDst, int rank)
nodeSrc
- a nodenodeDst
- an other noderank
- rank in the list of attributespublic void removeDeclsFrom(long idListNode, long modelNode)
idListNode
- list of (type) identifiers.modelNode
- node referring to a model (assumed).public long removeNilTree(long modelNode)
modelNode
- node referring to a model (assumed).public void replaceInputsOutputs(long modelNode, long inOutNode)
modelNode
- node referring to a model (assumed).inOutNode
- node containing the new inputs/outputs. The first child are inputs, and the second child are outputs.public void replaceInputsOutputsModel(long modelNode, long sigListNode, boolean asInput)
modelNode
- node referring to a model (assumed).sigListNode
- node referring to a list of signal declarations.asInput
- true for inputs, false for outputspublic void replaceInterface(long modelNode, long newInterfaceNode)
modelNode
- node referring to a model (assumed).newInterfaceNode
- node referring to an interface.public void replaceLocalDecl(long modelNode, long declListNode)
modelNode
- node referring to a model (assumed).declListNode
- node referring to a declaration list.public void replaceSon(long node1, long node2, int rank)
node1
- a node.node2
- another node.rank
- rank of the son to replace in node1.public void setBody(long modelNode, long bodyNode)
modelNode
- node referring to a model (assumed).bodyNode
- node referring to a body expression (assumed).public void setDescription(long modelNode, long descNode)
modelNode
- node referring to a model (assumed).descNode
- node referring to a description of a model (assumed).public void setExternalGraph(long modelNode, long egNode)
modelNode
- node referring to a model (assumed).egNode
- node referring to an external graph (assumed).public long setLocalDeclarations(long modelNode, long declNode)
modelNode
- node referring to a model (assumed).declNode
- node referring to local declarations.public void setNameModel(long modelNode, long nameNode)
modelNode
- node referring to a model (assumed).nameNode
- node referring to a name (assumed).public void setParameters(long modelNode, long paramNode)
modelNode
- node referring to a model (assumed).paramNode
- node referring to parameter declarations (assumed).public void setPragmas(long modelNode, long pragmasNode)
modelNode
- node referring to a model (assumed).pragmasNode
- node referring to pragmas (assumed).public long updateModule(long moduleNode)
moduleNode
- node referring to a module (assumed).public void moveModelsFrom(long model, long body)
model
- node referring to a model (assumed).body
- node referring to a body expression (assumed).