Index: util/pcblib-param.cgi
===================================================================
--- util/pcblib-param.cgi (revision 436)
+++ util/pcblib-param.cgi (revision 437)
@@ -37,10 +37,53 @@
sub(".*@@param:", "", $0)
p=$1
sub(p "[\t ]*", "", $0)
- PARAM[prm] = "
" p " | " $0
+ PARAM[prm] = p
+ PDESC[prm] = $0
prm++
+ next
}
+# build PPROP[paramname,propname], e.g. PPROP[pin_mask, dim]=1
+/@@optional:/ || /@@dim:/ {
+ key = $0
+ sub("^.*@@", "", key)
+ val = key
+ sub(":.*", "", key)
+ sub("^[^:]*:", "", val)
+ PPROP[val,key] = 1
+ next
+}
+
+# build PDATA[paramname,propname], e.g. PDATA[pin_mask, default]=123
+/@@default:/ {
+ key = $1
+ sub("^" key "[ \t]*", "", $0)
+ sub("^.*@@", "", key)
+ val = key
+ sub(":.*", "", key)
+ sub("^[^:]*:", "", val)
+ PDATA[val,key] = $0
+ next
+}
+
+# build:
+# PDATAK[paramname,n]=key (name of the value)
+# PDATAV[paramname,n]=description (of the given value)
+# PDATAN[paramname]=n number of parameter values
+/@@enum:/ {
+ key = $1
+ sub("^" key "[ \t]*", "", $0)
+ sub("^.*@@enum:", "", key)
+ val = key
+ sub(":.*", "", key)
+ sub("^[^:]*:", "", val)
+ idx = int(PDATAN[key])
+ PDATAK[key,idx] = val
+ PDATAV[key,idx] = $0
+ PDATAN[key]++
+ next
+}
+
END {
if (header) {
print "" HELP["@@purpose"] ""
@@ -57,8 +100,37 @@
if (content) {
print ""
- for(p = 0; p < prm; p++)
- print PARAM[p]
+ print "name | man dat ory | description | value (bold: default)"
+ for(p = 0; p < prm; p++) {
+ name=PARAM[p]
+ print " |
---|
" name
+ if (PPROP[name, "optional"])
+ print " | "
+ else
+ print " | yes"
+ print " | " PDESC[p]
+ print " | "
+ if (PDATAN[name] > 0) {
+ print ""
+ for(v = 0; v < PDATAN[name]; v++) {
+ print ""
+ isdef = (PDATA[name, "default"] == PDATAK[name, v])
+ if (isdef)
+ print ""
+ print PDATAK[name, v]
+ if (isdef)
+ print ""
+
+ print " | " PDATAV[name, v]
+ }
+ print " | "
+ }
+ if (PPROP[name, "dim"]) {
+ print "Dimension: a number with an optional unit (mm or mil, default is mil)"
+ if (PDATA[name, "default"] != "")
+ print " Default: " PDATA[name, "default"] ""
+ }
+ }
print " | "
}
@@ -170,8 +242,8 @@
for n in $qs
do
- exp="QS_$n"
- export $exp
+ exp="QS_$n"
+ export $exp
done
export QS_cmd=`echo "$QS_cmd" | /home/igor2/C/libporty/trunk/src/porty/c99tree/url.sh`
|