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.