|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T s
Length: 1931 (0x78b)
Types: TextFile
Names: »salary.py«
└─⟦3d0c2be1b⟧ Bits:30001254 ISODE-5.0 Tape
└─⟦eba4602b1⟧ »./isode-5.0.tar.Z«
└─⟦d3ac74d73⟧
└─⟦this⟧ »isode-5.0/pepy/salary.py«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
└─⟦35176feda⟧ »EurOpenD22/isode/isode-6.tar.Z«
└─⟦de7628f85⟧
└─⟦this⟧ »isode-6.0/pepy/salary.py«
SalaryDefs DEFINITIONS ::=
%{
#include <stdio.h>
#define PEPYPARM struct salary_record *
static char *myname = "salary";
static struct salary_record {
char *name;
int salary;
} salary;
void adios ();
/* \f
*/
/* ARGSUSED */
main (argc, argv, envp)
int argc;
char **argv,
**envp;
{
PE pe;
myname = argv[0];
if (argc != 3)
adios (NULLCP, "usage: %s name salary", myname);
salary.name = argv[1];
salary.salary = atoi (argv[2]);
if (build_SalaryDefs_Salary (&pe, 1, NULL, NULLCP, &salary) == NOTOK)
adios (NULLCP, "encoder fails");
salary.name = NULL;
salary.salary = 0;
if (unbuild_SalaryDefs_Salary (pe, 1, NULLIP, NULLVP, &salary) == NOTOK)
adios (NULLCP, "decoder fails");
exit (0); /* NOTREACHED */
}
%}
BEGIN
SECTIONS build unbuild none
Salary ::=
SEQUENCE {
name
PrintableString [[s parm -> name]]
%{ printf("name %s ", parm -> name); %},
salary
TheSalary [[i parm -> salary ]]
%{ printf("salary %d\n", parm -> salary); %}
}
TheSalary ::=
INTEGER
END
%{
/* \f
ERRORS */
#include <varargs.h>
#ifndef lint
void _advise ();
static void adios (va_alist)
va_dcl
{
va_list ap;
va_start (ap);
_advise (ap);
va_end (ap);
_exit (1);
}
#else
/* VARARGS */
static void adios (what, fmt)
char *what,
*fmt;
{
adios (what, fmt);
}
#endif
#ifndef lint
static void advise (va_alist)
va_dcl
{
va_list ap;
va_start (ap);
_advise (ap);
va_end (ap);
}
static void _advise (ap)
va_list ap;
{
char buffer[BUFSIZ];
asprintf (buffer, ap);
(void) fflush (stdout);
fprintf (stderr, "%s: ", myname);
(void) fputs (buffer, stderr);
(void) fputc ('\n', stderr);
(void) fflush (stderr);
}
#else
/* VARARGS */
static void advise (what, fmt)
char *what,
*fmt;
{
advise (what, fmt);
}
#endif
%}