ftp.nice.ch/pub/next/developer/languages/translator/schemetoc.s.tar.gz#/schemetoc/scrt/scexpanders2.c

This is scexpanders2.c in view mode; [Download] [Up]

/* SCHEME->C */

#include <objects.h>

DEFSTATICTSCP( c1628 );
DEFSTRING( t1712, "doloop", 6 );
DEFSTATICTSCP2( c1625, t1712 );
DEFSTRING( t1713, "BEGIN", 5 );
DEFSTATICTSCP( c1614 );
DEFSTRING( t1714, "IF", 2 );
DEFSTATICTSCP( c1613 );
DEFSTRING( t1715, "Illegal form:", 13 );
DEFSTATICTSCP2( c1582, t1715 );
DEFSTRING( t1716, "EXP", 3 );
DEFSTATICTSCP( c1549 );
DEFSTRING( t1717, "DO", 2 );
DEFSTATICTSCP( c1548 );
DEFSTRING( t1718, "Argument not a PAIR: ~s", 23 );
DEFSTATICTSCP2( c1503, t1718 );
DEFSTRING( t1719, "SET-CDR!", 8 );
DEFSTATICTSCP( c1502 );
DEFSTRING( t1720, "SET!", 4 );
DEFSTATICTSCP( c1453 );
DEFSTRING( t1721, "LET*", 4 );
DEFSTATICTSCP( c1253 );
DEFSTRING( t1722, "LAMBDA", 6 );
DEFSTATICTSCP( c1135 );
DEFSTRING( t1723, "LETREC", 6 );
DEFSTATICTSCP( c1124 );
DEFSTRING( t1724, "Illegal form: ~s", 16 );
DEFSTATICTSCP2( c1075, t1724 );
DEFSTRING( t1725, "LET", 3 );
DEFSTATICTSCP( c1074 );

static void  init_constants()
{
        c1628 = EMPTYLIST;
        c1628 = CONS( FALSEVALUE, c1628 );
        CONSTANTEXP( ADR( c1628 ) );
        c1614 = STRINGTOSYMBOL( U_TX( ADR( t1713 ) ) );
        CONSTANTEXP( ADR( c1614 ) );
        c1613 = STRINGTOSYMBOL( U_TX( ADR( t1714 ) ) );
        CONSTANTEXP( ADR( c1613 ) );
        c1549 = STRINGTOSYMBOL( U_TX( ADR( t1716 ) ) );
        CONSTANTEXP( ADR( c1549 ) );
        c1548 = STRINGTOSYMBOL( U_TX( ADR( t1717 ) ) );
        CONSTANTEXP( ADR( c1548 ) );
        c1502 = STRINGTOSYMBOL( U_TX( ADR( t1719 ) ) );
        CONSTANTEXP( ADR( c1502 ) );
        c1453 = STRINGTOSYMBOL( U_TX( ADR( t1720 ) ) );
        CONSTANTEXP( ADR( c1453 ) );
        c1253 = STRINGTOSYMBOL( U_TX( ADR( t1721 ) ) );
        CONSTANTEXP( ADR( c1253 ) );
        c1135 = STRINGTOSYMBOL( U_TX( ADR( t1722 ) ) );
        CONSTANTEXP( ADR( c1135 ) );
        c1124 = STRINGTOSYMBOL( U_TX( ADR( t1723 ) ) );
        CONSTANTEXP( ADR( c1124 ) );
        c1074 = STRINGTOSYMBOL( U_TX( ADR( t1725 ) ) );
        CONSTANTEXP( ADR( c1074 ) );
}

DEFTSCP( scexpanders2_let_2dmacro_v );
DEFSTRING( t1726, "SCEXPANDERS2_LET-MACRO", 22 );
EXTERNTSCPP( scexpand_islist );
EXTERNTSCP( scexpand_islist_v );
EXTERNTSCPP( scrt1__24__cdr_2derror );
EXTERNTSCP( scrt1__24__cdr_2derror_v );
EXTERNTSCPP( scrt1__24__car_2derror );
EXTERNTSCP( scrt1__24__car_2derror_v );
EXTERNTSCPP( sc_cons );
EXTERNTSCP( sc_cons_v );
EXTERNTSCPP( scrt1_cadar );
EXTERNTSCP( scrt1_cadar_v );
EXTERNTSCPP( scrt1_caddr );
EXTERNTSCP( scrt1_caddr_v );
EXTERNTSCPP( scrt6_error );
EXTERNTSCP( scrt6_error_v );
EXTERNTSCPP( scrt1_cons_2a );
EXTERNTSCP( scrt1_cons_2a_v );
EXTERNTSCPP( scrt1_append_2dtwo );
EXTERNTSCP( scrt1_append_2dtwo_v );
EXTERNTSCPP( scrt1_reverse );
EXTERNTSCP( scrt1_reverse_v );
EXTERNTSCPP( scrt1_cdddr );
EXTERNTSCP( scrt1_cdddr_v );

