This is scqquote.c in view mode; [Download] [Up]
/* SCHEME->C */
#include <objects.h>
DEFSTATICTSCP( c1335 );
DEFSTRING( t1422, "UNQUOTE-SPLICING", 16 );
DEFSTATICTSCP( t1421 );
DEFSTRING( t1424, "QUOTE", 5 );
DEFSTATICTSCP( t1423 );
DEFSTATICTSCP( c1311 );
DEFSTRING( t1425, "APPEND", 6 );
DEFSTATICTSCP( c1300 );
DEFSTRING( t1426, "UNQUOTE-SPLICING", 16 );
DEFSTATICTSCP( c1287 );
DEFSTRING( t1427, "LIST->VECTOR", 12 );
DEFSTATICTSCP( c1243 );
DEFSTATICTSCP( c1215 );
DEFSTRING( t1429, "QUASIQUOTE", 10 );
DEFSTATICTSCP( t1428 );
DEFSTRING( t1430, "CONS*", 5 );
DEFSTATICTSCP( c1208 );
DEFSTATICTSCP( c1131 );
DEFSTRING( t1432, "UNQUOTE", 7 );
DEFSTATICTSCP( t1431 );
DEFSTRING( t1433, "LIST", 4 );
DEFSTATICTSCP( c1130 );
DEFSTRING( t1434, "QUOTE", 5 );
DEFSTATICTSCP( c1111 );
DEFSTRING( t1435, "UNQUOTE", 7 );
DEFSTATICTSCP( c1082 );
DEFSTRING( t1436, "Illegal form: ~s", 16 );
DEFSTATICTSCP2( c1044, t1436 );
DEFSTRING( t1437, "QUASIQUOTE", 10 );
DEFSTATICTSCP( c1043 );
static void init_constants()
{
TSCP X1;
c1335 = EMPTYLIST;
t1421 = STRINGTOSYMBOL( U_TX( ADR( t1422 ) ) );
c1335 = CONS( t1421, c1335 );
t1423 = STRINGTOSYMBOL( U_TX( ADR( t1424 ) ) );
c1335 = CONS( t1423, c1335 );
CONSTANTEXP( ADR( c1335 ) );
c1311 = EMPTYLIST;
X1 = EMPTYLIST;
X1 = CONS( EMPTYLIST, X1 );
X1 = CONS( t1423, X1 );
c1311 = CONS( X1, c1311 );
CONSTANTEXP( ADR( c1311 ) );
c1300 = STRINGTOSYMBOL( U_TX( ADR( t1425 ) ) );
CONSTANTEXP( ADR( c1300 ) );
c1287 = STRINGTOSYMBOL( U_TX( ADR( t1426 ) ) );
CONSTANTEXP( ADR( c1287 ) );
c1243 = STRINGTOSYMBOL( U_TX( ADR( t1427 ) ) );
CONSTANTEXP( ADR( c1243 ) );
c1215 = EMPTYLIST;
t1428 = STRINGTOSYMBOL( U_TX( ADR( t1429 ) ) );
c1215 = CONS( t1428, c1215 );
c1215 = CONS( t1423, c1215 );
CONSTANTEXP( ADR( c1215 ) );
c1208 = STRINGTOSYMBOL( U_TX( ADR( t1430 ) ) );
CONSTANTEXP( ADR( c1208 ) );
c1131 = EMPTYLIST;
t1431 = STRINGTOSYMBOL( U_TX( ADR( t1432 ) ) );
c1131 = CONS( t1431, c1131 );
c1131 = CONS( t1423, c1131 );
CONSTANTEXP( ADR( c1131 ) );
c1130 = STRINGTOSYMBOL( U_TX( ADR( t1433 ) ) );
CONSTANTEXP( ADR( c1130 ) );
c1111 = STRINGTOSYMBOL( U_TX( ADR( t1434 ) ) );
CONSTANTEXP( ADR( c1111 ) );
c1082 = STRINGTOSYMBOL( U_TX( ADR( t1435 ) ) );
CONSTANTEXP( ADR( c1082 ) );
c1043 = STRINGTOSYMBOL( U_TX( ADR( t1437 ) ) );
CONSTANTEXP( ADR( c1043 ) );
}
DEFTSCP( scqquote_quasiquotation_v );
DEFSTRING( t1438, "QUASIQUOTATION", 14 );
EXTERNTSCPP( scexpand_islist );
EXTERNTSCP( scexpand_islist_v );
EXTERNTSCPP( scqquote_template );
EXTERNTSCP( scqquote_template_v );
EXTERNTSCPP( scrt1__24__cdr_2derror );
EXTERNTSCP( scrt1__24__cdr_2derror_v );
EXTERNTSCPP( scrt1__24__car_2derror );
EXTERNTSCP( scrt1__24__car_2derror_v );
EXTERNTSCPP( scrt6_error );
EXTERNTSCP( scrt6_error_v );
TSCP scqquote_quasiquotation( d1040, e1041 )
TSCP d1040, e1041;
{
TSCP X2, X1;
PUSHSTACKTRACE( U_TX( ADR( t1438 ) ) );
if ( FALSE( scexpand_islist( e1041,
_TSCP( 8 ),
CONS( _TSCP( 8 ), EMPTYLIST ) ) )
) goto L1440;
if ( EQ( TSCPTAG( e1041 ), PAIRTAG ) ) goto L1443;
scrt1__24__cdr_2derror( e1041 );
L1443:
X2 = PAIR_CDR( e1041 );
if ( EQ( TSCPTAG( X2 ), PAIRTAG ) ) goto L1446;
scrt1__24__car_2derror( X2 );
L1446:
X1 = PAIR_CAR( X2 );
POPSTACKTRACE( scqquote_template( d1040, X1 ) );
L1440:
POPSTACKTRACE( scrt6_error( c1043,
c1044,
CONS( e1041, EMPTYLIST ) ) );
}
DEFTSCP( scqquote_template_v );
DEFSTRING( t1448, "SCQQUOTE_TEMPLATE", 17 );
EXTERNTSCPP( scrt2_zero_3f );
EXTERNTSCP( scrt2_zero_3f_v );
EXTERNTSCPP( scrt2__2d_2dtwo );
EXTERNTSCP( scrt2__2d_2dtwo_v );
EXTERNTSCPP( sc_cons );
EXTERNTSCP( sc_cons_v );
EXTERNTSCPP( scqquote_vector_2dtemplate );
EXTERNTSCP( scqquote_vector_2dtemplate_v );
EXTERNTSCPP( scqquote_list_2dtemplate );
EXTERNTSCP( scqquote_list_2dtemplate_v );
TSCP scqquote_template( d1057, e1058 )
TSCP d1057, e1058;
{
TSCP X8, X7, X6, X5, X4, X3, X2, X1;
PUSHSTACKTRACE( U_TX( ADR( t1448 ) ) );
L1449:
if ( NEQ( TSCPTAG( d1057 ), FIXNUMTAG ) ) goto L1451;
if ( NEQ( UNSIGNED( d1057 ),
UNSIGNED( _TSCP( 0 ) ) ) ) goto L1455;
POPSTACKTRACE( e1058 );
L1451:
if ( FALSE( scrt2_zero_3f( d1057 ) ) ) goto L1455;
POPSTACKTRACE( e1058 );
L1455:
X1 = BOOLEAN( EQ( TSCPTAG( e1058 ), PAIRTAG ) );
if ( FALSE( X1 ) ) goto L1488;
if ( EQ( TSCPTAG( e1058 ), PAIRTAG ) ) goto L1465;
scrt1__24__car_2derror( e1058 );
L1465:
X2 = PAIR_CAR( e1058 );
if ( NEQ( UNSIGNED( X2 ), UNSIGNED( c1082 ) ) ) goto L1488;
if ( FALSE( scexpand_islist( e1058,
_TSCP( 8 ),
CONS( _TSCP( 8 ), EMPTYLIST ) ) )
) goto L1467;
if ( NEQ( UNSIGNED( d1057 ),
UNSIGNED( _TSCP( 4 ) ) ) ) goto L1469;
if ( BITAND( BITOR( INT( d1057 ),
INT( _TSCP( 4 ) ) ),
3 ) ) goto L1471;
X2 = _TSCP( IDIFFERENCE( INT( d1057 ),
INT( _TSCP( 4 ) ) ) );
goto L1472;
L1471:
X2 = scrt2__2d_2dtwo( d1057, _TSCP( 4 ) );
L1472:
X3 = PAIR_CDR( e1058 );
if ( EQ( TSCPTAG( X3 ), PAIRTAG ) ) goto L1475;
scrt1__24__car_2derror( X3 );
L1475:
e1058 = PAIR_CAR( X3 );
d1057 = X2;
goto L1449;
L1469:
if ( BITAND( BITOR( INT( d1057 ),
INT( _TSCP( 4 ) ) ),
3 ) ) goto L1477;
X6 = _TSCP( IDIFFERENCE( INT( d1057 ),
INT( _TSCP( 4 ) ) ) );
goto L1478;
L1477:
X6 = scrt2__2d_2dtwo( d1057, _TSCP( 4 ) );
L1478:
X8 = PAIR_CDR( e1058 );
if ( EQ( TSCPTAG( X8 ), PAIRTAG ) ) goto L1481;
scrt1__24__car_2derror( X8 );
L1481:
X7 = PAIR_CAR( X8 );
X5 = scqquote_template( X6, X7 );
X4 = sc_cons( X5, EMPTYLIST );
X3 = sc_cons( c1131, X4 );
X2 = sc_cons( c1130, X3 );
POPSTACKTRACE( X2 );
L1467:
X3 = PAIR_CDR( e1058 );
if ( EQ( TSCPTAG( X3 ), PAIRTAG ) ) goto L1486;
scrt1__24__car_2derror( X3 );
L1486:
POPSTACKTRACE( scrt6_error( c1082,
c1044,
CONS( PAIR_CAR( X3 ),
EMPTYLIST ) ) );
L1488:
if ( NOT( AND( EQ( TSCPTAG( e1058 ), EXTENDEDTAG ),
EQ( TSCP_EXTENDEDTAG( e1058 ), VECTORTAG ) ) )
) goto L1489;
POPSTACKTRACE( scqquote_vector_2dtemplate( d1057, e1058 ) );
L1489:
if ( NEQ( TSCPTAG( e1058 ), PAIRTAG ) ) goto L1491;
POPSTACKTRACE( scqquote_list_2dtemplate( d1057, e1058 ) );
L1491:
if ( EQ( TSCPIMMEDIATETAG( e1058 ), CHARACTERTAG ) ) goto L1493;
if ( EQ( TSCPTAG( e1058 ), FIXNUMTAG ) ) goto L1495;
if ( AND( EQ( TSCPTAG( e1058 ), EXTENDEDTAG ),
EQ( TSCP_EXTENDEDTAG( e1058 ), FLOATTAG ) )
) goto L1497;
if ( AND( EQ( TSCPTAG( e1058 ), EXTENDEDTAG ),
EQ( TSCP_EXTENDEDTAG( e1058 ), STRINGTAG ) )
) goto L1499;
X2 = sc_cons( e1058, EMPTYLIST );
X1 = sc_cons( c1111, X2 );
POPSTACKTRACE( X1 );
L1499:
POPSTACKTRACE( e1058 );
L1497:
POPSTACKTRACE( e1058 );
L1495:
POPSTACKTRACE( e1058 );
L1493:
POPSTACKTRACE( e1058 );
}
DEFTSCP( scqquote_list_2dtemplate_v );
DEFSTRING( t1502, "SCQQUOTE_LIST-TEMPLATE", 22 );
EXTERNTSCPP( scrt1_caadr );
EXTERNTSCP( scrt1_caadr_v );
EXTERNTSCPP( scrt2__2b_2dtwo );
EXTERNTSCP( scrt2__2b_2dtwo_v );
EXTERNTSCPP( scqquote_ice_2dlist_4877f2f4 );
EXTERNTSCP( scqquote_ice_2dlist_4877f2f4_v );
TSCP scqquote_list_2dtemplate( d1165, e1166 )
TSCP d1165, e1166;
{
TSCP X5, X4, X3, X2, X1;
PUSHSTACKTRACE( U_TX( ADR( t1502 ) ) );
X1 = scexpand_islist( e1166,
_TSCP( 8 ),
CONS( _TSCP( 8 ), EMPTYLIST ) );
if ( FALSE( X1 ) ) goto L1529;
if ( EQ( TSCPTAG( e1166 ), PAIRTAG ) ) goto L1512;
scrt1__24__car_2derror( e1166 );
L1512:
X2 = PAIR_CAR( e1166 );
if ( NEQ( UNSIGNED( X2 ), UNSIGNED( c1111 ) ) ) goto L1529;
X3 = PAIR_CDR( e1166 );
if ( EQ( TSCPTAG( X3 ), PAIRTAG ) ) goto L1519;
scrt1__24__car_2derror( X3 );
L1519:
X2 = PAIR_CAR( X3 );
if ( NEQ( TSCPTAG( X2 ), PAIRTAG ) ) goto L1529;
X2 = scrt1_caadr( e1166 );
if ( NEQ( UNSIGNED( X2 ), UNSIGNED( c1043 ) ) ) goto L1529;
X3 = PAIR_CDR( e1166 );
if ( EQ( TSCPTAG( X3 ), PAIRTAG ) ) goto L1525;
scrt1__24__car_2derror( X3 );
L1525:
X2 = PAIR_CAR( X3 );
POPSTACKTRACE( scqquote_quasiquotation( d1165, X2 ) );
L1529:
if ( EQ( TSCPTAG( e1166 ), PAIRTAG ) ) goto L1533;
scrt1__24__car_2derror( e1166 );
L1533:
X1 = PAIR_CAR( e1166 );
if ( NEQ( UNSIGNED( X1 ), UNSIGNED( c1043 ) ) ) goto L1530;
if ( NEQ( UNSIGNED( d1165 ),
UNSIGNED( _TSCP( 0 ) ) ) ) goto L1535;
if ( BITAND( BITOR( INT( d1165 ),
INT( _TSCP( 4 ) ) ),
3 ) ) goto L1537;
X1 = _TSCP( IPLUS( INT( d1165 ), INT( _TSCP( 4 ) ) ) );
goto L1538;
L1537:
X1 = scrt2__2b_2dtwo( d1165, _TSCP( 4 ) );
L1538:
POPSTACKTRACE( scqquote_quasiquotation( X1, e1166 ) );
L1535:
if ( BITAND( BITOR( INT( d1165 ),
INT( _TSCP( 4 ) ) ),
3 ) ) goto L1539;
X5 = _TSCP( IPLUS( INT( d1165 ), INT( _TSCP( 4 ) ) ) );
goto L1540;
L1539:
X5 = scrt2__2b_2dtwo( d1165, _TSCP( 4 ) );
L1540:
X4 = scqquote_quasiquotation( X5, e1166 );
X3 = sc_cons( X4, EMPTYLIST );
X2 = sc_cons( c1215, X3 );
X1 = sc_cons( c1130, X2 );
POPSTACKTRACE( X1 );
L1530:
X1 = scqquote_ice_2dlist_4877f2f4( d1165, e1166 );
POPSTACKTRACE( sc_cons( c1208, X1 ) );
}
DEFTSCP( scqquote_vector_2dtemplate_v );
DEFSTRING( t1542, "SCQQUOTE_VECTOR-TEMPLATE", 24 );
EXTERNTSCPP( scrt4_vector_2d_3elist );
EXTERNTSCP( scrt4_vector_2d_3elist_v );
TSCP scqquote_vector_2dtemplate( d1239, e1240 )
TSCP d1239, e1240;
{
TSCP X5, X4, X3, X2, X1;
PUSHSTACKTRACE( U_TX( ADR( t1542 ) ) );
X5 = scrt4_vector_2d_3elist( e1240 );
X4 = scqquote_ice_2dlist_4877f2f4( d1239, X5 );
X3 = sc_cons( c1208, X4 );
X2 = sc_cons( X3, EMPTYLIST );
X1 = sc_cons( c1243, X2 );
POPSTACKTRACE( X1 );
}
DEFTSCP( scqquote_ice_2dlist_4877f2f4_v );
DEFSTRING( t1545, "SCQQUOTE_TEMPLATE-OR-SPLICE-LIST", 32 );
EXTERNTSCPP( scqquote_r_2dsplice_d5e960a1 );
EXTERNTSCP( scqquote_r_2dsplice_d5e960a1_v );
TSCP scqquote_ice_2dlist_4877f2f4( d1245, e1246 )
TSCP d1245, e1246;
{
TSCP X10,
X9,
X8, X7, X6, X5, X4, X3, X2, X1;
PUSHSTACKTRACE( U_TX( ADR( t1545 ) ) );
if ( EQ( UNSIGNED( e1246 ), UNSIGNED( EMPTYLIST ) ) ) goto L1547;
if ( NEQ( TSCPTAG( e1246 ), PAIRTAG ) ) goto L1549;
X1 = PAIR_CAR( e1246 );
if ( NEQ( UNSIGNED( X1 ), UNSIGNED( c1082 ) ) ) goto L1551;
X2 = scqquote_template( d1245, e1246 );
X1 = sc_cons( X2, EMPTYLIST );
POPSTACKTRACE( X1 );
L1551:
X2 = PAIR_CAR( e1246 );
X1 = BOOLEAN( EQ( TSCPTAG( X2 ), PAIRTAG ) );
if ( FALSE( X1 ) ) goto L1570;
X3 = PAIR_CAR( e1246 );
if ( EQ( TSCPTAG( X3 ), PAIRTAG ) ) goto L1564;
scrt1__24__car_2derror( X3 );
L1564:
X2 = PAIR_CAR( X3 );
if ( NEQ( UNSIGNED( X2 ), UNSIGNED( c1287 ) ) ) goto L1570;
X7 = PAIR_CAR( e1246 );
X6 = scqquote_r_2dsplice_d5e960a1( d1245, X7 );
X10 = PAIR_CDR( e1246 );
X9 = scqquote_ice_2dlist_4877f2f4( d1245, X10 );
X8 = sc_cons( c1208, X9 );
X7 = sc_cons( X8, EMPTYLIST );
X5 = sc_cons( X6, X7 );
X4 = sc_cons( c1300, X5 );
X3 = X4;
X2 = sc_cons( X3, EMPTYLIST );
POPSTACKTRACE( X2 );
L1549:
X2 = scqquote_r_2dsplice_d5e960a1( d1245, e1246 );
X1 = sc_cons( X2, EMPTYLIST );
POPSTACKTRACE( X1 );
L1547:
POPSTACKTRACE( c1311 );
L1570:
X2 = PAIR_CAR( e1246 );
X1 = scqquote_r_2dsplice_d5e960a1( d1245, X2 );
X3 = PAIR_CDR( e1246 );
X2 = scqquote_ice_2dlist_4877f2f4( d1245, X3 );
POPSTACKTRACE( sc_cons( X1, X2 ) );
}
DEFTSCP( scqquote_r_2dsplice_d5e960a1_v );
DEFSTRING( t1574, "SCQQUOTE_TEMPLATE-OR-SPLICE", 27 );
TSCP scqquote_r_2dsplice_d5e960a1( d1313, e1314 )
TSCP d1313, e1314;
{
TSCP X11,
X10,
X9,
X8, X7, X6, X5, X4, X3, X2, X1;
PUSHSTACKTRACE( U_TX( ADR( t1574 ) ) );
X1 = BOOLEAN( EQ( TSCPTAG( e1314 ), PAIRTAG ) );
if ( FALSE( X1 ) ) goto L1603;
if ( EQ( TSCPTAG( e1314 ), PAIRTAG ) ) goto L1583;
scrt1__24__car_2derror( e1314 );
L1583:
X2 = PAIR_CAR( e1314 );
if ( NEQ( UNSIGNED( X2 ), UNSIGNED( c1287 ) ) ) goto L1603;
if ( FALSE( scexpand_islist( e1314,
_TSCP( 8 ),
CONS( _TSCP( 8 ), EMPTYLIST ) ) )
) goto L1585;
if ( NEQ( UNSIGNED( d1313 ),
UNSIGNED( _TSCP( 4 ) ) ) ) goto L1587;
if ( BITAND( BITOR( INT( d1313 ),
INT( _TSCP( 4 ) ) ),
3 ) ) goto L1589;
X2 = _TSCP( IDIFFERENCE( INT( d1313 ),
INT( _TSCP( 4 ) ) ) );
goto L1590;
L1589:
X2 = scrt2__2d_2dtwo( d1313, _TSCP( 4 ) );
L1590:
X4 = PAIR_CDR( e1314 );
if ( EQ( TSCPTAG( X4 ), PAIRTAG ) ) goto L1593;
scrt1__24__car_2derror( X4 );
L1593:
X3 = PAIR_CAR( X4 );
POPSTACKTRACE( scqquote_template( X2, X3 ) );
L1587:
if ( BITAND( BITOR( INT( d1313 ),
INT( _TSCP( 4 ) ) ),
3 ) ) goto L1595;
X9 = _TSCP( IDIFFERENCE( INT( d1313 ),
INT( _TSCP( 4 ) ) ) );
goto L1596;
L1595:
X9 = scrt2__2d_2dtwo( d1313, _TSCP( 4 ) );
L1596:
X11 = PAIR_CDR( e1314 );
if ( EQ( TSCPTAG( X11 ), PAIRTAG ) ) goto L1599;
scrt1__24__car_2derror( X11 );
L1599:
X10 = PAIR_CAR( X11 );
X8 = scqquote_template( X9, X10 );
X7 = sc_cons( X8, EMPTYLIST );
X6 = sc_cons( c1335, X7 );
X5 = sc_cons( c1130, X6 );
X4 = X5;
X3 = sc_cons( X4, EMPTYLIST );
X2 = sc_cons( c1130, X3 );
POPSTACKTRACE( X2 );
L1585:
POPSTACKTRACE( scrt6_error( c1287,
c1044,
CONS( e1314, EMPTYLIST ) ) );
L1603:
POPSTACKTRACE( scqquote_template( d1313, e1314 ) );
}
EXTERNTSCPP( scexpand_install_2dexpander );
EXTERNTSCP( scexpand_install_2dexpander_v );
DEFSTRING( t1604, "scqquote_l1368 [inside TOP-LEVEL]", 33 );
TSCP scqquote_l1368( x1369, e1370 )
TSCP x1369, e1370;
{
TSCP X2, X1;
PUSHSTACKTRACE( U_TX( ADR( t1604 ) ) );
X2 = scqquote_quasiquotation( _TSCP( 4 ), x1369 );
X1 = e1370;
X1 = UNKNOWNCALL( X1, 2 );
POPSTACKTRACE( VIA( PROCEDURE_CODE( X1 ) )( X2,
e1370,
PROCEDURE_CLOSURE( X1 ) ) );
}
static void init_modules( compiler_version )
char *compiler_version;
{
scrt4__init();
scrt2__init();
scrt6__init();
scrt1__init();
scexpand__init();
MAXDISPLAY( 0 );
}
void scqquote__init()
{
TSCP X1;
static int init = 0;
if (init) return;
init = 1;
INITHEAP( 0, 0, 0, 0 );
init_constants();
init_modules( "(scqquote SCHEME->C COMPILER 28sep90jfb)" );
INITIALIZEVAR( U_TX( ADR( t1438 ) ),
ADR( scqquote_quasiquotation_v ),
MAKEPROCEDURE( 2,
0,
scqquote_quasiquotation,
EMPTYLIST ) );
INITIALIZEVAR( U_TX( ADR( t1448 ) ),
ADR( scqquote_template_v ),
MAKEPROCEDURE( 2,
0,
scqquote_template, EMPTYLIST ) );
INITIALIZEVAR( U_TX( ADR( t1502 ) ),
ADR( scqquote_list_2dtemplate_v ),
MAKEPROCEDURE( 2,
0,
scqquote_list_2dtemplate,
EMPTYLIST ) );
INITIALIZEVAR( U_TX( ADR( t1542 ) ),
ADR( scqquote_vector_2dtemplate_v ),
MAKEPROCEDURE( 2,
0,
scqquote_vector_2dtemplate,
EMPTYLIST ) );
INITIALIZEVAR( U_TX( ADR( t1545 ) ),
ADR( scqquote_ice_2dlist_4877f2f4_v ),
MAKEPROCEDURE( 2,
0,
scqquote_ice_2dlist_4877f2f4,
EMPTYLIST ) );
INITIALIZEVAR( U_TX( ADR( t1574 ) ),
ADR( scqquote_r_2dsplice_d5e960a1_v ),
MAKEPROCEDURE( 2,
0,
scqquote_r_2dsplice_d5e960a1,
EMPTYLIST ) );
X1 = MAKEPROCEDURE( 2, 0, scqquote_l1368, EMPTYLIST );
scexpand_install_2dexpander( c1043, X1 );
return;
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.