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

⟦a55ce35c3⟧ TextFile

    Length: 1470 (0x5be)
    Types: TextFile
    Names: »lex.l«

Derivation

└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
    └─⟦dc59850a2⟧ »EurOpenD22/pp5.0/pp-5.tar.Z« 
        └─⟦e5a54fb17⟧ 
            └─⟦this⟧ »pp-5.0/Tools/tables/tjoin/lex.l« 

TextFile

%{


#include        "y.tab.h"

# define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):bwgetc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar)

#define         HEAP            30      /*  cleans the heap after a YACC err */
#define         NULL             0

extern  YYSTYPE     		yylval;
extern 	int 			Debug;
extern	char			*av0;
extern	char 			*strdup();

static  char    		buffer [1000];
static  char    		*buffptr = 0;

char    			**memptr, *heapstore [HEAP];

%}

%%

#.*\n			;
[-a-zA-Z0-9\.]*         {
                        yylval.str = strdup (yytext);
                        return (STRING);
                        }

\n                      {
                        return ('\n');
                        }

[,:()]			{
			return (yytext [0]);
			}

.			;

%%



bwgetc (fp)
FILE    *fp;
{
        if (buffptr == 0 || *buffptr == '\00') {
                if (fgets (&buffer [0], 999, fp) == NULL)
                        return (EOF);
                buffptr = &buffer[0];
                memptr = &heapstore[0];
                *memptr = NULL;
	}
        return (*buffptr++);
}

crapline()
{
        char    **p;
	int	len;

	len = strlen (&buffer[0]);
	if (len < 0)
		--len;

        buffer [len] = '\00';

        for (p = &heapstore[0]; *p != NULL; p++) {
		if ((Debug & 1) != 0)
			printf ("Free %s - CrapLine\n", p);
                free (*p);
		p = NULL;
	}
        fprintf (stderr, "*** Error [%s] line %d\n", &buffer [0], yylineno - 1);
}