1131554Stjr#
2131554Stjr# Extended Regular Expression
3131554Stjr
4131554Stjr# skip comments
5131554Stjr$0 ~ /^#/ { next; }
6131554Stjr
7131554Stjr# skip specifics to regcomp/regexec
8131554Stjr$2 ~ /[msnr$#p^]/ { next; }
9131554Stjr
10131554Stjr# jump empty lines
11131554Stjr$0 ~ /^$/ { next; }
12131554Stjr
13131554Stjr# subreg skip
14131554StjrNF >= 5 { next; }
15131554Stjr
16131554Stjr# debug
17131554Stjr#{ printf ("<%s> <%s> <%s> <%s>\n", $1, $2, $3, $4); }
18131554Stjr
19131554Stjr# errors
20131554StjrNF == 3 {
21131554Stjr# nuke any remaining '@'
22131554Stjr#	gsub (/@/, ",");
23131554Stjr# it means empty lines
24131554Stjr	gsub (/\"\"/, "");
25131554Stjr# escapes
26131554Stjr	gsub (/\\\'/, "\\\'\'");
27131554Stjr# error in regex 
28131554Stjr	if (index ($2, "C") != 0)
29131554Stjr	{
30131554Stjr		if (index ($2, "b") == 0)
31131554Stjr			printf ("2@%s@%s\n", $1, $3);
32131554Stjr	}
33131554Stjr# error not matching 
34131554Stjr	else
35131554Stjr	{
36131554Stjr		if (index ($2, "b") == 0)
37131554Stjr			printf ("1@%s@%s\n", $1, $3);
38131554Stjr	}
39131554Stjr	next;
40131554Stjr}
41131554Stjr
42131554Stjr# ok
43131554StjrNF == 4 {
44131554Stjr# skip those magic cookies can't rely on echo to gnerate them
45131554Stjr	if (match($3, /[NSTZ]/))
46131554Stjr		next;
47131554Stjr
48131554Stjr# nuke any remaining '@'
49131554Stjr#	gsub (/@/, ",");
50131554Stjr# it means empty lines
51131554Stjr	gsub (/\"\"/, "");
52131554Stjr# escape escapes
53131554Stjr	gsub (/\\\'/, "\\\'\'");
54131554Stjr
55131554Stjr	if (index ($2, "b") == 0)
56131554Stjr	{
57131554Stjr		printf ("0@%s@%s\n", $1, $3);
58131554Stjr	}
59131554Stjr	next;
60131554Stjr}
61