TSCP  scexpanders2_let_2dmacro( e1040 )
        TSCP  e1040;
{
        TSCP  X13, 
              X12, 
              X11, 
              X10, 
              X9, 
              X8, X7, X6, X5, X4, X3, X2, X1;

        PUSHSTACKTRACE( U_TX( ADR( t1726 ) ) );
        X7 = scexpand_islist( e1040, _TSCP( 12 ), EMPTYLIST );
        if  ( FALSE( X7 ) )  goto  L1777;
        if  ( EQ( TSCPTAG( e1040 ), PAIRTAG ) )  goto  L1735;
        scrt1__24__cdr_2derror( e1040 );
L1735:
        X9 = PAIR_CDR( e1040 );
        if  ( EQ( TSCPTAG( X9 ), PAIRTAG ) )  goto  L1738;
        scrt1__24__car_2derror( X9 );
L1738:
        X8 = PAIR_CAR( X9 );
        if  ( FALSE( scexpand_islist( X8, _TSCP( 0 ), EMPTYLIST ) )
            )  goto  L1777;
        X8 = PAIR_CDR( e1040 );
        if  ( EQ( TSCPTAG( X8 ), PAIRTAG ) )  goto  L1743;
        scrt1__24__car_2derror( X8 );
L1743:
        X6 = PAIR_CAR( X8 );
        X5 = EMPTYLIST;
        X4 = EMPTYLIST;
L1745:
        X4 = CONS( X4, EMPTYLIST );
        X5 = CONS( X5, EMPTYLIST );
        X8 = BOOLEAN( NEQ( TSCPTAG( X6 ), PAIRTAG ) );
        if  ( TRUE( X8 ) )  goto  L1750;
        if  ( EQ( TSCPTAG( X6 ), PAIRTAG ) )  goto  L1754;
        scrt1__24__car_2derror( X6 );
L1754:
        X10 = PAIR_CAR( X6 );
        if  ( FALSE( scexpand_islist( X10, 
                                      _TSCP( 8 ), 
                                      CONS( _TSCP( 8 ), EMPTYLIST ) ) )
            )  goto  L1751;
        X9 = FALSEVALUE;
        goto L1752;
L1751:
        X9 = TRUEVALUE;
L1752:
        if  ( TRUE( X9 ) )  goto  L1750;
        if  ( EQ( TSCPTAG( X6 ), PAIRTAG ) )  goto  L1764;
        scrt1__24__car_2derror( X6 );
L1764:
        X11 = PAIR_CAR( X6 );
        if  ( EQ( TSCPTAG( X11 ), PAIRTAG ) )  goto  L1767;
        scrt1__24__car_2derror( X11 );
L1767:
        X10 = PAIR_CAR( X11 );
        if  ( NOT( AND( EQ( TSCPTAG( X10 ), EXTENDEDTAG ), 
                        EQ( TSCP_EXTENDEDTAG( X10 ), SYMBOLTAG ) ) )
            )  goto  L1750;
        if  ( EQ( TSCPTAG( X6 ), PAIRTAG ) )  goto  L1771;
        scrt1__24__car_2derror( X6 );
L1771:
        X12 = PAIR_CAR( X6 );
        if  ( EQ( TSCPTAG( X12 ), PAIRTAG ) )  goto  L1774;
        scrt1__24__car_2derror( X12 );
L1774:
        X11 = PAIR_CAR( X12 );
        X10 = sc_cons( X11, PAIR_CAR( X5 ) );
        SETGEN( PAIR_CAR( X5 ), X10 );
        X11 = scrt1_cadar( X6 );
        X10 = sc_cons( X11, PAIR_CAR( X4 ) );
        SETGEN( PAIR_CAR( X4 ), X10 );
        X10 = PAIR_CDR( X6 );
        X4 = PAIR_CAR( X4 );
        X5 = PAIR_CAR( X5 );
        X6 = X10;
        goto L1745;
L1777:
        X7 = scexpand_islist( e1040, _TSCP( 16 ), EMPTYLIST );
        if  ( FALSE( X7 ) )  goto  L1823;
        if  ( EQ( TSCPTAG( e1040 ), PAIRTAG ) )  goto  L1785;
        scrt1__24__cdr_2derror( e1040 );
L1785:
        X9 = PAIR_CDR( e1040 );
        if  ( EQ( TSCPTAG( X9 ), PAIRTAG ) )  goto  L1788;
        scrt1__24__car_2derror( X9 );
L1788:
        X8 = PAIR_CAR( X9 );
        if  ( NOT( AND( EQ( TSCPTAG( X8 ), EXTENDEDTAG ), 
                        EQ( TSCP_EXTENDEDTAG( X8 ), SYMBOLTAG ) ) )
            )  goto  L1823;
        X3 = scrt1_caddr( e1040 );
        X2 = EMPTYLIST;
        X1 = EMPTYLIST;
L1791:
        X1 = CONS( X1, EMPTYLIST );
        X2 = CONS( X2, EMPTYLIST );
        X8 = BOOLEAN( NEQ( TSCPTAG( X3 ), PAIRTAG ) );
        if  ( TRUE( X8 ) )  goto  L1796;
        if  ( EQ( TSCPTAG( X3 ), PAIRTAG ) )  goto  L1800;
        scrt1__24__car_2derror( X3 );
L1800:
        X10 = PAIR_CAR( X3 );
        if  ( FALSE( scexpand_islist( X10, 
                                      _TSCP( 8 ), 
                                      CONS( _TSCP( 8 ), EMPTYLIST ) ) )
            )  goto  L1797;
        X9 = FALSEVALUE;
        goto L1798;
L1797:
        X9 = TRUEVALUE;
L1798:
        if  ( TRUE( X9 ) )  goto  L1796;
        if  ( EQ( TSCPTAG( X3 ), PAIRTAG ) )  goto  L1810;
        scrt1__24__car_2derror( X3 );
L1810:
        X11 = PAIR_CAR( X3 );
        if  ( EQ( TSCPTAG( X11 ), PAIRTAG ) )  goto  L1813;
        scrt1__24__car_2derror( X11 );
L1813:
        X10 = PAIR_CAR( X11 );
        if  ( NOT( AND( EQ( TSCPTAG( X10 ), EXTENDEDTAG ), 
                        EQ( TSCP_EXTENDEDTAG( X10 ), SYMBOLTAG ) ) )
            )  goto  L1796;
        if  ( EQ( TSCPTAG( X3 ), PAIRTAG ) )  goto  L1817;
        scrt1__24__car_2derror( X3 );
L1817:
        X12 = PAIR_CAR( X3 );
        if  ( EQ( TSCPTAG( X12 ), PAIRTAG ) )  goto  L1820;
        scrt1__24__car_2derror( X12 );
L1820:
        X11 = PAIR_CAR( X12 );
        X10 = sc_cons( X11, PAIR_CAR( X2 ) );
        SETGEN( PAIR_CAR( X2 ), X10 );
        X11 = scrt1_cadar( X3 );
        X10 = sc_cons( X11, PAIR_CAR( X1 ) );
        SETGEN( PAIR_CAR( X1 ), X10 );
        X10 = PAIR_CDR( X3 );
        X1 = PAIR_CAR( X1 );
        X2 = PAIR_CAR( X2 );
        X3 = X10;
        goto L1791;
L1823:
        POPSTACKTRACE( scrt6_error( c1074, 
                                    c1075, 
                                    CONS( e1040, EMPTYLIST ) ) );
L1750:
        if  ( FALSE( X6 ) )  goto  L1824;
        POPSTACKTRACE( scrt6_error( c1074, 
                                    c1075, 
                                    CONS( e1040, EMPTYLIST ) ) );
L1824:
        X10 = PAIR_CDR( e1040 );
        if  ( EQ( TSCPTAG( X10 ), PAIRTAG ) )  goto  L1828;
        scrt1__24__cdr_2derror( X10 );
L1828:
        X9 = PAIR_CDR( X10 );
        X10 = scrt1_cons_2a( EMPTYLIST, EMPTYLIST );
        X8 = CONS( scrt1_append_2dtwo( X9, X10 ), EMPTYLIST );
        X7 = scrt1_cons_2a( c1135, 
                            CONS( scrt1_reverse( PAIR_CAR( X5 ) ), 
                                  X8 ) );
        X9 = scrt1_reverse( PAIR_CAR( X4 ) );
        X10 = scrt1_cons_2a( EMPTYLIST, EMPTYLIST );
        POPSTACKTRACE( scrt1_cons_2a( X7, 
                                      CONS( scrt1_append_2dtwo( X9, 
                                                                X10 ), 
                                            EMPTYLIST ) ) );
L1796:
        if  ( FALSE( X3 ) )  goto  L1830;
        POPSTACKTRACE( scrt6_error( c1074, 
                                    c1075, 
                                    CONS( e1040, EMPTYLIST ) ) );
L1830:
        X7 = CONS( EMPTYLIST, EMPTYLIST );
        X9 = PAIR_CDR( e1040 );
        if  ( EQ( TSCPTAG( X9 ), PAIRTAG ) )  goto  L1834;
        scrt1__24__car_2derror( X9 );
L1834:
        X8 = PAIR_CAR( X9 );
        X10 = scrt1_reverse( PAIR_CAR( X1 ) );
        X11 = scrt1_cons_2a( EMPTYLIST, EMPTYLIST );
        X7 = CONS( scrt1_cons_2a( X8, 
                                  CONS( scrt1_append_2dtwo( X10, X11 ), 
                                        EMPTYLIST ) ), 
                   X7 );
        X10 = PAIR_CDR( e1040 );
        if  ( EQ( TSCPTAG( X10 ), PAIRTAG ) )  goto  L1838;
        scrt1__24__car_2derror( X10 );
L1838:
        X9 = PAIR_CAR( X10 );
        X10 = CONS( EMPTYLIST, EMPTYLIST );
        X12 = scrt1_cdddr( e1040 );
        X13 = scrt1_cons_2a( EMPTYLIST, EMPTYLIST );
        X11 = CONS( scrt1_append_2dtwo( X12, X13 ), 
                    EMPTYLIST );
        X8 = scrt1_cons_2a( X9, 
                            CONS( scrt1_cons_2a( c1135, 
                                                 CONS( scrt1_reverse( PAIR_CAR( X2 ) ), 
                                                       X11 ) ), 
                                  X10 ) );
        POPSTACKTRACE( scrt1_cons_2a( c1124, 
                                      CONS( scrt1_cons_2a( X8, 
                                                           CONS( EMPTYLIST, 
                                                                 EMPTYLIST ) ), 
                                            X7 ) ) );
}

