File: convert.awk

package info (click to toggle)
jgraph 83-25
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,008 kB
  • sloc: ansic: 4,596; makefile: 145; sh: 106; awk: 104
file content (42 lines) | stat: -rw-r--r-- 1,280 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
BEGIN	{ printf("{ x = $1; y = $2; \\\n"); }
	{ inpts = 0; instr = 0; npts = 0; inx = 0; \
          iny = 0;\
          printf("  printf(\"");\
          for (i = 1; i <= NF; i++) {\
            if (instr) { \
              printf(" %s", $i); \
            } else if (inpts > 0) {\
              printf(" %%f");\
              pts[npts] = $i;\
              if (inpts % 2) x[npts] = "x"; else x[npts] = "y";\
              inpts++;\
              npts++;\
            } else if (inx) {\
              printf(" %%f");\
              pts[npts] = $i;\
              x[npts] = "x";\
              npts++;\
              inx = 0;\
            } else if (iny) {\
              printf(" %%f");\
              pts[npts] = $i;\
              x[npts] = "y";\
              npts++;\
              iny = 0;\
            } else {\
              printf(" %s", $i);\
              if ($i == ":") instr = 1;\
              if ($i == "x") inx = 1;\
              if ($i == "y") iny = 1;\
              if ($i == "pts") inpts = 1; \
            }\
          }\
          printf("\\n\"");\
          if (npts > 0) {\
            for (i = 0; i < npts; i++) {\
              printf(", %s + %f", x[i], pts[i]);\
            }\
          }\
          printf(");\\\n");\
        }
END	{ printf("}\n"); }