| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'ast-to-instr/src/VHDLProcess.java')
| -rw-r--r-- | ast-to-instr/src/VHDLProcess.java | 27 | 
1 files changed, 10 insertions, 17 deletions
diff --git a/ast-to-instr/src/VHDLProcess.java b/ast-to-instr/src/VHDLProcess.java index 4f4ef73..0e26cce 100644 --- a/ast-to-instr/src/VHDLProcess.java +++ b/ast-to-instr/src/VHDLProcess.java @@ -5,8 +5,7 @@ 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 VHDLProcess extends ParsableXML  { @@ -45,15 +44,15 @@ public class VHDLProcess 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, "process"); @@ -84,9 +83,7 @@ public class VHDLProcess extends ParsableXML        handle_predicate_is_accessed_by(local_id);        /** Children ************************************************************/ -      result.addAll(handle_child_node(local_id)); - -      return result; +      handle_child_node(local_id, waiting_list);     }     /***************************************************************************/ @@ -461,14 +458,14 @@ public class VHDLProcess extends ParsableXML     /***************************************************************************/     /** Children ***************************************************************/     /***************************************************************************/ -   private Collection<ParsableXML> handle_child_node +   private void handle_child_node     ( -      final IDs local_id +      final IDs local_id, +      final Stack<ParsableXML> waiting_list     )     throws XPathExpressionException     {        final Node start_node; -      final Collection<ParsableXML> result;        start_node =           (Node) XPE_FIND_START_NODE.evaluate @@ -477,9 +474,7 @@ public class VHDLProcess extends ParsableXML              XPathConstants.NODE           ); -      result = new ArrayList<ParsableXML>(); - -      result.add +      waiting_list.push        (           new VHDLSSCNode           ( @@ -491,7 +486,5 @@ public class VHDLProcess extends ParsableXML              new String[0] /* No attributes. */           )        ); - -      return result;     }  }  | 


