+++ /dev/null
-#!/usr/bin/perl -w
-
-use strict;
-
-$ARGV[0] or die "msg2surf.pl <platform.txt>";
-open INPUT, "$ARGV[0]" or die;
-
-my($line);
-my($parsing_host) = 0;
-my($parsing_link) = 0;
-my($parsing_route) = 0;
-my($lat);
-my(@link_list) = ();
-my($link);
-
-print "<?xml version='1.0'?>\n";
-print "<!DOCTYPE platform_description SYSTEM \"surfxml.dtd\">\n";
-print "<platform_description>\n";
-
-while(defined($line=<INPUT>)){
- chomp $line;
- if($line=~/HOSTS/) {
- $parsing_host=1;
- next;
- }
- if($line=~/LINKS/) {
- $parsing_host=0;
- $parsing_link=1;
- next;
- }
- if($line=~/ROUTES/) {
- $parsing_link=0;
- $parsing_route=1;
- next;
- }
-
- if($parsing_host) {
- if($line=~ /^\s*(\w+)\s+([0-9\.]+)\s*$/) {
- print " <cpu name=\"$1\" power=\"$2\"/>\n";
- } else die "Cannot understand line \"$line\"\n";
- }
- if($parsing_link) {
- if($line=~ /^\s*(\w+)\s+([0-9\.]+)\s*([0-9\.]+)\s*$/) {
- $lat=$3;
- $lat/=1000;
- print " <network_link name=\"$1\" bandwidth=\"$2\" latency=\"$lat\"/>\n";
- } else die "Cannot understand line \"$line\"\n";
- }
- if($parsing_route) {
- if($line=~ /^\s*(\w+)\s+(\w+)\s+\((.*)\)\s*$/) {
- @link_list=split(/\s+/, $3);
- print " <route src=\"$1\" dst=\"$2\">";
- foreach $link (@link_list) {
- print "<route_element name=\"$link\"/>";
- }
- print "</route>\n";
- } else die "Cannot understand line \"$line\"\n";
- }
-}
-print "</platform_description>\n";
-
-