EXTERNTSCPP( scexpand_install_2dexpander );
EXTERNTSCP( scexpand_install_2dexpander_v );
DEFSTRING( t1840, "scexpanders2_l1213 [inside TOP-LEVEL]", 37 );

TSCP  scexpanders2_l1213( x1214, e1215 )
        TSCP  x1214, e1215;
{
        TSCP  X2, X1;

        PUSHSTACKTRACE( U_TX( ADR( t1840 ) ) );
        X2 = scexpanders2_let_2dmacro( x1214 );
        X1 = e1215;
        X1 = UNKNOWNCALL( X1, 2 );
        POPSTACKTRACE( VIA( PROCEDURE_CODE( X1 ) )( X2, 
                                                    e1215, 
                                                    PROCEDURE_CLOSURE( X1 ) ) );
}

DEFTSCP( scexpanders2_let_2a_2dmacro_v );
DEFSTRING( t1842, "SCEXPANDERS2_LET*-MACRO", 23 );
EXTERNTSCPP( scexpanders2_let_2a_2dresult );
EXTERNTSCP( scexpanders2_let_2a_2dresult_v );

TSCP  scexpanders2_let_2a_2dmacro( e1218 )
        TSCP  e1218;
{
        TSCP  X9, 
              X8, X7, X6, X5, X4, X3, X2, X1;

        PUSHSTACKTRACE( U_TX( ADR( t1842 ) ) );
        X4 = scexpand_islist( e1218, _TSCP( 12 ), EMPTYLIST );
        if  ( FALSE( X4 ) )  goto  L1893;
        if  ( EQ( TSCPTAG( e1218 ), PAIRTAG ) )  goto  L1851;
        scrt1__24__cdr_2derror( e1218 );
L1851:
        X6 = PAIR_CDR( e1218 );
        if  ( EQ( TSCPTAG( X6 ), PAIRTAG ) )  goto  L1854;
        scrt1__24__car_2derror( X6 );
L1854:
        X5 = PAIR_CAR( X6 );
        if  ( FALSE( scexpand_islist( X5, _TSCP( 4 ), EMPTYLIST ) )
            )  goto  L1893;
        X5 = PAIR_CDR( e1218 );
        if  ( EQ( TSCPTAG( X5 ), PAIRTAG ) )  goto  L1859;
        scrt1__24__car_2derror( X5 );
L1859:
        X3 = PAIR_CAR( X5 );
        X2 = EMPTYLIST;
        X1 = EMPTYLIST;
L1861:
        X1 = CONS( X1, EMPTYLIST );
        X2 = CONS( X2, EMPTYLIST );
        X5 = BOOLEAN( NEQ( TSCPTAG( X3 ), PAIRTAG ) );
        if  ( TRUE( X5 ) )  goto  L1866;
        if  ( EQ( TSCPTAG( X3 ), PAIRTAG ) )  goto  L1870;
        scrt1__24__car_2derror( X3 );
L1870:
        X7 = PAIR_CAR( X3 );
        if  ( FALSE( scexpand_islist( X7, 
                                      _TSCP( 8 ), 
                                      CONS( _TSCP( 8 ), EMPTYLIST ) ) )
            )  goto  L1867;
        X6 = FALSEVALUE;
        goto L1868;
L1867:
        X6 = TRUEVALUE;
L1868:
        if  ( TRUE( X6 ) )  goto  L1866;
        if  ( EQ( TSCPTAG( X3 ), PAIRTAG ) )  goto  L1880;
        scrt1__24__car_2derror( X3 );
L1880:
        X8 = PAIR_CAR( X3 );
        if  ( EQ( TSCPTAG( X8 ), PAIRTAG ) )  goto  L1883;
        scrt1__24__car_2derror( X8 );
L1883:
        X7 = PAIR_CAR( X8 );
        if  ( NOT( AND( EQ( TSCPTAG( X7 ), EXTENDEDTAG ), 
                        EQ( TSCP_EXTENDEDTAG( X7 ), SYMBOLTAG ) ) )
            )  goto  L1866;
        if  ( EQ( TSCPTAG( X3 ), PAIRTAG ) )  goto  L1887;
        scrt1__24__car_2derror( X3 );
L1887:
        X9 = PAIR_CAR( X3 );
        if  ( EQ( TSCPTAG( X9 ), PAIRTAG ) )  goto  L1890;
        scrt1__24__car_2derror( X9 );
L1890:
        X8 = PAIR_CAR( X9 );
        X7 = sc_cons( X8, PAIR_CAR( X2 ) );
        SETGEN( PAIR_CAR( X2 ), X7 );
        X8 = scrt1_cadar( X3 );
        X7 = sc_cons( X8, PAIR_CAR( X1 ) );
        SETGEN( PAIR_CAR( X1 ), X7 );
        X7 = PAIR_CDR( X3 );
        X1 = PAIR_CAR( X1 );
        X2 = PAIR_CAR( X2 );
        X3 = X7;
        goto L1861;
L1893:
        X4 = scexpand_islist( e1218, _TSCP( 12 ), EMPTYLIST );
        if  ( FALSE( X4 ) )  goto  L1910;
        if  ( EQ( TSCPTAG( e1218 ), PAIRTAG ) )  goto  L1901;
        scrt1__24__cdr_2derror( e1218 );
L1901:
        X6 = PAIR_CDR( e1218 );
        if  ( EQ( TSCPTAG( X6 ), PAIRTAG ) )  goto  L1904;
        scrt1__24__car_2derror( X6 );
L1904:
        X5 = PAIR_CAR( X6 );
        if  ( NEQ( UNSIGNED( X5 ), UNSIGNED( EMPTYLIST ) ) )  goto  L1910;
        X8 = PAIR_CDR( e1218 );
        if  ( EQ( TSCPTAG( X8 ), PAIRTAG ) )  goto  L1908;
        scrt1__24__cdr_2derror( X8 );
L1908:
        X7 = PAIR_CDR( X8 );
        X8 = scrt1_cons_2a( EMPTYLIST, EMPTYLIST );
        X6 = CONS( scrt1_append_2dtwo( X7, X8 ), EMPTYLIST );
        X5 = scrt1_cons_2a( c1135, CONS( EMPTYLIST, X6 ) );
        POPSTACKTRACE( scrt1_cons_2a( X5, 
                                      CONS( EMPTYLIST, EMPTYLIST ) ) );
L1910:
        POPSTACKTRACE( scrt6_error( c1253, 
                                    c1075, 
                                    CONS( e1218, EMPTYLIST ) ) );
L1866:
        if  ( FALSE( X3 ) )  goto  L1911;
        POPSTACKTRACE( scrt6_error( c1253, 
                                    c1075, 
                                    CONS( e1218, EMPTYLIST ) ) );
L1911:
        X6 = PAIR_CDR( e1218 );
        if  ( EQ( TSCPTAG( X6 ), PAIRTAG ) )  goto  L1915;
        scrt1__24__cdr_2derror( X6 );
L1915:
        X5 = PAIR_CDR( X6 );
        X4 = scexpanders2_let_2a_2dresult( PAIR_CAR( X2 ), 
                                           PAIR_CAR( X1 ), X5 );
        if  ( EQ( TSCPTAG( X4 ), PAIRTAG ) )  goto  L1918;
        scrt1__24__car_2derror( X4 );
L1918:
        POPSTACKTRACE( PAIR_CAR( X4 ) );
}

