summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'ast-to-instr/src/VHDLComponent.java')
-rw-r--r--ast-to-instr/src/VHDLComponent.java28
1 files changed, 19 insertions, 9 deletions
diff --git a/ast-to-instr/src/VHDLComponent.java b/ast-to-instr/src/VHDLComponent.java
index 116b0b8..37a03a0 100644
--- a/ast-to-instr/src/VHDLComponent.java
+++ b/ast-to-instr/src/VHDLComponent.java
@@ -5,17 +5,29 @@ import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
-import java.util.ArrayList;
-import java.util.Collection;
+import java.util.Stack;
public class VHDLComponent extends ParsableXML
{
private static final XPathExpression XPE_FIND_PORT_MAPS;
+ private static final XPathExpression XPE_FIND_REAL_PORTS;
private static final XPathExpression XPE_FIND_GENERIC_MAPS;
static
{
- XPE_FIND_PORT_MAPS = null; /* TODO */
+ XPE_FIND_PORT_MAPS =
+ XMLManager.compile_or_die
+ (
+ "./el[@kind=\"association_element_by_expression\"]"
+ );
+
+ XPE_FIND_REAL_PORTS =
+ XMLManager.compile_or_die
+ (
+ "./port_chain/el[@kind=\"interface_signal_declaration\"]"
+ );
+
+ /* TODO */
XPE_FIND_GENERIC_MAPS = null; /* TODO */
}
@@ -29,15 +41,15 @@ public class VHDLComponent extends ParsableXML
}
@Override
- public Collection<ParsableXML> parse ()
+ public void parse
+ (
+ final Stack<ParsableXML> waiting_list
+ )
throws XPathExpressionException
{
- final Collection<ParsableXML> result;
final String xml_id;
final IDs local_id;
- result = new ArrayList<ParsableXML>();
-
xml_id = XMLManager.get_attribute(xml_node, "id");
local_id = IDs.get_id_from_xml_id(xml_id, "component");
@@ -54,8 +66,6 @@ public class VHDLComponent extends ParsableXML
/** Predicates **********************************************************/
handle_predicate_port_maps(local_id);
handle_predicate_generic_maps(local_id);
-
- return result;
}
/***************************************************************************/