/^command_table / {
	cmdtbl = $2;
	printf "/* %s.c - automatically generated from %s.ct */\n", \
		rootname, rootname > outfile
	print "#include <ss/ss.h>" > outfile
	print "" >outfile
}
	
/^BOR$/ {
	cmdnum++
	options = 0
	cmdtab = ""
	printf "static char const * const ssu%05d[] = {\n", cmdnum > outfile
}

/^sub/ {
	subr = substr($0, 6, length($0)-5)
}

/^hlp/ {
	help = substr($0, 6, length($0)-5)
}

/^cmd/ {
	cmd = substr($0, 6, length($0)-5)
	printf "%s\"%s\",\n", cmdtab, cmd > outfile
	cmdtab = "    "
}

/^opt/ {
	opt = substr($0, 6, length($0)-5)
	if (opt == "dont_list") {
		options += 1
	}
	if (opt == "dont_summarize") {
		options += 2
	}
}

/^EOR/ {
	print "    (char const *)0" > outfile
	print "};" > outfile 
	printf "extern void %s __SS_PROTO;\n", subr > outfile
	# Work around a bug in gawk 3.0.5
	awk_bug = cmdnum
	subr_tab[awk_bug] = subr
	options_tab[awk_bug] = options
	help_tab[awk_bug] = help
}

/^[0-9]/ {
	linenum = $1;
}

/^ERROR/ {
	error = substr($0, 8, length($0)-7)
	printf "Error in line %d: %s\n", linenum, error
	print "#__ERROR_IN_FILE__" > outfile
}

END {
	printf "static ss_request_entry ssu%05d[] = {\n", cmdnum+1 > outfile
	for (i=1; i <= cmdnum; i++) {
		printf "    { ssu%05d,\n", i > outfile
		printf "      %s,\n", subr_tab[i] > outfile
		printf "      \"%s\",\n", help_tab[i] > outfile
		printf "      %d },\n", options_tab[i] > outfile
	}
	print "    { 0, 0, 0, 0 }" > outfile
	print "};" > outfile
	print "" > outfile
	printf "ss_request_table %s = { 2, ssu%05d };\n", \
		cmdtbl, cmdnum+1 > outfile
}