DEFSTRING( t1920, "scexpanders2_l1336 [inside TOP-LEVEL]", 37 );

TSCP  scexpanders2_l1336( x1337, e1338 )
        TSCP  x1337, e1338;
{
        TSCP  X2, X1;

        PUSHSTACKTRACE( U_TX( ADR( t1920 ) ) );
        X2 = scexpanders2_let_2a_2dmacro( x1337 );
        X1 = e1338;
        X1 = UNKNOWNCALL( X1, 2 );
        POPSTACKTRACE( VIA( PROCEDURE_CODE( X1 ) )( X2, 
                                                    e1338, 
                                                    PROCEDURE_CLOSURE( X1 ) ) );
}

DEFTSCP( scexpanders2_let_2a_2dresult_v );
DEFSTRING( t1922, "SCEXPANDERS2_LET*-RESULT", 24 );

TSCP  scexpanders2_let_2a_2dresult( v1340, i1341, b1342 )
        TSCP  v1340, i1341, b1342;
{
        TSCP  X7, X6, X5, X4, X3, X2, X1;

        PUSHSTACKTRACE( U_TX( ADR( t1922 ) ) );
L1923:
        if  ( EQ( UNSIGNED( v1340 ), UNSIGNED( EMPTYLIST ) ) )  goto  L1924;
        if  ( EQ( TSCPTAG( v1340 ), PAIRTAG ) )  goto  L1927;
        scrt1__24__cdr_2derror( v1340 );
L1927:
        X1 = PAIR_CDR( v1340 );
        if  ( EQ( TSCPTAG( i1341 ), PAIRTAG ) )  goto  L1930;
        scrt1__24__cdr_2derror( i1341 );
L1930:
        X2 = PAIR_CDR( i1341 );
        X6 = scrt1_cons_2a( EMPTYLIST, EMPTYLIST );
        X5 = CONS( scrt1_append_2dtwo( b1342, X6 ), 
                   EMPTYLIST );
        X6 = PAIR_CAR( v1340 );
        X4 = scrt1_cons_2a( c1135, 
                            CONS( scrt1_cons_2a( X6, 
                                                 CONS( EMPTYLIST, 
                                                       EMPTYLIST ) ), 
                                  X5 ) );
        X5 = CONS( EMPTYLIST, EMPTYLIST );
        X3 = scrt1_cons_2a( X4, 
                            CONS( PAIR_CAR( i1341 ), X5 ) );
        b1342 = scrt1_cons_2a( X3, 
                               CONS( EMPTYLIST, EMPTYLIST ) );
        i1341 = X2;
        v1340 = X1;
        goto L1923;
L1924:
        POPSTACKTRACE( b1342 );
}

