| summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'ast-to-instr/src/VHDLComponent.java')
| -rw-r--r-- | ast-to-instr/src/VHDLComponent.java | 28 |
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; } /***************************************************************************/ |


