summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'ast-to-instr/src/VHDLComponent.java')
-rw-r--r--ast-to-instr/src/VHDLComponent.java208
1 files changed, 208 insertions, 0 deletions
diff --git a/ast-to-instr/src/VHDLComponent.java b/ast-to-instr/src/VHDLComponent.java
new file mode 100644
index 0000000..e22abe9
--- /dev/null
+++ b/ast-to-instr/src/VHDLComponent.java
@@ -0,0 +1,208 @@
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpression;
+import javax.xml.xpath.XPathExpressionException;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+public class VHDLComponent extends ParsableXML
+{
+ private static final XPathExpression GET_ENTITIES;
+
+ static
+ {
+ GET_ENTITIES = null;
+ /* TODO
+ Main.get_xpath().compile
+ (
+ );
+ */
+ // "./*/*/library_unit[@kind=\"entity_declaration\"]"
+ }
+
+ public VHDLComponent
+ (
+ final IDs parent_id,
+ final Node xml_node
+ )
+ {
+ super(parent_id, xml_node);
+ }
+
+ @Override
+ public Collection<ParsableXML> parse ()
+ throws XPathExpressionException
+ {
+ final Collection<ParsableXML> result;
+ final String xml_id;
+ final IDs local_id;
+
+ result = new ArrayList<ParsableXML>();
+
+ xml_id = null; /* TODO: elem.attrib.get("id") */
+
+ local_id = IDs.get_id_from_xml_id(xml_id, "component");
+
+ /** Parent **************************************************************/
+ handle_link_to_architecture(local_id);
+ handle_link_to_entity(local_id);
+
+ /** Functions ***********************************************************/
+ handle_function_line(local_id);
+ handle_function_column(local_id);
+ handle_function_label(local_id);
+
+ /** Predicates **********************************************************/
+ handle_predicate_port_maps(local_id);
+ handle_predicate_generic_maps(local_id);
+
+ return null;
+ }
+
+ /***************************************************************************/
+ /** Parents ****************************************************************/
+ /***************************************************************************/
+ private void handle_link_to_architecture
+ (
+ final IDs local_id
+ )
+ {
+ final IDs params[];
+
+ params =
+ new IDs[]
+ {
+ local_id,
+ parent_id
+ };
+
+ /* TODO */
+ }
+
+ private void handle_link_to_entity
+ (
+ final IDs local_id
+ )
+ {
+ final IDs params[];
+
+ params =
+ new IDs[]
+ {
+ local_id,
+ parent_id
+ };
+
+ /* TODO */
+ }
+
+
+ /***************************************************************************/
+ /** Functions **************************************************************/
+ /***************************************************************************/
+ private void handle_function_line
+ (
+ final IDs local_id
+ )
+ {
+ final IDs params[];
+
+ params =
+ new IDs[]
+ {
+ local_id,
+ Strings.get_id_from_string
+ (
+ null /* TODO: get attribute */
+ )
+ };
+
+ /* Functions.add_entry("filename", params); */
+ }
+
+ private void handle_function_column
+ (
+ final IDs local_id
+ )
+ {
+ final IDs params[];
+
+ params =
+ new IDs[]
+ {
+ local_id,
+ Strings.get_id_from_string
+ (
+ null /* TODO: get attribute */
+ )
+ };
+
+ /* Functions.add_entry("filename", params); */
+ }
+
+ private void handle_function_label
+ (
+ final IDs local_id
+ )
+ {
+ final IDs params[];
+
+ params =
+ new IDs[]
+ {
+ local_id,
+ Strings.get_id_from_string
+ (
+ null /* TODO: get attribute */
+ )
+ };
+
+ /* Functions.add_entry("filename", params); */
+ }
+
+ /***************************************************************************/
+ /** Predicates *************************************************************/
+ /***************************************************************************/
+ private void handle_predicate_port_maps
+ (
+ final IDs local_id
+ )
+ {
+ final IDs params[];
+
+ params =
+ new IDs[]
+ {
+ local_id,
+ Strings.get_id_from_string
+ (
+ null /* TODO: get attribute */
+ )
+ };
+
+ /* Functions.add_entry("filename", params); */
+ }
+
+ private void handle_predicate_generic_maps
+ (
+ final IDs local_id
+ )
+ {
+ final IDs params[];
+
+ params =
+ new IDs[]
+ {
+ local_id,
+ Strings.get_id_from_string
+ (
+ null /* TODO: get attribute */
+ )
+ };
+
+ /* Functions.add_entry("filename", params); */
+ }
+}