DEFTSCP( scexpanders2_letrec_2dmacro_v );
DEFSTRING( t1934, "SCEXPANDERS2_LETREC-MACRO", 25 );

TSCP  scexpanders2_letrec_2dmacro( e1366 )
        TSCP  e1366;
{
        TSCP  X13, 
              X12, 
              X11, 
              X10, 
              X9, 
              X8, X7, X6, X5, X4, X3, X2, X1;

        PUSHSTACKTRACE( U_TX( ADR( t1934 ) ) );
        X4 = scexpand_islist( e1366, _TSCP( 12 ), EMPTYLIST );
        if  ( FALSE( X4 ) )  goto  L1986;
        if  ( EQ( TSCPTAG( e1366 ), PAIRTAG ) )  goto  L1943;
        scrt1__24__cdr_2derror( e1366 );
L1943:
        X6 = PAIR_CDR( e1366 );
        if  ( EQ( TSCPTAG( X6 ), PAIRTAG ) )  goto  L1946;
        scrt1__24__car_2derror( X6 );
L1946:
        X5 = PAIR_CAR( X6 );
        if  ( FALSE( scexpand_islist( X5, _TSCP( 4 ), EMPTYLIST ) )
            )  goto  L1986;
        X5 = PAIR_CDR( e1366 );
        if  ( EQ( TSCPTAG( X5 ), PAIRTAG ) )  goto  L1951;
        scrt1__24__car_2derror( X5 );
L1951:
        X3 = PAIR_CAR( X5 );
        X2 = EMPTYLIST;
        X1 = EMPTYLIST;
L1953:
        X1 = CONS( X1, EMPTYLIST );
        X2 = CONS( X2, EMPTYLIST );
        X5 = BOOLEAN( NEQ( TSCPTAG( X3 ), PAIRTAG ) );
        if  ( TRUE( X5 ) )  goto  L1958;
        if  ( EQ( TSCPTAG( X3 ), PAIRTAG ) )  goto  L1962;
        scrt1__24__car_2derror( X3 );
L1962:
        X7 = PAIR_CAR( X3 );
        if  ( FALSE( scexpand_islist( X7, 
                                      _TSCP( 8 ), 
                                      CONS( _TSCP( 8 ), EMPTYLIST ) ) )
            )  goto  L1959;
        X6 = FALSEVALUE;
        goto L1960;
L1959:
        X6 = TRUEVALUE;
L1960:
        if  ( TRUE( X6 ) )  goto  L1958;
        if  ( EQ( TSCPTAG( X3 ), PAIRTAG ) )  goto  L1972;
        scrt1__24__car_2derror( X3 );
L1972:
        X8 = PAIR_CAR( X3 );
        if  ( EQ( TSCPTAG( X8 ), PAIRTAG ) )  goto  L1975;
        scrt1__24__car_2derror( X8 );
L1975:
        X7 = PAIR_CAR( X8 );
        if  ( NOT( AND( EQ( TSCPTAG( X7 ), EXTENDEDTAG ), 
                        EQ( TSCP_EXTENDEDTAG( X7 ), SYMBOLTAG ) ) )
            )  goto  L1958;
        if  ( EQ( TSCPTAG( X3 ), PAIRTAG ) )  goto  L1979;
        scrt1__24__car_2derror( X3 );
L1979:
        X9 = PAIR_CAR( X3 );
        if  ( EQ( TSCPTAG( X9 ), PAIRTAG ) )  goto  L1982;
        scrt1__24__car_2derror( X9 );
L1982:
        X8 = PAIR_CAR( X9 );
        X7 = sc_cons( X8, PAIR_CAR( X2 ) );
        SETGEN( PAIR_CAR( X2 ), X7 );
        X10 = PAIR_CAR( X3 );
        X11 = scrt1_cons_2a( EMPTYLIST, EMPTYLIST );
        X8 = scrt1_cons_2a( c1453, 
                            CONS( scrt1_append_2dtwo( X10, X11 ), 
                                  EMPTYLIST ) );
        X7 = sc_cons( X8, PAIR_CAR( X1 ) );
        SETGEN( PAIR_CAR( X1 ), X7 );
        X7 = PAIR_CDR( X3 );
        X1 = PAIR_CAR( X1 );
        X2 = PAIR_CAR( X2 );
        X3 = X7;
        goto L1953;
L1986:
        X4 = scexpand_islist( e1366, _TSCP( 12 ), EMPTYLIST );
        if  ( FALSE( X4 ) )  goto  L2003;
        if  ( EQ( TSCPTAG( e1366 ), PAIRTAG ) )  goto  L1994;
        scrt1__24__cdr_2derror( e1366 );
L1994:
        X6 = PAIR_CDR( e1366 );
        if  ( EQ( TSCPTAG( X6 ), PAIRTAG ) )  goto  L1997;
        scrt1__24__car_2derror( X6 );
L1997:
        X5 = PAIR_CAR( X6 );
        if  ( NEQ( UNSIGNED( X5 ), UNSIGNED( EMPTYLIST ) ) )  goto  L2003;
        X8 = PAIR_CDR( e1366 );
        if  ( EQ( TSCPTAG( X8 ), PAIRTAG ) )  goto  L2001;
        scrt1__24__cdr_2derror( X8 );
L2001:
        X7 = PAIR_CDR( X8 );
        X8 = scrt1_cons_2a( EMPTYLIST, EMPTYLIST );
        X6 = CONS( scrt1_append_2dtwo( X7, X8 ), EMPTYLIST );
        X5 = scrt1_cons_2a( c1135, CONS( EMPTYLIST, X6 ) );
        POPSTACKTRACE( scrt1_cons_2a( X5, 
                                      CONS( EMPTYLIST, EMPTYLIST ) ) );
L2003:
        POPSTACKTRACE( scrt6_error( c1124, 
                                    c1075, 
                                    CONS( e1366, EMPTYLIST ) ) );
L1958:
        if  ( FALSE( X3 ) )  goto  L2004;
        POPSTACKTRACE( scrt6_error( c1124, 
                                    c1075, 
                                    CONS( e1366, EMPTYLIST ) ) );
L2004:
        X6 = scrt1_reverse( PAIR_CAR( X1 ) );
        X10 = PAIR_CDR( e1366 );
        if  ( EQ( TSCPTAG( X10 ), PAIRTAG ) )  goto  L2008;
        scrt1__24__cdr_2derror( X10 );
L2008:
        X9 = PAIR_CDR( X10 );
        X10 = scrt1_cons_2a( EMPTYLIST, EMPTYLIST );
        X8 = scrt1_append_2dtwo( X9, X10 );
        X7 = scrt1_cons_2a( X8, EMPTYLIST );
        X5 = CONS( scrt1_append_2dtwo( X6, X7 ), EMPTYLIST );
        X4 = scrt1_cons_2a( c1135, 
                            CONS( scrt1_reverse( PAIR_CAR( X2 ) ), 
                                  X5 ) );
        X7 = PAIR_CAR( X2 );
        X8 = X7;
        X9 = EMPTYLIST;
        X10 = EMPTYLIST;
L2012:
        if  ( NEQ( UNSIGNED( X8 ), UNSIGNED( EMPTYLIST ) ) )  goto  L2013;
        X6 = X9;
        goto L2021;
L2013:
        if  ( EQ( TSCPTAG( X8 ), PAIRTAG ) )  goto  L2016;
        scrt1__24__car_2derror( X8 );
L2016:
        X13 = PAIR_CAR( X8 );
        X12 = _TSCP( 0 );
        X11 = sc_cons( X12, EMPTYLIST );
        if  ( NEQ( UNSIGNED( X9 ), UNSIGNED( EMPTYLIST ) ) )  goto  L2020;
        X12 = PAIR_CDR( X8 );
        X10 = X11;
        X9 = X11;
        X8 = X12;
        goto L2012;
L2020:
        X12 = PAIR_CDR( X8 );
        if  ( EQ( TSCPTAG( X10 ), PAIRTAG ) )  goto  L2025;
        scrt6_error( c1502, 
                     c1503, CONS( X10, EMPTYLIST ) );
L2025:
        X10 = SETGEN( PAIR_CDR( X10 ), X11 );
        X8 = X12;
        goto L2012;
L2021:
        X7 = scrt1_cons_2a( EMPTYLIST, EMPTYLIST );
        POPSTACKTRACE( scrt1_cons_2a( X4, 
                                      CONS( scrt1_append_2dtwo( X6, X7 ), 
                                            EMPTYLIST ) ) );
}

