File: robodoc.tcl

package info (click to toggle)
espresso 6.7-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 311,068 kB
  • sloc: f90: 447,429; ansic: 52,566; sh: 40,631; xml: 37,561; tcl: 20,077; lisp: 5,923; makefile: 4,503; python: 4,379; perl: 1,219; cpp: 761; fortran: 618; java: 568; awk: 128
file content (85 lines) | stat: -rw-r--r-- 2,092 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# Currently disabled: this file is likely to be purged in the future

#
# Robodoc
#
proc ::helpdoc::rbd_tag_enter {tag attr content depth} {
    variable fid 
    variable rbd_var 
    variable rbd_stack 
    variable rbd_info

    set content [formatString [trimEmpty $content]]
    
    attr2array_ arr $attr
    
    switch -exact $tag {
	input_description {
	    set rbd_stack [::struct::stack]
	    
	    set module {}
	    set rbd_info(program) unknown
	    if { [info exists arr(distribution)] } { set module $arr(distribution) }
	    if { [info exists arr(package)]      } { set module $arr(package) }
	    if { [info exists arr(program)]      } { 
		set module $module/$arr(program) 
		set rbd_info(program) $arr(program)
	    }
	    if {  $module == ""                  } { set module /input }
	    	    
	    set current_module [lindex [split $module /] end]
	    $rbd_stack push $current_module
	    
	    puts $fid(rbd) [formatString [subst {
		#****h* $module
		# DESCRIPTION
		#   Description of the input syntax for program ...
		#******
	    }]]\n
	}
	namelist {
	    set module "[$rbd_stack peek]/$arr(name)"
	    $rbd_stack push $arr(name)

	    puts $fid(rbd) [formatString [subst {
		#****n* $module
		# DESCRIPTION
		#   Description of the $arr(name) namelist.
		#******
	    }]]\n
	}
	var {
	    set name $arr(name)
	    regsub -all -- , $name + name
	    set rbd_var "#****v* [$rbd_stack peek]/$name\n"
	    append rbd_var "# NAME\n"
	    append rbd_var "#   $arr(name)\n"
	}
	info {
	    append rbd_var "# DESCRIPTION\n[::textutil::indent $content {#   }]"
	}
	status {
	    append rbd_var "# STATUS\n[::textutil::indent $content {#   }]\n"
	}
    }
    if { $tag == "default" } {
	append rbd_var "# DEFAULT\n[::textutil::indent $content {#   }]\n"
    }
}

proc ::helpdoc::rbd_tag_leave {tag attr content depth} {
    variable fid 
    variable rbd_var 
    variable rbd_stack
    switch -exact $tag {
	namelist {
	    puts $fid(rbd) "\n\# *** END of NAMELIST\n"
	    $rbd_stack pop
	}
	var {
	    puts $fid(rbd) $rbd_var
	    puts $fid(rbd) "#******\n"
	}
    }
}