DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T l

⟦7b91e28fb⟧ TextFile

    Length: 3755 (0xeab)
    Types: TextFile
    Names: »lex.yy.c«

Derivation

└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
    └─⟦this⟧ »EUUGD18/X/Clover/lex.yy.c« 

TextFile

# include "stdio.h"
# define U(x) x
# define NLSTATE yyprevious=YYNEWLINE
# define BEGIN yybgin = yysvec + 1 +
# define INITIAL 0
# define YYLERR yysvec
# define YYSTATE (yyestate-yysvec-1)
# define YYOPTIM 1
# define YYLMAX BUFSIZ
# define output(c) putc(c,yyout)
# define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar)
# define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;}
# define yymore() (yymorfg=1)
# define ECHO fprintf(yyout, "%s",yytext)
# define REJECT { nstr = yyreject(); goto yyfussy;}
int yyleng; extern char yytext[];
int yymorfg;
extern char *yysptr, yysbuf[];
int yytchar;
FILE *yyin = {stdin}, *yyout = {stdout};
extern int yylineno;
struct yysvf { 
	struct yywork *yystoff;
	struct yysvf *yyother;
	int *yystops;};
struct yysvf *yyestate;
extern struct yysvf yysvec[], *yybgin;
 ;;; -*- Mode: LISP;  Package: hacks; base: 8; lowercase: t -*-
  (multiple-value-bind (nil rem) (floor n d) rem))
  `(as-2-reverse (1+ (ar-2-reverse *color-screen-array* ,x1 ,y1))
		 *color-screen-array*
		 ,x1
		 ,y1))
			 &aux (max (max (abs (- xn x0)) (abs (- yn y0)))))
       (draw-sym-subline x0 y0 xn yn 0 max))
				    &aux (max (max (abs (- xn x0)) (abs (- yn y0)))))
       (draw-sym-subline x0 y0 xn yn
			 (- (fix (* -1 begfrac max)))
			 (fix (* endfrac max))))
       (cond ((> xn x0) (cond ((> yn y0) (cond ((> dx dy) (line-loop #'plot0 x0 y0 dx dy i j))
					       ((line-loop #'plot1 y0 x0 dy dx i j))))
			      ((cond ((> dx dy) (line-loop #'plot7 x0 (- y0) dx dy i j))
				     ((line-loop #'plot6 (- y0) x0 dy dx i j))))))
	     ((cond ((> yn y0) (cond ((> dx dy) (line-loop #'plot3 (- x0) y0 dx dy i j))
				     ((line-loop #'plot2 y0 (- x0) dy dx i j))))
		    ((cond ((> dx dy) (line-loop #'plot4 (- x0) (- y0) dx dy i j))
			   ((line-loop #'plot5 (- y0) (- x0) dy dx i j))))))))
		      &aux (num (+ dx (* 2 i dy))))
       (do ((j2 (min j (ash dx -1)))
	    (y (+ y0 (truncate num (ash dx 1))))
	    (i i (1+ i))
	    (x (+ x0 i) (1+ x))
	    (f (ash (- (\ num (ash dx 1)) dx) -1) (+ f dy)))
	   ((> i j2) (do ((i i (1+ i))
			  (x x (1+ x))
			  (f f (+ f dy)))
			 ((> i j))
			 (and (> (+ f f) dx) (setq f (- f dx) y (1+ y)))
			 (funcall fun x y)))
	   (and ( (+ f f) dx) (setq f (- f dx) y (1+ y)))
	   (funcall fun x y)))
			    &optional (dx (abs (- xn x0))) (dy (abs (- yn y0))))
       (cond ((> xn x0) (cond ((> yn y0) (cond ((> dx dy)
						(line-clip #'plot0 x0 y0 dx dy xe ye xf yf))
					       ((line-clip #'plot1 y0 x0 dy dx ye xe yf xf))))
			      ((cond ((> dx dy)
				      (line-clip #'plot7 x0 (- y0) dx dy xe (- yf) xf (- ye)))
				     ((line-clip #'plot6 (- y0) x0 dy dx (- yf) xe (- ye) xf))))))
	     ((cond ((> yn y0)
		     (cond ((> dx dy)
			    (line-clip #'plot3 (- x0) y0 dx dy (- xf) ye (- xe) yf))
			   ((line-clip #'plot2 y0 (- x0) dy dx ye (- xf) yf (- xe)))))
		    ((cond ((> dx dy)
			    (line-clip #'plot4 (- x0) (- y0) dx dy (- xf) (- yf) (- xe) (- ye)))
			   ((line-clip #'plot5 (- y0) (- x0) dy dx (- yf) (- xf) (- ye) (- xe)))))))))
		      &aux (x (max x0 xe (if (= dy 0) xe (+ x0 (//+ (* dx
								       (1- (ash (- ye y0) 1)))
								    (ash dy 1))))))
		           (num (+ dx (* 2 dy (- x x0))))
			   (lx (min xf (if (= dy 0) xf (+ x0 (//+ (* dx (1- (ash (- yf y0) 1)))
								 (ash dy 1)))))))
       (do ((xx (min (+ x0 (ash dx -1)) lx))
	    (y (+ y0 (//- num (ash dx 1))))
	    (x x (1+ x))
	    (f (ash (- (\- num (ash dx 1)) dx) -1) (+ f dy)))
	   ((> x xx) (do ((xx lx)
			  (x x (1+ x))
			  (f f (+ f dy)))
			 ((> x xx))
			 (and (> (+ f f) dx) (setq f (- f dx) y (1+ y)))
			 (funcall fun x y)))
	   (and ( (+ f f) dx) (setq f (- f dx) y (1+ y)))
	   (funcall fun x y)))