DEFSTRING( t2027, "scexpanders2_l1524 [inside TOP-LEVEL]", 37 );

TSCP  scexpanders2_l1524( x1525, e1526 )
        TSCP  x1525, e1526;
{
        TSCP  X2, X1;

        PUSHSTACKTRACE( U_TX( ADR( t2027 ) ) );
        X2 = scexpanders2_letrec_2dmacro( x1525 );
        X1 = e1526;
        X1 = UNKNOWNCALL( X1, 2 );
        POPSTACKTRACE( VIA( PROCEDURE_CODE( X1 ) )( X2, 
                                                    e1526, 
                                                    PROCEDURE_CLOSURE( X1 ) ) );
}

DEFTSCP( scexpanders2_do_2dmacro_v );
DEFSTRING( t2029, "SCEXPANDERS2_DO-MACRO", 21 );
EXTERNTSCPP( sc_d_2dsymbol_ab4b4447 );
EXTERNTSCP( sc_d_2dsymbol_ab4b4447_v );
EXTERNTSCPP( scrt1_caaddr );
EXTERNTSCP( scrt1_caaddr_v );
EXTERNTSCPP( scrt1_cdaddr );
EXTERNTSCP( scrt1_cdaddr_v );

TSCP  scexpanders2_do_2dmacro( e1529 )
        TSCP  e1529;
{
        TSCP  X20, 
              X19, 
              X18, 
              X17, 
              X16, 
              X15, 
              X14, 
              X13, 
              X12, 
              X11, 
              X10, 
              X9, 
              X8, X7, X6, X5, X4, X3, X2, X1;

        PUSHSTACKTRACE( U_TX( ADR( t2029 ) ) );
        X1 = scexpand_islist( e1529, _TSCP( 12 ), EMPTYLIST );
        if  ( FALSE( X1 ) )  goto  L2085;
        if  ( EQ( TSCPTAG( e1529 ), PAIRTAG ) )  goto  L2036;
        scrt1__24__cdr_2derror( e1529 );
L2036:
        X4 = PAIR_CDR( e1529 );
        if  ( EQ( TSCPTAG( X4 ), PAIRTAG ) )  goto  L2039;
        scrt1__24__car_2derror( X4 );
L2039:
        X3 = PAIR_CAR( X4 );
        X2 = scexpand_islist( X3, _TSCP( 0 ), EMPTYLIST );
        if  ( FALSE( X2 ) )  goto  L2085;
        X3 = scrt1_caddr( e1529 );
        if  ( FALSE( scexpand_islist( X3, _TSCP( 4 ), EMPTYLIST ) )
            )  goto  L2085;
        X4 = PAIR_CDR( e1529 );
        if  ( EQ( TSCPTAG( X4 ), PAIRTAG ) )  goto  L2049;
        scrt1__24__car_2derror( X4 );
L2049:
        X3 = PAIR_CAR( X4 );
        X4 = EMPTYLIST;
        X5 = EMPTYLIST;
        X6 = EMPTYLIST;
        X7 = sc_d_2dsymbol_ab4b4447( c1625 );
        X8 = scrt1_caaddr( e1529 );
        X10 = scrt1_cdaddr( e1529 );
        if  ( FALSE( X10 ) )  goto  L2052;
        X9 = X10;
        goto L2053;
L2052:
        X9 = c1628;
L2053:
        X10 = scrt1_cdddr( e1529 );
        X6 = CONS( X6, EMPTYLIST );
        X5 = CONS( X5, EMPTYLIST );
        X4 = CONS( X4, EMPTYLIST );
        X11 = scrt1_reverse( X3 );
        X12 = X11;
L2057:
        if  ( EQ( UNSIGNED( X12 ), UNSIGNED( EMPTYLIST ) ) )  goto  L2058;
        if  ( EQ( TSCPTAG( X12 ), PAIRTAG ) )  goto  L2062;
        scrt1__24__car_2derror( X12 );
L2062:
        X13 = PAIR_CAR( X12 );
        if  ( FALSE( scexpand_islist( X13, 
                                      _TSCP( 8 ), 
                                      CONS( _TSCP( 12 ), EMPTYLIST ) ) )
            )  goto  L2065;
        if  ( EQ( TSCPTAG( X13 ), PAIRTAG ) )  goto  L2068;
        scrt1__24__car_2derror( X13 );
L2068:
        X14 = PAIR_CAR( X13 );
        X16 = PAIR_CDR( X13 );
        if  ( EQ( TSCPTAG( X16 ), PAIRTAG ) )  goto  L2073;
        scrt1__24__car_2derror( X16 );
L2073:
        X15 = PAIR_CAR( X16 );
        X17 = PAIR_CDR( X13 );
        if  ( EQ( TSCPTAG( X17 ), PAIRTAG ) )  goto  L2078;
        scrt1__24__cdr_2derror( X17 );
L2078:
        if  ( FALSE( PAIR_CDR( X17 ) ) )  goto  L2080;
        X16 = scrt1_caddr( X13 );
        goto L2081;
L2080:
        X16 = X14;
L2081:
        X17 = sc_cons( X14, PAIR_CAR( X4 ) );
        SETGEN( PAIR_CAR( X4 ), X17 );
        X17 = sc_cons( X16, PAIR_CAR( X6 ) );
        SETGEN( PAIR_CAR( X6 ), X17 );
        X17 = sc_cons( X15, PAIR_CAR( X5 ) );
        SETGEN( PAIR_CAR( X5 ), X17 );
        goto L2066;
L2065:
        scrt6_error( c1548, 
                     c1582, CONS( X13, EMPTYLIST ) );
L2066:
        X12 = PAIR_CDR( X12 );
        goto L2057;
L2058:
        X11 = CONS( EMPTYLIST, EMPTYLIST );
        X13 = scrt1_cons_2a( EMPTYLIST, EMPTYLIST );
        X11 = CONS( scrt1_cons_2a( X7, 
                                   CONS( scrt1_append_2dtwo( PAIR_CAR( X5 ), 
                                                             X13 ), 
                                         EMPTYLIST ) ), 
                    X11 );
        X13 = CONS( EMPTYLIST, EMPTYLIST );
        X14 = CONS( EMPTYLIST, EMPTYLIST );
        X15 = CONS( EMPTYLIST, EMPTYLIST );
        X20 = scrt1_cons_2a( EMPTYLIST, EMPTYLIST );
        X18 = scrt1_cons_2a( X7, 
                             CONS( scrt1_append_2dtwo( PAIR_CAR( X6 ), 
                                                       X20 ), 
                                   EMPTYLIST ) );
        X17 = scrt1_cons_2a( X18, 
                             CONS( EMPTYLIST, EMPTYLIST ) );
        X15 = CONS( scrt1_cons_2a( c1614, 
                                   CONS( scrt1_append_2dtwo( X10, X17 ), 
                                         EMPTYLIST ) ), 
                    X15 );
        X17 = scrt1_cons_2a( EMPTYLIST, EMPTYLIST );
        X15 = CONS( scrt1_cons_2a( c1614, 
                                   CONS( scrt1_append_2dtwo( X9, X17 ), 
                                         EMPTYLIST ) ), 
                    X15 );
        X14 = CONS( scrt1_cons_2a( c1613, CONS( X8, X15 ) ), 
                    X14 );
        X12 = scrt1_cons_2a( X7, 
                             CONS( scrt1_cons_2a( c1135, 
                                                  CONS( PAIR_CAR( X4 ), 
                                                        X14 ) ), 
                                   X13 ) );
        POPSTACKTRACE( scrt1_cons_2a( c1124, 
                                      CONS( scrt1_cons_2a( X12, 
                                                           CONS( EMPTYLIST, 
                                                                 EMPTYLIST ) ), 
                                            X11 ) ) );
L2085:
        POPSTACKTRACE( scrt6_error( c1548, 
                                    c1075, 
                                    CONS( c1549, EMPTYLIST ) ) );
}

