3 BEGIN { numfields = 0; numforms = 0; orfield = 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" { orfield = 1; 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);
39 printf("\", FT_STRING, True };\n");
42 printf("\", FT_STRING, False };\n");
48 $NF == "b" || $NF == "B" \
49 { printf("static UserPrompt %s_fld%d = { \"", \
51 for (i = 1; i < NF; i++) printf("%s ", $i);
53 printf("\", FT_BOOLEAN, True };\n");
56 printf("\", FT_BOOLEAN, False };\n");
62 $NF == "k" || $NF == "K" \
63 { printf("static UserPrompt %s_fld%d = { \"", \
65 for (i = 1; i < NF; i++) printf("%s ", $i);
67 printf("\", FT_KEYWORD, True };\n");
70 printf("\", FT_KEYWORD, False };\n");
76 { printf("forms syntax error on line %d of file %s:\n%s\n", \
82 printf("EntryForm *MoiraForms[] = {\n");
83 for (i = 0; i < numforms; i++)
84 printf("\t&form%d,\n", i);
85 printf("\t(EntryForm *)NULL,\n};\n");