Check  "Why can I not place unmatched braces in Tcl comments?"
http://wiki.tcl.tk/462 

And http://phaseit.net/claird/comp.lang.tcl/fmm.html
And http://mini.net/tcl/1669.html

If this helps you, contribute and put this info in the ns2 wiki

Regards
Pedro Vale etsrela


> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
> Of Bhoi Maheshbhai Mohanbhai
> Sent: sexta-feira, 29 de Setembro de 2006 9:23
> To: ns-users@ISI.EDU
> Subject: [ns] Urgent reply needed
> 
> 
> I run my protocol of spbm, which uses greedy & perimeter routing,
> 
>   I can compile my code,but got the error
> 
>   missing close-brace: possible unbalanced brace in comment
> while executing
> "proc create-spbm-mobile-node { id args } {
>     global ns ns_ chan prop topo tracefd opt node_
> set ns_ [Simulator instance]
> #if {[Simulator s..."    (file "tcl/mobility/spbm.tcl" line 87)
> 
> and the Tcl script is as shown below:
> 
> 
> 
>   Agent/SPBMAgent set sport_        0
> Agent/SPBMAgent set dport_        0
> Agent/SPBMAgent set bint_         0.5 ;# beacon interval
> Agent/SPBMAgent set bdesync_      0.5 ;# beacon desync random component
> Agent/SPBMAgent set bexp_         [expr 3*([Agent/SPBMAgent set
> bint_]+[Agent/SPBMAgent set bdesync_]*[Agent/SPBMAgent set bint_])] ;#
> beacon timeout interval
> Agent/SPBMAgent set pint_         1.5 ;# peri probe interval
> Agent/SPBMAgent set pdesync_      0.5 ;# peri probe desync random
> component
> Agent/SPBMAgent set lpexp_        8.0 ;# peris unused timeout interval
> Agent/SPBMAgent set use_mac_      0        ;# use link breakage feedback
> from MAC
> Agent/SPBMAgent set use_peri_     0       ;# probe and use perimeters
> Agent/SPBMAgent set verbose_      0        ;#
> Agent/SPBMAgent set peri_proact_  1       ;# proactively generate peri
> probes
> Agent/SPBMAgent set use_implicit_beacon_ 0 ;# all packets act as beacons;
> promisc.
> Agent/SPBMAgent set use_planar_   0        ;# planarize graph
> Agent/SPBMAgent set use_loop_detect_ 0     ;# look for unexpected loops in
> peris
> Agent/SPBMAgent set use_timed_plnrz_ 0     ;# replanarize periodically
>   set opt(ragent)         Agent/SPBMAgent
>   set opt(pos)  NONE   ;# Box or NONE
>   if { $opt(pos) == "Box" } {
>  puts "*** SPBM using Box configuration..."
> }
>   Agent instproc init args {
>     eval $self next $args
> }
>   Agent/SPBMAgent instproc init args
>  {
>      eval $self next $args
>  }
>  proc create-spbm-routing-agent { node id } {
>      global ns_ ragent_ tracefd opt    #  Create the Routing Agent and
> attach it to port 255.
>     #
> 
> 
>  set ragent_($id) [new $opt(ragent)]
>  set ragent $ragent_($id)
>     ## setup address (supports hier-addr) for spbm agent
>  ## and mobilenode
> 
>  set addr [$node node-addr]
>   $ragent node $node
> 
>  if [Simulator set mobile_ip_] {
>  $ragent port-dmux [$node set dmux_]
>      }
>       $node addr $addr
>   $node set ragent_ $ragent
> 
>   #$node attach $ragent 255
>       $node attach $ragent [Node set rtagent_port_]
> 
>   $ns_ at 0.0 "$ragent_($id) start-spbm" ;   # Drop Target (always on
> regardless of other tracing)
>     #
>     set drpT [cmu-trace Drop "RTR" $node]
>     $ragent drop-target $drpT
> 
>     # Log Target
>       set T [new Trace/Generic]
>     $T target [$ns_ set nullAgent_]
>     $T attach $tracefd
>     $T set src_ $id
>     $ragent tracetarget $T
>       # ifq
>     $ragent add-ifq [$node set ifq_(0)]
> }
> 
> proc create-spbm-mobile-node { id args } {
>     global ns ns_ chan prop topo tracefd opt node_
>       set ns_ [Simulator instance]
>       #if {[Simulator set EnableHierRt_]} {
>     if [Simulator hier-addr?]
>     {
>    if [Simulator set mobile_ip_]
>  {
>      set node_($id) [new MobileNode/MIPMH $args]
>  }
>  #else
>  {
>  #    set node_($id) [new Node/MobileNode/BaseStationNode $args]
>  }
>     }
>     else
>     {
>  set node_($id) [new Node/MobileNode]
>     }
>     set node $node_($id)
>     $node random-motion 0  ;# disable random motion
>     $node topography $topo
> 
>     # XXX Activate energy model so that we can use sleep, etc. But put on
>     # a very large initial energy so it'll never run out of it.
> 
>    if [info exists opt(energy)]    {
>        $node addenergymodel [new $opt(energy) $node 1000 0.5 0.2]
>  }
>    # This Trace Target is used to log changes in direction
> 
>  # and velocity for the mobile node.
>  #  set T [new Trace/Generic]
> 
>  $T target [$ns_ set nullAgent_]
>  $T attach $tracefd
> 
>  $T set src_ $id
>  $node log-target $T
> 
>  if ![info exist opt(err)]
>  {
>  set opt(err) ""
>  }
>  if ![info exist opt(outerr)] {
>  set opt(outerr) ""
>  }
>  if ![info exist opt(fec)] {
>  set opt(fec) ""
>  }
>  $node add-interface $chan $prop $opt(ll) $opt(mac) \
>    $opt(ifq) $opt(ifqlen) $opt(netif) $opt(ant) $topo $opt(err)
> $opt(outerr) $opt(fec)
>       # Create a Routing Agent for the Node
> 
>  #  create-$opt(rp)-routing-agent $node $id
>    if { $opt(pos) == "Box" } {  # Box Configuration
> 
>  #set spacing 200
>  set maxrow 7
> 
>  set col [expr ($id - 1) % $maxrow]
>  set row [expr ($id - 1) / $maxrow]
>  $node set X_ [expr $col * $spacing]
> 
>  $node set Y_ [expr $row * $spacing]
>  $node set Z_ 0.0
> 
>  $node set speed_ 0.0
> 
>  $ns_ at 0.0 "$node_($id) start"
>  }
>  return $node
> }
> 
> 
>   If any one can point out the error.........then it is too good for
> me.........
> 
>   Reply quickly if possible.
>   Thanks in advance...............
> 
> 
>   Mahesh
> 
> 
> ---------------------------------
>  Find out what India is talking about on  - Yahoo! Answers India
>  Send FREE SMS to your friend's mobile from Yahoo! Messenger Version 8.
> Get it NOW


Reply via email to