DEFSTRING( t2086, "scexpanders2_l1629 [inside TOP-LEVEL]", 37 );

TSCP  scexpanders2_l1629( x1630, e1631 )
        TSCP  x1630, e1631;
{
        TSCP  X2, X1;

        PUSHSTACKTRACE( U_TX( ADR( t2086 ) ) );
        X2 = scexpanders2_do_2dmacro( x1630 );
        X1 = e1631;
        X1 = UNKNOWNCALL( X1, 2 );
        POPSTACKTRACE( VIA( PROCEDURE_CODE( X1 ) )( X2, 
                                                    e1631, 
                                                    PROCEDURE_CLOSURE( X1 ) ) );
}

static void  init_modules( compiler_version )
        char *compiler_version;
{
        scrt6__init();
        scrt1__init();
        scexpand__init();
        MAXDISPLAY( 0 );
}

void  scexpanders2__init()
{
        TSCP  X1;

        static int  init = 0;
        if  (init)  return;
        init = 1;
        INITHEAP( 0, 0, 0, 0 );
        init_constants();
        init_modules( "(scexpanders2 SCHEME->C COMPILER 28sep90jfb)" );
        INITIALIZEVAR( U_TX( ADR( t1726 ) ), 
                       ADR( scexpanders2_let_2dmacro_v ), 
                       MAKEPROCEDURE( 1, 
                                      0, 
                                      scexpanders2_let_2dmacro, 
                                      EMPTYLIST ) );
        X1 = MAKEPROCEDURE( 2, 
                            0, scexpanders2_l1213, EMPTYLIST );
        scexpand_install_2dexpander( c1074, X1 );
        INITIALIZEVAR( U_TX( ADR( t1842 ) ), 
                       ADR( scexpanders2_let_2a_2dmacro_v ), 
                       MAKEPROCEDURE( 1, 
                                      0, 
                                      scexpanders2_let_2a_2dmacro, 
                                      EMPTYLIST ) );
        X1 = MAKEPROCEDURE( 2, 
                            0, scexpanders2_l1336, EMPTYLIST );
        scexpand_install_2dexpander( c1253, X1 );
        INITIALIZEVAR( U_TX( ADR( t1922 ) ), 
                       ADR( scexpanders2_let_2a_2dresult_v ), 
                       MAKEPROCEDURE( 3, 
                                      0, 
                                      scexpanders2_let_2a_2dresult, 
                                      EMPTYLIST ) );
        INITIALIZEVAR( U_TX( ADR( t1934 ) ), 
                       ADR( scexpanders2_letrec_2dmacro_v ), 
                       MAKEPROCEDURE( 1, 
                                      0, 
                                      scexpanders2_letrec_2dmacro, 
                                      EMPTYLIST ) );
        X1 = MAKEPROCEDURE( 2, 
                            0, scexpanders2_l1524, EMPTYLIST );
        scexpand_install_2dexpander( c1124, X1 );
        INITIALIZEVAR( U_TX( ADR( t2029 ) ), 
                       ADR( scexpanders2_do_2dmacro_v ), 
                       MAKEPROCEDURE( 1, 
                                      0, 
                                      scexpanders2_do_2dmacro, 
                                      EMPTYLIST ) );
        X1 = MAKEPROCEDURE( 2, 
                            0, scexpanders2_l1629, EMPTYLIST );
        scexpand_install_2dexpander( c1548, X1 );
        return;
}

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.