summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'ast-to-instr/src/VHDLNode.java')
-rw-r--r--ast-to-instr/src/VHDLNode.java59
1 files changed, 37 insertions, 22 deletions
diff --git a/ast-to-instr/src/VHDLNode.java b/ast-to-instr/src/VHDLNode.java
index 6c49cdf..970be9a 100644
--- a/ast-to-instr/src/VHDLNode.java
+++ b/ast-to-instr/src/VHDLNode.java
@@ -1,49 +1,39 @@
import org.w3c.dom.Node;
import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathExpression;
public abstract class VHDLNode extends ParsableXML
{
- protected final IDs next_node;
- protected final int depth;
- protected final String[] attributes;
- protected final OutputFile output;
+ /** Static *****************************************************************/
+ private static XPathExpression XPE_FIND_EXPR_NAMED_ENTITIES;
- public VHDLNode
- (
- final OutputFile output,
- final IDs parent_id,
- final Node xml_node,
- final IDs next_node,
- final int depth,
- final String[] attributes
- )
+ static
{
- super(parent_id, xml_node);
-
- this.output = output;
- this.next_node = next_node;
- this.depth = depth;
- this.attributes = attributes;
+ XPE_FIND_EXPR_NAMED_ENTITIES =
+ XMLManager.compile_or_die
+ (
+ ".//named_entity"
+ );
}
protected void handle_expression
(
final IDs local_id,
- final Node expression_ref
+ final Node expression_start
)
throws XPathExpressionException
{
final String ref;
- ref = XMLManager.get_attribute(expression_ref, "ref");
+ ref = XMLManager.get_attribute(expression_start, "ref");
if (!Main.node_is_function_or_literal(ref))
{
Predicates.add_entry
(
output,
- predicate,
+ "expr_reads",
local_id,
Waveforms.get_associated_waveform_id
(
@@ -52,4 +42,29 @@ public abstract class VHDLNode extends ParsableXML
);
}
}
+
+ /** Non-Static *************************************************************/
+ protected final IDs next_node;
+ protected final int depth;
+ protected final String[] attributes;
+ protected final OutputFile output;
+
+ public VHDLNode
+ (
+ final OutputFile output,
+ final IDs parent_id,
+ final Node xml_node,
+ final IDs next_node,
+ final int depth,
+ final String[] attributes
+ )
+ {
+ super(parent_id, xml_node);
+
+ this.output = output;
+ this.next_node = next_node;
+ this.depth = depth;
+ this.attributes = attributes;
+ }
+
}