code: private void updateActions(){
          if(scene.getSyntax()!=null)
              ruleStackList.setPrototypeCellValue(scene.getSyntax().ruleProtypeWidth());
          JScrollPane scroll = (JScrollPane)ruleStackList.getParent().getParent();
          scroll.setVisible(parser!=null);
          DefaultListModel model = (DefaultListModel)ruleStackList.getModel();
          model.clear();
          if(parser!=null){
              Rule rules[] = scene.getSyntax().rules.values().toArray(new Rule[scene.getSyntax().rules.values().size()]);
              for(int i=0; i<parser.free(); i+=2)
                  model.addElement(rules[parser.getStack()[i]]);
              ruleStackList.setSelectedIndex(model.size()-1);
          }
          scroll.revalidate();
          doLayout();
          input.revalidate();
  
          runAction.setEnabled(parser==null);
          debugAction.setEnabled(parser==null);
          stepAction.setEnabled(parser!=null);
          resumeAction.setEnabled(parser!=null);
          suspendAction.setEnabled(parser!=null);
          runToCursorAction.setEnabled(parser!=null && inputIndex<input.getCaretPosition());
      }
docs: /*-------------------------------------------------[ Actions ]---------------------------------------------------