3 BEGIN { numfields = 0; numforms = 0;
4 printf("/* This file is machine generated, do not edit. */");
5 printf("\n#include <Xm/Text.h>\n");
6 printf("#include \"mmoira.h\"\n\n");
11 NF == 1 && $1 == "or" { next }
13 $1 == "{" { formname = sprintf("form%d", numforms);
17 for (i = 4; i <= NF; i++)
18 instructions = sprintf("%s %s", instructions, $i);
22 $1 == "}" { printf("static UserPrompt *%s_fields[] = {\n", formname);
23 for (i = 0; i < numfields; i++)
24 printf("\t&%s_fld%d,\n", formname, i);
25 printf("\t(UserPrompt *)NULL\n};\n");
26 printf("static EntryForm %s = {\n\t\"%s\",\n", \
27 formname, formrealname);
28 printf("\t\"%s\",\n\t%s_fields\n};\n", \
29 instructions, formname);
34 $NF == "s" || $NF == "S" \
35 { printf("static UserPrompt %s_fld%d = { \"", \
37 for (i = 1; i < NF; i++) printf("%s ", $i);
38 printf("\", FT_STRING };\n");
43 $NF == "b" || $NF == "B" \
44 { printf("static UserPrompt %s_fld%d = { \"", \
46 for (i = 1; i < NF; i++) printf("%s ", $i);
47 printf("\", FT_BOOLEAN };\n");
52 $NF == "k" || $NF == "K" \
53 { printf("static UserPrompt %s_fld%d = { \"", \
55 for (i = 1; i < NF; i++) printf("%s ", $i);
56 printf("\", FT_KEYWORD };\n");
61 { printf("forms syntax error on line %d of file %s:\n%s\n", \
67 printf("EntryForm *MoiraForms[] = {\n");
68 for (i = 0; i < numforms; i++)
69 printf("\t&form%d,\n", i);
70 printf("\t(EntryForm *)NULL,\n};\n");