This is plist.c in view mode; [Download] [Up]
/* SCHEME->C */ #include <objects.h> DEFSTRING( t1130, "*OBARRAY*", 9 ); DEFSTATICTSCP( _2aobarray_2a_v ); DEFSTRING( t1131, "VECTOR-LENGTH", 13 ); DEFSTATICTSCP( c1124 ); DEFSTRING( t1132, "Index is not in bounds: ~s", 26 ); DEFSTATICTSCP2( c1105, t1132 ); DEFSTRING( t1133, "Argument is not an INTEGER: ~s", 30 ); DEFSTATICTSCP2( c1101, t1133 ); DEFSTRING( t1134, "Argument is not a VECTOR: ~s", 28 ); DEFSTATICTSCP2( c1098, t1134 ); DEFSTRING( t1135, "VECTOR-REF", 10 ); DEFSTATICTSCP( c1097 ); DEFSTRING( t1136, "Argument not a PAIR: ~s", 23 ); DEFSTATICTSCP2( c1030, t1136 ); DEFSTRING( t1137, "SET-CDR!", 8 ); DEFSTATICTSCP( c1029 ); DEFSTRING( t1138, "SCC", 3 ); DEFSTATICTSCP( c1013 ); static void init_constants() { _2aobarray_2a_v = STRINGTOSYMBOL( U_TX( ADR( t1130 ) ) ); CONSTANTEXP( ADR( _2aobarray_2a_v ) ); c1124 = STRINGTOSYMBOL( U_TX( ADR( t1131 ) ) ); CONSTANTEXP( ADR( c1124 ) ); c1097 = STRINGTOSYMBOL( U_TX( ADR( t1135 ) ) ); CONSTANTEXP( ADR( c1097 ) ); c1029 = STRINGTOSYMBOL( U_TX( ADR( t1137 ) ) ); CONSTANTEXP( ADR( c1029 ) ); c1013 = STRINGTOSYMBOL( U_TX( ADR( t1138 ) ) ); CONSTANTEXP( ADR( c1013 ) ); } DEFTSCP( plist_get_v ); DEFSTRING( t1139, "GET", 3 ); EXTERNTSCPP( scrt1_assq ); EXTERNTSCP( scrt1_assq_v ); EXTERNTSCPP( scrt2_getprop ); EXTERNTSCP( scrt2_getprop_v ); EXTERNTSCPP( scrt1__24__cdr_2derror ); EXTERNTSCP( scrt1__24__cdr_2derror_v ); TSCP plist_get( i1002, k1003 ) TSCP i1002, k1003; { TSCP X3, X2, X1; PUSHSTACKTRACE( U_TX( ADR( t1139 ) ) ); X3 = scrt2_getprop( i1002, c1013 ); if ( FALSE( X3 ) ) goto L1142; X2 = X3; goto L1143; L1142: X2 = EMPTYLIST; L1143: X1 = scrt1_assq( k1003, X2 ); if ( FALSE( X1 ) ) goto L1145; if ( EQ( TSCPTAG( X1 ), PAIRTAG ) ) goto L1148; scrt1__24__cdr_2derror( X1 ); L1148: POPSTACKTRACE( PAIR_CDR( X1 ) ); L1145: POPSTACKTRACE( EMPTYLIST ); } DEFTSCP( plist_put_v ); DEFSTRING( t1150, "PUT", 3 ); EXTERNTSCPP( scrt6_error ); EXTERNTSCP( scrt6_error_v ); EXTERNTSCPP( scrt2_putprop ); EXTERNTSCP( scrt2_putprop_v ); EXTERNTSCPP( sc_cons ); EXTERNTSCP( sc_cons_v ); TSCP plist_put( i1017, k1018, v1019 ) TSCP i1017, k1018, v1019; { TSCP X4, X3, X2, X1; PUSHSTACKTRACE( U_TX( ADR( t1150 ) ) ); X2 = scrt2_getprop( i1017, c1013 ); if ( FALSE( X2 ) ) goto L1153; X1 = X2; goto L1154; L1153: X1 = EMPTYLIST; L1154: X2 = scrt1_assq( k1018, X1 ); if ( FALSE( X2 ) ) goto L1157; if ( EQ( TSCPTAG( X2 ), PAIRTAG ) ) goto L1160; scrt6_error( c1029, c1030, CONS( X2, EMPTYLIST ) ); L1160: SETGEN( PAIR_CDR( X2 ), v1019 ); goto L1158; L1157: X4 = sc_cons( k1018, v1019 ); X3 = sc_cons( X4, X1 ); scrt2_putprop( i1017, c1013, X3 ); L1158: POPSTACKTRACE( v1019 ); } DEFTSCP( plist_copy_2dplist_v ); DEFSTRING( t1162, "COPY-PLIST", 10 ); EXTERNTSCPP( scrt2__2d_2dtwo ); EXTERNTSCP( scrt2__2d_2dtwo_v ); EXTERNTSCPP( scrt2__3d_2dtwo ); EXTERNTSCP( scrt2__3d_2dtwo_v ); EXTERNTSCPP( scrt1__24__car_2derror ); EXTERNTSCP( scrt1__24__car_2derror_v ); DEFSTRING( t1199, "LOOP [inside COPY-PLIST]", 24 ); EXTERNTSCPP( plist_l1079 ); TSCP plist_l1079( v1081 ) TSCP v1081; { TSCP X3, X2, X1; PUSHSTACKTRACE( U_TX( ADR( t1199 ) ) ); if ( NEQ( TSCPTAG( v1081 ), PAIRTAG ) ) goto L1201; X2 = PAIR_CAR( v1081 ); X1 = plist_l1079( X2 ); X3 = PAIR_CDR( v1081 ); X2 = plist_l1079( X3 ); POPSTACKTRACE( sc_cons( X1, X2 ) ); L1201: POPSTACKTRACE( v1081 ); } TSCP plist_copy_2dplist( s1037, d1038 ) TSCP s1037, d1038; { TSCP X6, X5, X4, X3, X2, X1; PUSHSTACKTRACE( U_TX( ADR( t1162 ) ) ); X3 = SYMBOL_VALUE( _2aobarray_2a_v ); if ( AND( EQ( TSCPTAG( X3 ), EXTENDEDTAG ), EQ( TSCP_EXTENDEDTAG( X3 ), VECTORTAG ) ) ) goto L1166; scrt6_error( c1124, c1098, CONS( X3, EMPTYLIST ) ); L1166: X2 = C_FIXED( VECTOR_LENGTH( X3 ) ); if ( BITAND( BITOR( INT( X2 ), INT( _TSCP( 4 ) ) ), 3 ) ) goto L1169; X1 = _TSCP( IDIFFERENCE( INT( X2 ), INT( _TSCP( 4 ) ) ) ); goto L1170; L1169: X1 = scrt2__2d_2dtwo( X2, _TSCP( 4 ) ); L1170: if ( BITAND( BITOR( INT( X1 ), INT( _TSCP( -4 ) ) ), 3 ) ) goto L1173; if ( NEQ( UNSIGNED( X1 ), UNSIGNED( _TSCP( -4 ) ) ) ) goto L1177; POPSTACKTRACE( FALSEVALUE ); L1173: if ( FALSE( scrt2__3d_2dtwo( X1, _TSCP( -4 ) ) ) ) goto L1177; POPSTACKTRACE( FALSEVALUE ); L1177: X3 = SYMBOL_VALUE( _2aobarray_2a_v ); if ( AND( EQ( TSCPTAG( X3 ), EXTENDEDTAG ), EQ( TSCP_EXTENDEDTAG( X3 ), VECTORTAG ) ) ) goto L1182; scrt6_error( c1097, c1098, CONS( X3, EMPTYLIST ) ); L1182: if ( EQ( TSCPTAG( X1 ), FIXNUMTAG ) ) goto L1184; scrt6_error( c1097, c1101, CONS( X1, EMPTYLIST ) ); L1184: if ( LT( UNSIGNED( FIXED_C( X1 ) ), UNSIGNED( VECTOR_LENGTH( X3 ) ) ) ) goto L1186; scrt6_error( c1097, c1105, CONS( X1, EMPTYLIST ) ); L1186: X2 = VECTOR_ELEMENT( X3, X1 ); X3 = X2; L1190: if ( EQ( UNSIGNED( X3 ), UNSIGNED( EMPTYLIST ) ) ) goto L1191; if ( EQ( TSCPTAG( X3 ), PAIRTAG ) ) goto L1195; scrt1__24__car_2derror( X3 ); L1195: X4 = PAIR_CAR( X3 ); X6 = scrt2_getprop( X4, s1037 ); X5 = plist_l1079( X6 ); scrt2_putprop( X4, d1038, X5 ); X3 = PAIR_CDR( X3 ); goto L1190; L1191: if ( BITAND( BITOR( INT( X1 ), INT( _TSCP( 4 ) ) ), 3 ) ) goto L1206; X1 = _TSCP( IDIFFERENCE( INT( X1 ), INT( _TSCP( 4 ) ) ) ); goto L1170; L1206: X1 = scrt2__2d_2dtwo( X1, _TSCP( 4 ) ); goto L1170; } static void init_modules( compiler_version ) char *compiler_version; { scrt6__init(); scrt2__init(); scrt1__init(); MAXDISPLAY( 0 ); } void plist__init() { static int init = 0; if (init) return; init = 1; INITHEAP( 0, 0, 0, 0 ); init_constants(); init_modules( "(plist SCHEME->C COMPILER 28sep90jfb)" ); INITIALIZEVAR( U_TX( ADR( t1139 ) ), ADR( plist_get_v ), MAKEPROCEDURE( 2, 0, plist_get, EMPTYLIST ) ); INITIALIZEVAR( U_TX( ADR( t1150 ) ), ADR( plist_put_v ), MAKEPROCEDURE( 3, 0, plist_put, EMPTYLIST ) ); INITIALIZEVAR( U_TX( ADR( t1162 ) ), ADR( plist_copy_2dplist_v ), MAKEPROCEDURE( 2, 0, plist_copy_2dplist, EMPTYLIST ) ); return; }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.