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.