summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-07-24 10:46:47 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-07-24 10:46:47 +0200
commitfb0882b5e3622b762812f4ffe4688c7a344a02cd (patch)
tree4f7f549cc620546a6ca6d3aa6f3378f1f03d56b3
parent15a8692f5384c0b6247a51cddec230f00ad5bbfc (diff)
Working on function calls and literals predicates.
-rw-r--r--ast-to-instr/src/VHDLNode.java27
-rw-r--r--ast-to-instr/src/VHDLSSASNode.java18
2 files changed, 28 insertions, 17 deletions
diff --git a/ast-to-instr/src/VHDLNode.java b/ast-to-instr/src/VHDLNode.java
index cb3fb4d..6c49cdf 100644
--- a/ast-to-instr/src/VHDLNode.java
+++ b/ast-to-instr/src/VHDLNode.java
@@ -1,5 +1,7 @@
import org.w3c.dom.Node;
+import javax.xml.xpath.XPathExpressionException;
+
public abstract class VHDLNode extends ParsableXML
{
protected final IDs next_node;
@@ -25,4 +27,29 @@ public abstract class VHDLNode extends ParsableXML
this.attributes = attributes;
}
+ protected void handle_expression
+ (
+ final IDs local_id,
+ final Node expression_ref
+ )
+ throws XPathExpressionException
+ {
+ final String ref;
+
+ ref = XMLManager.get_attribute(expression_ref, "ref");
+
+ if (!Main.node_is_function_or_literal(ref))
+ {
+ Predicates.add_entry
+ (
+ output,
+ predicate,
+ local_id,
+ Waveforms.get_associated_waveform_id
+ (
+ IDs.get_id_from_xml_id(ref, (String) null)
+ )
+ );
+ }
+ }
}
diff --git a/ast-to-instr/src/VHDLSSASNode.java b/ast-to-instr/src/VHDLSSASNode.java
index 76d56af..c67c3f2 100644
--- a/ast-to-instr/src/VHDLSSASNode.java
+++ b/ast-to-instr/src/VHDLSSASNode.java
@@ -178,23 +178,7 @@ public class VHDLSSASNode extends VHDLNode
for (int i = 0; i < sources_count; ++i)
{
- final String ref;
-
- ref = XMLManager.get_attribute(sources.item(0), "ref");
-
- if (!Main.node_is_function_or_literal(ref))
- {
- Predicates.add_entry
- (
- output,
- "expr_reads",
- local_id,
- Waveforms.get_associated_waveform_id
- (
- IDs.get_id_from_xml_id(ref, (String) null)
- )
- );
- }
+ handle_expression("expr_reads", local_id, sources.item(0));
}
}