]> andersk Git - moira.git/commitdiff
Initial revision
authormar <mar>
Wed, 22 May 1991 15:41:36 +0000 (15:41 +0000)
committermar <mar>
Wed, 22 May 1991 15:41:36 +0000 (15:41 +0000)
clients/mmoira/forms.awk [new file with mode: 0644]

diff --git a/clients/mmoira/forms.awk b/clients/mmoira/forms.awk
new file mode 100644 (file)
index 0000000..ea21b65
--- /dev/null
@@ -0,0 +1,62 @@
+# $Header$
+
+BEGIN          { numfields = 0;
+                 printf("/* This file is machine generated, do not edit. */");
+                 printf("\n#include <Xm/Text.h>\n");
+                 printf("#include \"data.h\"\n\n");
+               }
+
+/^;/           { next }
+NF == 0                { next }
+NF == 1 && $1 == "or" { next }
+
+$1 == "{"      { formname = $2;
+                 instructions = $3;
+                 for (i = 4; i <= NF; i++)
+                       instructions = sprintf("%s %s", instructions, $i);
+                 next
+               }
+
+$1 == "}"      { printf("static UserPrompt *%s_fields[] = {\n", formname);
+                 for (i = 0; i < numfields; i++)
+                       printf("\t&%s_fld%d,\n", formname, i);
+                 printf("\t(UserPrompt *)NULL\n};\n");
+                 printf("EntryForm %s = {\n\t\"%s\",\n", \
+                       formname, formname);
+                 printf("\t\"%s\",\n\t%s_fields\n};\n", \
+                       instructions, formname);
+                 numfields = 0;
+                 next
+               }
+
+$NF == "s" || $NF == "S" \
+               { printf("static UserPrompt %s_fld%d = { \"", \
+                       formname, numfields);
+                 for (i = 1; i < NF; i++) printf("%s ", $i);
+                 printf("\", FT_STRING };\n");
+                 numfields++;
+                 next
+               }
+
+$NF == "b" || $NF == "B" \
+               { printf("static UserPrompt %s_fld%d = { \"", \
+                       formname, numfields);
+                 for (i = 1; i < NF; i++) printf("%s ", $i);
+                 printf("\", FT_BOOLEAN };\n");
+                 numfields++;
+                 next
+               }
+
+$NF == "k" || $NF == "K" \
+               { printf("static UserPrompt %s_fld%d = { \"", \
+                       formname, numfields);
+                 for (i = 1; i < NF; i++) printf("%s ", $i);
+                 printf("\", FT_KEYWORD };\n");
+                 numfields++;
+                 next
+               }
+
+               { printf("forms syntax error on line %d of file %s:\n%s\n", \
+                       NR, FILENAME, $0);
+                 exit 1
+               }
This page took 0.044589 seconds and 5 git commands to generate.