|
|
1.1 ! root 1: Fred DEFINITIONS IMPLICIT TAGS ::= ! 2: %{ ! 3: int br = 10; ! 4: int frd = 9; ! 5: %} ! 6: BEGIN ! 7: ! 8: SECTIONS build parse print ! 9: ! 10: Barney ::= SEQUENCE { ! 11: COMPONENTS OF Fred, ! 12: wilma INTEGER [[i frd]], ! 13: fred INTEGER [[i frd]], ! 14: pets SEQUENCE SIZE (1..MAX) OF INTEGER } ! 15: ! 16: Fred ::= SEQUENCE { ! 17: barney-rubble INTEGER [[i br]], ! 18: betty-rubble INTEGER [[i br]], ! 19: the-dog REAL } ! 20: ! 21: END ! 22: %{ ! 23: #include <stdio.h> ! 24: ! 25: char *myname; ! 26: ! 27: main (argc, argv) ! 28: int argc; ! 29: char **argv; ! 30: { ! 31: PE pe; ! 32: PE pe2; ! 33: ! 34: myname = argv[0]; ! 35: ! 36: build_Fred_Barney(&pe, 1, 0, NULLCP, NullParm); ! 37: build_Fred_Fred(&pe2, 1, 0, NULLCP, NullParm); ! 38: parse_Fred_Barney(pe, 1, NULLIP, NULLVP, NullParm); ! 39: parse_Fred_Fred(pe2, 1, NULLIP, NULLVP, NullParm); ! 40: print_Fred_Barney(pe, 1, NULLIP, NULLVP, NullParm); ! 41: print_Fred_Fred(pe2, 1, NULLIP, NULLVP, NullParm); ! 42: exit (0); ! 43: } ! 44: ! 45: ! 46: /* VARARGS2 */ ! 47: ! 48: adios (what, fmt, a, b, c, d, e, f, g, h, i, j) ! 49: char *what, ! 50: *fmt, ! 51: *a, ! 52: *b, ! 53: *c, ! 54: *d, ! 55: *e, ! 56: *f, ! 57: *g, ! 58: *h, ! 59: *i, ! 60: *j; ! 61: { ! 62: advise (what, fmt, a, b, c, d, e, f, g, h, i, j); ! 63: _exit (1); ! 64: } ! 65: ! 66: /* */ ! 67: ! 68: /* VARARGS2 */ ! 69: ! 70: void advise (what, fmt, a, b, c, d, e, f, g, h, i, j) ! 71: char *what, ! 72: *fmt, ! 73: *a, ! 74: *b, ! 75: *c, ! 76: *d, ! 77: *e, ! 78: *f, ! 79: *g, ! 80: *h, ! 81: *i, ! 82: *j; ! 83: { ! 84: (void) fflush (stdout); ! 85: ! 86: fprintf (stderr, "%s: ", myname); ! 87: fprintf (stderr, fmt, a, b, c, d, e, f, g, h, i, j); ! 88: if (what) ! 89: (void) fputc (' ', stderr), perror (what); ! 90: else ! 91: (void) fputc ('\n', stderr); ! 92: ! 93: (void) fflush (stderr); ! 94: } ! 95: ! 96: ! 97: %}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.