summaryrefslogtreecommitdiff
path: root/dviware/quicspool/src/quic.l
blob: 36d1709669d36050471d01d1df2d55f116c57922 (plain)
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/* $Header: quic.l,v 1.1 88/01/15 13:05:21 simpson Rel $ */
%{
/*
$Log:	quic.l,v $
 * Revision 1.1  88/01/15  13:05:21  simpson
 * initial release
 * 
 * Revision 0.1  87/12/11  21:37:40  simpson
 * beta test
 * 
*/
/* Scans the data going by the "if" filter */
%}
%%
\^P[YN]\^- 	{ 
		    QuicMode = (yytext[2] == 'Y' ? TRUE : FALSE);
		    if (QuicMode)
			EnteredQuic = TRUE;
		    fputs(yytext, stdout);
		}
\^[OF]		{
	    	    if (QuicMode)
			FreeForm = (yytext[1] == 'F' ? TRUE : FALSE);
		    fputs(yytext, stdout); 
		}
"^," 		{
		    if (QuicMode) {
			NumPages++;
			if (!Raw)
			    LineNum = 1;
		    }
		    fputs(yytext, stdout);
		}
\f		{
		    if (!QuicMode || (QuicMode && !FreeForm))
			NumPages++;
		    fputs(yytext, stdout);
		}
\n		{
		    if (!Raw) {
			putchar('\r');
		        if (++LineNum > Length) {
			    NumPages++;
			    LineNum -= Length;
			}
			CharCount = 1;
		    }
		    fputs(yytext, stdout);
		}
.		{
		    short 	i;

		    if (!Raw) {
			if (CharCount++ == 1 && Indent > 0)
			    for (i = 0; i < Indent; i++)
				putchar(' ');
		    }
		    fputs(yytext, stdout);
		}
%%