This procedure is defined in the server but not documented via ad_proc or proc_doc and may be intended as a private interface.

The procedure is defined as:

proc sgml::firstpos {cs firstpos nullable} {
    
    switch -- $cs {
        :seq {
            set result [lindex $firstpos 0 1]
            for {set i 0} {$i < [llength $nullable]} {incr i} {
                if {[lindex $nullable $i 1]} {
                    lappend result {*}[lindex $firstpos $i+1 1]
                } else {
                    break
                }
            }
        }
        :choice {
            foreach child $firstpos {
                lappend result {*}$child
            }
        }
    }

    return [list $firstpos [makeSet $result]]

}

Show another procedure: