LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Error:: "wrong # args: should be "set varName ?newValue?" " while running TCL script (https://www.linuxquestions.org/questions/linux-newbie-8/error-wrong-args-should-be-set-varname-newvalue-while-running-tcl-script-4175542341/)

rc49 05-12-2015 03:23 AM

Error:: "wrong # args: should be "set varName ?newValue?" " while running TCL script
 
I m learning Tcl and write short code. After running code i got same error repeatedly and not able to find mistake,,,i wrote it as it is from a tutorial. here is the code below

set ns [new Simulator]

set f1 [open out.nam w] #open nam file out.nam
$ns namtrace-all $f1

proc finish{} {
global ns f1
$ns flush-trace
#close $tracefile1
close $f1
exec nam out.nam &
exit 0
}


set n1 [$ns node] # 3 nodes defined
set n2 [$ns node]
set n3 [$ns node]

set duplex-link $n1 $n2 10mb 10ms Droptail
set duplex-link $n2 $n3 10mb 10ms DropTail
set duplex-link $n3 $n1 10mb 10ms DropTail

set udp1 [new Agent/UDP] #UDP agent attached to node n1
$ns attach-agent $n1 $udp1

set cbr1 [new Application/traffic/CBR]
$cbr1 set packetSize_ 500
$cbr1 set interval_ 0.005
$ns attach-agent cbr1 udp1

set null1 [new Aggent/Null]
$ns attach-agent $n2 $null1


$ns connect $udp1 $null1

$ns at 0.5 "$cbr0 start"
$ns at 4.5 "$cbr0 stop"


$ns at 12.0 "finish"

$ns run



ERROR:wrong # args: should be "set varName ?newValue?"
while executing
"set f1 [open out.nam w] #open nam file out.nam"
(file "11.tcl" line 19)

knudfl 05-12-2015 05:12 AM

Welcome to LQ.

The typos :
1) set f1 [open out.nam w] #open nam file out.nam
Right is : set f1 [open out.nam w] ;#open nam file out.nam
* Missing semicolon ( ; ).
I.e. when tcl code is followed by a comment, the code must end with ;

2) proc finish{} {
Right is : proc finish {} {
* A missing <space>.


Besides that : Please read the "manual" / the examples, here ...
http://www.isi.edu/nsnam/ns/tutorial/
. http://www.isi.edu/nsnam/ns/tutorial...pt1.html#first
.
. http://www.isi.edu/nsnam/ns/tutorial...pt2.html#first
.
Etc. etc.

-

NSwathi 09-15-2016 12:01 AM

ERROR: wrong # args: should be "_o3 self class proc src dst"
 
#Create a simulator object
set ns [new Simulator]

#Define different colors for data flows
$ns color 1 Blue
$ns color 2 Red

#Open the nam trace file
set nf [open out.nam w]
$ns namtrace-all $nf

#Define a 'finish' procedure
proc finish {} {
global ns nf
$ns flush-trace
#Close the trace file
close $nf
#Execute nam on the trace file
exec nam out.nam &amp;
exit 0
}

#Create four nodes
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]

#Create links between the nodes
$ns duplex-link $n0 $n2 1Mb 10ms DropTail
$ns duplex-link $n1 $n2 1Mb 10ms DropTail
$ns duplex-link $n3 $n2 1Mb 10ms SFQ

$ns duplex-link-op $n0 $n2 orient right-down
$ns duplex-link-op $n1 $n2 orient right-up
$ns duplex-link-op $n2 $n3 orient right

#Monitor the queue for the link between node 2 and node 3
$ns duplex-link-op $n2 $n3 queuePos 0.5

#Create a UDP agent and attach it to node n0
set udp0 [new Agent/UDP]
$udp0 set class_ 1
$ns attach-agent $n0 $udp0

# Create a CBR traffic source and attach it to udp0
set cbr0 [new Application/Traffic/CBR]
$cbr0 set packetSize_ 500
$cbr0 set interval_ 0.005
$cbr0 attach-agent $udp0

#Create a UDP agent and attach it to node n1
set udp1 [new Agent/UDP]
$udp1 set class_ 2
$ns attach-agent $n1 $udp1

# Create a CBR traffic source and attach it to udp1
set cbr1 [new Application/Traffic/CBR]
$cbr1 set packetSize_ 500
$cbr1 set interval_ 0.005
$cbr1 attach-agent $udp1

#Create a Null agent (a traffic sink) and attach it to node n3
set null0 [new Agent/Null]
$ns attach-agent $n3 $null0

#Connect the traffic sources with the traffic sink
$ns connect $udp0 $null0 &nbsp;
$ns connect $udp1 $null0

#Schedule events for the CBR agents
$ns at 0.5 "$cbr0 start"
$ns at 1.0 "$cbr1 start"
$ns at 4.0 "$cbr1 stop"
$ns at 4.5 "$cbr0 stop"
#Call the finish procedure after 5 seconds of simulation time
$ns at 5.0 "finish"

#Run the simulation
$ns run


All times are GMT -5. The time now is 12:19 PM.