diff options
Diffstat (limited to 'bin')
-rw-r--r-- | bin/marionette | 0 | ||||
-rwxr-xr-x | bin/marionette-dotgraph | 40 |
2 files changed, 40 insertions, 0 deletions
diff --git a/bin/marionette b/bin/marionette deleted file mode 100644 index e69de29bb2..0000000000 --- a/bin/marionette +++ /dev/null diff --git a/bin/marionette-dotgraph b/bin/marionette-dotgraph new file mode 100755 index 0000000000..80e2f342d7 --- /dev/null +++ b/bin/marionette-dotgraph @@ -0,0 +1,40 @@ +#!/usr/bin/ruby +# +# Author:: Adam Jacob (<adam@hjksolutions.com>) +# Copyright:: Copyright (c) 2008 HJK Solutions, LLC +# License:: GNU General Public License version 2 or later +# +# This program and entire repository is free software; you can +# redistribute it and/or modify it under the terms of the GNU +# General Public License as published by the Free Software +# Foundation; either version 2 of the License, or any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + +require File.join(File.dirname(__FILE__), "..", "lib", "marionette") +require 'rgl/dot' + +mr = Marionette::Recipe.new("test", "default", "node") +raise ArgumentError, "#{ARGV[0]} is not a file!" unless File.exists?(ARGV[0]) +mr.instance_eval(IO.read(ARGV[0]), ARGV[0], 1) +puts mr.inspect +puts mr.dg.directed? +puts mr.dg.acyclic? +tree = Array.new +mr.dg.depth_first_visit(:top) do |v| + tree << v +end +maybe = mr.dg.bfs_search_tree_from(:top) +puts maybe.acyclic? +puts maybe.directed? +puts maybe.topsort_iterator.to_a.join("\n") +maybe.write_to_graphic_file + |